Renforcement avancé sur les systèmes Linux Debian/Ubuntu

1. Configuration de sécurité de base
1.1. Mise à jour du système
> [!IMPORTANT]
Avant de commencer à renforcer votre système, il est important de vous assurer qu'il est à jour avec les derniers correctifs de sécurité.
bash
sudo apt update && sudo apt full-upgrade -y
1.2. Configuration de la politique de pare-feu
> [!ASTUCE]
La politique de pare-feu est utilisée pour contrôler le trafic réseau entrant et sortant.
bash
sudo ufw activer
1.3. Configuration de l'authentification
> [!AVERTISSEMENT]
L'authentification est cruciale pour empêcher tout accès non autorisé au système.
bash
sudo useradd -m -s /bin/false personne
sudo usermod -aG personne www-data
2. Paramètres de sécurité avancés
2.1. Configuration de la sécurité du noyau
> [!IMPORTANT]
La sécurité du noyau est essentielle pour éviter les attaques 0-day.
bash
sudo nano /etc/sysctl.conf
bash
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.default.secure_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv6.conf.all.secure_redirects = 1
net.ipv6.conf.default.secure_redirects = 1
2.2. Paramètres de sécurité de la mémoire
> [!ASTUCE]
La sécurité de la mémoire est cruciale pour éviter les attaques 0-day.
bash
sudo nano /etc/sysctl.conf
bash
vm.mmap_min_addr = 65536
vm.discard_core = 1
23. Paramètres de sécurité réseau
> [!AVERTISSEMENT]
La sécurité du réseau est essentielle pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/hosts.deny
bash
sshd : TOUS
3. Paramètres de sécurité des applications
3.1. Configuration de la sécurité Apache
> [!IMPORTANT]
La sécurité Apache est cruciale pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/apache2/apache2.conf
bash
<Répertoire />
Options SuivreSymLinks
AllowOverride Aucun
Exiger que tout soit refusé
</Répertoire>
<Répertoire /var/www/>
Options Index FollowSymLinks MultiViews
Autoriser tout remplacer
Exiger que tout soit accordé
</Répertoire>
3.2. Configuration de la sécurité MySQL
> [!ASTUCE]
La sécurité MySQL est essentielle pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bash
adresse de liaison = 127.0.0.1
4. Configuration de la surveillance de la sécurité
4.1. Configuration de la sécurité Syslog
> [!AVERTISSEMENT]
La sécurité Syslog est cruciale pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/syslog.conf
bash
auth,authpriv.*;mail.*;\
news.err;\
*.=débogage;*.=info;\
*.=avis;*.=avertir;\
*.=avertir;*.=err;*.=crit;*.=alerte;*.=emerg /dev/log
4.2. Configuration de la sécurité de l'audit
> [!IMPORTANT]
L’audit de la sécurité est essentiel pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/audit/audit.rules
bash
-w /etc/group -p wa -k identité
-w /etc/passwd -p wa -k identité
-w /etc/gshadow -p wa -k identité
-w /etc/sudoers -p wa -k identité
5. Configuration de la sécurité de sauvegarde
5.1. Configuration de la sécurité des sauvegardes MySQL
> [!ASTUCE]
La sécurité de la sauvegarde MySQL est cruciale pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/mysql/debian-start
bash
mysqldump -u root -p[mot de passe] [base de données] > /var/backups/mysql/$(date +\%Y\%m\%d).sql
5.2. Configuration de la sécurité de sauvegarde Apache
> [!AVERTISSEMENT]
La sécurité d'Apache Backup est essentielle pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/apache2/conf.d/backup.conf
bash
Alias /backup/ /var/backups/apache/
6. Configuration de la sécurité de la surveillance du réseau
6.1. Configuration de la sécurité NTP
> [!IMPORTANT]
La sécurité NTP est cruciale pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/ntp.conf
bash
restreindre par défaut nomodify notrap nopeer noquery
6.2. Configuration de la sécurité SSH
> [!ASTUCE]
La sécurité SSH est essentielle pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/ssh/sshd_config
bash
PermitRootLogin non
7. Paramètres de sécurité de la surveillance des applications
7.1. Configuration de la sécurité Apache
> [!AVERTISSEMENT]
La sécurité Apache est cruciale pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/apache2/apache2.conf
bash
<Répertoire />
Options SuivreSymLinks
AllowOverride Aucun
Exiger que tout soit refusé
</Répertoire>
<Répertoire /var/www/>
Options Index FollowSymLinks MultiViews
Autoriser tout remplacer
Exiger que tout soit accordé
</Répertoire>
7.2. Configuration de la sécurité MySQL
> [!IMPORTANT]
La sécurité MySQL est essentielle pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bash
adresse de liaison = 127.0.0.1
8. Configuration de la sécurité de la surveillance du système
8.1. Configuration de la sécurité Syslog
> [!ASTUCE]
La sécurité Syslog est cruciale pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/syslog.conf
bash
auth,authpriv.*;mail.*;\
news.err;\
*.=débogage;*.=info;\
*.=avis;*.=avertir;\
*.=avertir;*.=err;*.=crit;*.=alerte;*.=emerg /dev/log
8.2. Configuration de la sécurité de l'audit
> [!AVERTISSEMENT]
L’audit de la sécurité est essentiel pour empêcher tout accès non autorisé au système.
bash
sudo nano /etc/audit/audit.rules
bash
-w /etc/group -p wa -k identité
-w /etc/passwd -p wa -k identité
-w /etc/gshadow -p wa -k identité
-w /etc/sudoers -p wa -k identité
La configuration d'une sécurité avancée sur les systèmes Linux Debian/Ubuntu nécessite beaucoup de configuration et de paramètres. Il est important de se rappeler que la sécurité est un processus continu et que des examens réguliers sont nécessaires pour garantir que le système est protégé contre les menaces actuelles et futures.