Update : global
All checks were successful
Deployment Verification / deploy-and-test (push) Successful in 2m1s

This commit is contained in:
Hubert Cornet 2025-04-27 11:10:26 +02:00
parent ecdf93e011
commit b39e4b49c1
10 changed files with 120 additions and 43 deletions

107
README.md
View File

@ -3,78 +3,145 @@
Depuis un terminal, faire un copié/collé du code ci-dessous Depuis un terminal, faire un copié/collé du code ci-dessous
```shell ```shell
apt update sudo apt update
sudo apt install -y git
apt install -y git
git clone https://gitea.tips-of-mine.com/hcornet/Hardening-Linux-Debian-Ubuntu.git git clone https://gitea.tips-of-mine.com/hcornet/Hardening-Linux-Debian-Ubuntu.git
``` ```
# 2. Installation # 2. Installation
Depuis un terminal, faire un copié/collé du code ci-dessous Depuis un terminal, faire un copié/collé du code ci-dessous
```shell ```shell
cd Hardening-Linux-Debian-Ubuntu/ cd Hardening-Linux-Debian-Ubuntu/
chmod +x * -R chmod +x * -R
sudo ./main.sh sudo ./main.sh
``` ```
## package_management.sh ## package_management.sh
Configuration du SSH sur la VM Mise en place de la configuration **proxy**, puis lancement de l'update.
Et rajout de l'interface motd Ainsi que l'installation des quelque package supplémentaire.
S'il y a un paramétrage pour le proxy, il faut être saisie dans le fichier : **custom_proxy**
```
# variables
HTTP_PROXY="serveur-proxy.tips-of-mine.local"
HTTPS_PROXY="serveur-proxy.tips-of-mine.local"
FTP_PROXY="serveur-proxy.tips-of-mine.local"
```
## ssh_hardening.sh ## ssh_hardening.sh
Mise en place de la configuration proxy, puis lancement de l'update Mise en place de la **ssh**.
## firewall.s S'il y a un paramétrage pour rajouter des clé ssh, il faut être saisie dans le fichier : **custom_key**
Installation de l'agent Cortex ```
# Variable
ssh-rsa AAAAB3NzaC1yc2EAAAADAQA
```
## firewall.sh
Mise en place de la configuration **firewall** local.
## fail2ban.sh ## fail2ban.sh
Installation de l'agent GLPI Mise en place de la configuration pour le **fail2ban**.
## auditing.sh ## auditing.sh
Installation de l'agent ManageEngine Mise en place de la configuration pour l'**audit**.
## dns_config.sh ## dns_config.sh
Installation du service SNMP avec la configuration Mise en place de la configuration pour le **dns**.
S'il y a un paramétrage pour rajouter des serveurs DNS, il faut être saisie dans le fichier : **custom_dns**
```
# Variable
```
## ntp.sh ## ntp.sh
Installation du paramétrage DNS Mise en place de la configuration pour le **NTP**.
## auto_updates.sh ## auto_updates.sh
Installation du paramétrage nrpe Mise en place de la configuration pour l'**auto update**.
## antivirus.sh ## antivirus.sh
Installation du Firewall + paramétrage Mise en place de la configuration pour l'**antivirus**.
## custom_prompt.sh ## custom_prompt.sh
Installation du Faild2Ban + paramétrage Mise en place de la configuration pour le **prompt de connexion**.
## glpi_agent.sh ## glpi_agent.sh
Mise en place de la configuration pour l'**agent GLPI**.
Il y a un paramétrage à modifier, il faut être saisie dans le fichier : **custom_glpi**
```
# variables
GLPI_SERVER="glpi.tips-of-mine.fr"
GLPI_TAG="SecuredServer"
```
## wazuh_agent.sh ## wazuh_agent.sh
Mise en place de la configuration pour l'**agent Wazuh**.
Il y a un paramétrage à modifier, il faut être saisie dans le fichier : **custom_wazuh**
```
# variables
WAZUH_MANAGER="10.0.4.100"
```
## monitoring.sh ## monitoring.sh
Mise en place de la configuration pour le **SNMP** et **NRPE**.
Il y a un paramétrage à modifier, il faut être saisie dans le fichier : **custom_snmp**
```
# variables
SNMP_SYSLOCATION="Server Room"
SNMP_SYSCONTACT="admin@tips-of-mine.fr"
SNMP_SYSNAME="$(hostname)"
SNMP_SYSDESCR="Linux $(uname -r) on $(uname -m)"
SNMP_AGENTADDRESS="10.0.4.190,10.0.4.191"
```
Il y a un paramétrage à modifier, il faut être saisie dans le fichier : **custom_monitoring**
```
# variables
NAGIOS_SERVER_IP="10.0.4.190,10.0.4.191"
```
## additional_hardening.sh ## additional_hardening.sh
# 3. Update Mise en place de la configuration .
# 3. Update des sources
Depuis un terminal, Aller dans le dossier. Depuis un terminal, Aller dans le dossier.
```shell ```shell
cd ./prerequis-install-deb/ cd Hardening-Linux-Debian-Ubuntu/
``` ```
Faire un copié/collé du code ci-dessous Faire un copié/collé du code ci-dessous

View File

@ -1 +1 @@
# # Variables

View File

@ -1,2 +1,2 @@
# # Variable
ssh-rsa AAAAB3NzaC1yc2EAAAADAQA ssh-rsa AAAAB3NzaC1yc2EAAAADAQA

View File

@ -1 +1,3 @@
# # variables
NAGIOS_SERVER_IP="10.0.4.190,10.0.4.191"

5
custom/custom_proxy Normal file
View File

@ -0,0 +1,5 @@
# variables
HTTP_PROXY="serveur-proxy.tips-of-mine.local"
HTTPS_PROXY="serveur-proxy.tips-of-mine.local"
FTP_PROXY="serveur-proxy.tips-of-mine.local"

View File

@ -4,4 +4,4 @@ SNMP_SYSLOCATION="Server Room"
SNMP_SYSCONTACT="admin@tips-of-mine.fr" SNMP_SYSCONTACT="admin@tips-of-mine.fr"
SNMP_SYSNAME="$(hostname)" SNMP_SYSNAME="$(hostname)"
SNMP_SYSDESCR="Linux $(uname -r) on $(uname -m)" SNMP_SYSDESCR="Linux $(uname -r) on $(uname -m)"
$SNMP_AGENTADDRESS="10.0.4.190,10.0.4.191" SNMP_AGENTADDRESS="10.0.4.190,10.0.4.191"

View File

@ -1,3 +1,3 @@
# variables # variables
WAZUH_MANAGER="YOUR_WAZUH_MANAGER_IP" WAZUH_MANAGER="10.0.4.100"

View File

@ -9,6 +9,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Source common functions and variables # Source common functions and variables
source "./common.sh" source "./common.sh"
source "./custom/custom_snmp" source "./custom/custom_snmp"
source "./custom/custom_monitoring"
# Function to configure SNMP # Function to configure SNMP
configure_snmp() { configure_snmp() {
@ -173,7 +174,7 @@ server_port=5666
server_address=0.0.0.0 server_address=0.0.0.0
# Allow connections from these monitoring servers (replace with your Nagios server IP) # Allow connections from these monitoring servers (replace with your Nagios server IP)
allowed_hosts=127.0.0.1,NAGIOS_SERVER_IP allowed_hosts=127.0.0.1,$NAGIOS_SERVER_IP
# Connection restrictions # Connection restrictions
dont_blame_nrpe=0 dont_blame_nrpe=0

View File

@ -8,15 +8,16 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# Source common functions and variables # Source common functions and variables
source "./common.sh" source "./common.sh"
source "./custom/custom_proxy"
# Function to configure APT with proxy settings if needed # Function to configure APT with proxy settings if needed
configure_apt_proxy() { configure_apt_proxy() {
local proxy_file="/etc/apt/apt.conf.d/90proxy" local PROXY_FILE="/etc/apt/apt.conf.d/90proxy"
local proxy_doc="/root/apt-proxy-documentation.txt" local PROXY_DOC="/root/apt-proxy-documentation.txt"
log_message "INFO" "Creating APT proxy documentation at $proxy_doc" log_message "INFO" "Creating APT proxy documentation at $PROXY_DOC"
cat > "$proxy_doc" << EOF cat > "$PROXY_DOC" << EOF
# APT Proxy Configuration # APT Proxy Configuration
# To configure APT to use a proxy, edit the file /etc/apt/apt.conf.d/90proxy # To configure APT to use a proxy, edit the file /etc/apt/apt.conf.d/90proxy
# and add one of the following configurations: # and add one of the following configurations:
@ -28,14 +29,15 @@ Acquire::http::Proxy "http://username:password@proxy.example.com:8080/";
Acquire::https::Proxy "http://username:password@proxy.example.com:8080/"; Acquire::https::Proxy "http://username:password@proxy.example.com:8080/";
# For APT to use the system's proxy settings # For APT to use the system's proxy settings
Acquire::http::Proxy "http://${http_proxy}"; Acquire::http::Proxy "http://$HTTP_PROXY";
Acquire::https::Proxy "http://${https_proxy}"; Acquire::https::Proxy "http://$HTTPS_PROXY";
Acquire::ftp::proxy "http://$FTP_PROXY";
# To disable proxy for specific hosts # To disable proxy for specific hosts
Acquire::http::Proxy::hostname.example.com "DIRECT"; Acquire::http::Proxy::hostname.example.com "DIRECT";
EOF EOF
log_message "SUCCESS" "APT proxy documentation created. Edit $proxy_file to configure proxies if needed" log_message "SUCCESS" "APT proxy documentation created. Edit $PROXY_FILE to configure proxies if needed"
} }
# Function to update package lists and upgrade installed packages # Function to update package lists and upgrade installed packages
@ -63,7 +65,7 @@ update_upgrade_packages() {
# Function to install essential security packages # Function to install essential security packages
install_essential_packages() { install_essential_packages() {
local packages=( local PACKAGES=(
"apt-transport-https" "apt-transport-https"
"ca-certificates" "ca-certificates"
"gnupg" "gnupg"
@ -77,18 +79,18 @@ install_essential_packages() {
log_message "INFO" "Installing essential security packages" log_message "INFO" "Installing essential security packages"
for package in "${packages[@]}"; do for PACKAGE in "${PACKAGES[@]}"; do
if ! is_package_installed "$package"; then if ! is_package_installed "$PACKAGE"; then
log_message "INFO" "Installing $package" log_message "INFO" "Installing $PACKAGE"
apt-get install -y "$package" apt-get install -y "$PACKAGE"
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
log_message "SUCCESS" "Installed $package successfully" log_message "SUCCESS" "Installed $PACKAGE successfully"
else else
log_message "ERROR" "Failed to install $package" log_message "ERROR" "Failed to install $PACKAGE"
fi fi
else else
log_message "INFO" "$package is already installed" log_message "INFO" "$PACKAGE is already installed"
fi fi
done done
} }

View File

@ -71,10 +71,10 @@ To update the Wazuh manager IP address, edit the following file:
$wazuh_conf $wazuh_conf
And change the <address> tag to point to your Wazuh manager: And change the <address> tag to point to your Wazuh manager:
<address>YOUR_WAZUH_MANAGER_IP</address> <address>$YOUR_WAZUH_MANAGER_IP</address>
Then, register the agent with your Wazuh manager: Then, register the agent with your Wazuh manager:
/var/ossec/bin/agent-auth -m YOUR_WAZUH_MANAGER_IP /var/ossec/bin/agent-auth -m $YOUR_WAZUH_MANAGER_IP
Finally, restart the Wazuh agent: Finally, restart the Wazuh agent:
systemctl restart wazuh-agent systemctl restart wazuh-agent