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 :

Logs authentification

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