La sécurisation d'un serveur web est cruciale pour protéger les données sensibles et garantir la disponibilité des services. Voici un guide détaillé pour sécuriser un serveur web sous Linux Debian.
Avant toute chose, assurez-vous que votre système est à jour.
sudo apt update && sudo apt upgrade -y
UFW (Uncomplicated Firewall) est un outil simple pour gérer les règles de pare-feu.
Installer UFW :
sudo apt install ufw -y
Configurer les règles de base :
sudo ufw default deny incoming
sudo ufw default allow outgoing
Autoriser le SSH :
sudo ufw allow ssh
Autoriser le trafic HTTP et HTTPS :
sudo ufw allow http
sudo ufw allow https
Activer UFW :
sudo nano /etc/ssh/sshd_config
# Changez PermitRootLogin en no
PermitRootLogin no
Changer le port SSH : Pour augmenter la sécurité, vous pouvez changer le port SSH par défaut (22).
# Changez la ligne Port 22 à un autre numéro de port, par exemple 2222
Port 2222
Redémarrer le service SSH :
sudo apt install fail2ban -y
Configurer Fail2Ban : Créez un fichier de configuration local pour éviter d'écraser les modifications lors des mises à jour.
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
Redémarrer Fail2Ban :
sudo apt install clamav clamav-daemon -y
Mettre à jour les définitions de virus :
sudo freshclam
Scanner le système :
sudo apt install unattended-upgrades -y
Configurer unattended-upgrades : Éditez le fichier de configuration pour activer les mises à jour automatiques.
sudo apt install certbot python3-certbot-apache -y
Obtenir un certificat SSL :
sudo certbot --apache
Renouveler automatiquement le certificat : Certbot ajoute automatiquement une tâche cron pour renouveler les certificats.
Vous pouvez vérifier la tâche cron :
sudo apt install logwatch -y
Configurer Logwatch pour envoyer des rapports par email : Éditez le fichier de configuration /etc/logwatch/conf/logwatch.conf
et définissez les paramètres pour l'envoi de rapports.
sudo apt install nagios-nrpe-server nagios-plugins -y
Configurer les services à surveiller : Éditez les fichiers de configuration dans /etc/nagios
.
sudo apt install ufw -y
Configurer les règles de base :
sudo ufw default deny incoming
sudo ufw default allow outgoing
Autoriser le SSH :
sudo ufw allow ssh
Autoriser le trafic HTTP et HTTPS :
sudo ufw allow http
sudo ufw allow https
Activer UFW :
sudo nano /etc/ssh/sshd_config
# Changez PermitRootLogin en no
PermitRootLogin no
Changer le port SSH : Pour augmenter la sécurité, vous pouvez changer le port SSH par défaut (22).
# Changez la ligne Port 22 à un autre numéro de port, par exemple 2222
Port 2222
Redémarrer le service SSH :
sudo apt install fail2ban -y
Configurer Fail2Ban : Créez un fichier de configuration local pour éviter d'écraser les modifications lors des mises à jour.
[sshd]
enabled = true
port = 2222
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
Redémarrer Fail2Ban :
sudo apt install clamav clamav-daemon -y
Mettre à jour les définitions de virus :
sudo freshclam
Scanner le système :
sudo apt install unattended-upgrades -y
Configurer unattended-upgrades : Éditez le fichier de configuration pour activer les mises à jour automatiques.
sudo apt install logwatch -y
Configurer Logwatch pour envoyer des rapports par email : Éditez le fichier de configuration /etc/logwatch/conf/logwatch.conf
et définissez les paramètres pour l'envoi de rapports.
sudo ufw enable
Désactiver l'accès root : Éditez le fichier /etc/ssh/sshd_config
et changez la ligne PermitRootLogin
en no
.
sudo systemctl restart ssh
Fail2Ban est un outil qui bannit les adresses IP suspectes.
Installer Fail2Ban :
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Dans ce fichier, configurez les paramètres pour le service SSH et d'autres services si nécessaire.
bash
sudo systemctl restart fail2ban
Installer ClamAV :
sudo clamscan -r /var/www/
Automatiser les mises à jour de sécurité permet de réduire les risques liés aux vulnérabilités.
Installer le paquet unattended-upgrades :
sudo dpkg-reconfigure --priority=low unattended-upgrades
Utiliser HTTPS pour chiffrer les communications entre les utilisateurs et le serveur.
Installer Certbot :
sudo systemctl status certbot.timer
Surveiller régulièrement les logs peut vous aider à détecter des activités suspectes.
Installer Logwatch :
sudo nano /etc/logwatch/conf/logwatch.conf
Installer et configurer une solution de surveillance pour suivre les performances et la sécurité de votre serveur.
Installer Nagios :
sudo nano /etc/nagios/nrpe.cfg
Assurez-vous d'avoir des sauvegardes régulières et sécurisées de vos données.
Configurer rsync pour des sauvegardes automatiques : Créez un script de sauvegarde et planifiez-le avec cron.
sudo nano /usr/local/bin/backup.sh
Exemple de script de sauvegarde avec rsync :
bash
#!/bin/bash
rsync -av --delete /var/www/ /backup/var/www/
Planifiez la tâche cron :
bash
sudo crontab -e
Ajoutez la ligne suivante pour exécuter la sauvegarde tous les jours à 2h du matin :
bash
0 2 * * * /usr/local/bin/backup.sh
En suivant ces étapes, vous pouvez considérablement améliorer la sécurité de votre serveur web Debian. N'oubliez pas de surveiller régulièrement votre système et de rester informé des nouvelles vulnérabilités et meilleures pratiques de sécurité.
La sécurisation d'un serveur web est cruciale pour protéger les données sensibles et garantir la disponibilité des services. Voici un guide détaillé pour sécuriser un serveur web sous Linux Debian.
Avant toute chose, assurez-vous que votre système est à jour.
sudo apt update && sudo apt upgrade -y
UFW (Uncomplicated Firewall) est un outil simple pour gérer les règles de pare-feu.
Installer UFW :
sudo ufw enable
Désactiver l'accès root : Éditez le fichier /etc/ssh/sshd_config
et changez la ligne PermitRootLogin
en no
.
sudo systemctl restart ssh
Fail2Ban est un outil qui bannit les adresses IP suspectes.
Installer Fail2Ban :
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Dans ce fichier, configurez les paramètres pour le service SSH et d'autres services si nécessaire.
bash
sudo systemctl restart fail2ban
Installer ClamAV :
sudo clamscan -r /home
Automatiser les mises à jour de sécurité permet de réduire les risques liés aux vulnérabilités.
Installer le paquet unattended-upgrades :
sudo dpkg-reconfigure --priority=low unattended-upgrades
Surveiller régulièrement les logs peut vous aider à détecter des activités suspectes.
Installer Logwatch :
sudo nano /etc/logwatch/conf/logwatch.conf
Assurez-vous d'avoir des sauvegardes régulières et sécurisées de vos données.
Configurer rsync pour des sauvegardes automatiques : Créez un script de sauvegarde et planifiez-le avec cron.
sudo nano /usr/local/bin/backup.sh
Exemple de script de sauvegarde avec rsync :
bash
#!/bin/bash
rsync -av /var/www/ /backup/var/www/
Planifiez la tâche cron :
bash
sudo crontab -e
Ajoutez la ligne suivante pour exécuter la sauvegarde tous les jours à 2h du matin :
bash
0 2 * * * /usr/local/bin/backup.sh
En suivant ces étapes, vous pouvez considérablement améliorer la sécurité de votre serveur web Debian. N'oubliez pas de surveiller régulièrement votre système et de rester informé des nouvelles vulnérabilités et meilleures pratiques de sécurité.