N'hésitez pas à me le signaler si nécessaire via le formulaire de contact.
Votre serveur web, comme toutes les machines connectées à internet et soumis en permanence à des tentatives d’intrusions.
Le votre n’échappe n’y échappe sans doute pas…
Pour le constater il vous suffit de consulter le fichier d’authentification
sudo vim /var/log/auth.log |
En parcourant son contenu de nombreuses lignes comme sur la capture ci-dessous apparaissent :
Ces lignes sont les signes de tentative d’intrusions sur votre serveur, via une connexion ssh.
Ces tentatives sont quasiment impossible à éviter, cependant pour limiter au maximum ces désagréments, il est donc conseillé d’installer un outil tel que Fail2ban.
Celui-ci étudie les logs de votre serveur et vous permet de bloquer les utilisateurs qui tentent d’exploiter les failles de votre serveur.
Sa modularité lui permets de s’adapter à l’ensemble des besoins de sécurité de vos serveur.
Pour l’installer il faut exécuter la commande suivante :
sudo apt-get install fail2ban |
Une fois fail2ban installé, nous pouvons consulter sa configuration située dans le fichier /etc/fail2bn/jail.conf
Mais, afin de pouvoir conserver les paramètres par défaut nous allons copier ce fichier vers un fichier spécifique : jail.local via la commande suivante
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local |
Puis consulter le fichier copié
sudo vim /etc/fail2ban/jail.local |
Dans ce fichier vous trouverez les configurations des services de base sur vos serveurs : ssh, clients ftps, clients mails …
La durée de bannissement (en secondes )est située sur la ligne suivante, par défaut elle est de 600, mais en général je la passe à 86400 (24H)
# "bantime" is the number of seconds that a host is banned. bantime = 86400 |
Par défault, seul le filtrage SSH est actif, pour celui-ci je limite le maximum d’essais à 3 ce qui est largement suffisant
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 3 |
Si vous utiliser un serveur ftp vous pouvez également activer la règle pour votre service ftp approprié : ( vsftp,proftd,pureftpd,wuftp ), pour ma part c’est proftpd
[proftpd] enabled = true port = ftp,ftp-data,ftps,ftps-data filter = proftpd logpath = /var/log/proftpd/proftpd.log maxretry = 3 |
Idem pour activer le filtrage sur le serveur de mail
[postfix] enabled = true port = smtp,ssmtp,submission filter = postfix logpath = /var/log/mail.log |
Une fois l’ensemble de la configuration réalisée, sauvegarder le fichier et relancer fail2ban avec la commande
sudo service fail2ban restart |
Votre serveur est à présent (mieux) protégé des intrusions.
Vous pourrez rapidement consulter les actions de fail2ban en consultant le fichier de log /var/log/fail2ban.log