Installation et configuration de Fail2ban (Debian 8.6)
Fail2ban permet de bloquer automatiquement et pour une durée déterminée un hôte via firewalld en analysant les fichiers de logs.
Installation de Fail2ban
On installe Fail2ban en tapant la commande suivante :
|
|
Fail2ban est fourni avec un fichier de configuration (fail2ban.conf) qui peut-être remplacer lors de futurs mise à jour. Donc nous n’allons pas le modifier, nous allons créer une copie de ce dernier que nous modifierons. Il ne contiendra que les paramètres globaux. Pour cela nous tapons la commande suivante :
|
|
On édite le fichier « jail.local » nouvellement créé via la commande suivante :
|
|
Dans un premier temps nous allons indiquer à Fail2ban les adresses IP à ne pas bloquer. Pour cela on modifie les valeurs de la variable « ignoreip » comme ci-dessous (ligne 21) :
|
|
La configuration par défaut de Fail2ban indique qu’un hôte sera bloqué pendant 10 minutes s’il génère 3 erreurs en l’espace de 10 minutes. Si vous souhaitez modifier ces paramètres, voici la liste des variables :
- Durée de blocage : bantime (ligne 30)
- Durée d’essai : findtime (ligne 34)
- Nombre de tentative : maxretry (ligne 35)
Ces valeurs seront appliquées à l’ensemble des services monitorés sauf indications contraires dans la configuration de chaque service. On indique l’adresse mail qui recevra les mails d’alertes envoyés par Fail2ban comme ci-dessous (ligne 63) :
|
|
Le serveur d’envoi des mails configuré dans Fail2ban est sendmail. Si vous souhaitez utiliser mail, il faut modifier la valeur de la variable « mta » comme ci-dessous (ligne 85) :
|
|
Afin de simplifier l’administrateur, je préfère avoir un fichier de configuration par service. Nous allons désactiver la jail « ssh » dans le fichier « customisation.local ». Pour cela nous modifions la valeur de la variable « enable » comme ci-dessous (ligne 131) :
|
|
Maintenant que nous avons adapter à nos besoins la configuration globale de Fail2ban, nous allons pouvoir configurer une « jail » pour sshd. Pour cela on créer et on édite un fichier « sshd.conf » via la commande suivante :
|
|
On y ajoute les lignes suivantes :
|
|
Maintenant que la jail pour sshd est configurée, nous allons pouvoir paramétrer Fail2ban, pour qu’il se lance au démarrage et on redémarre le service pour prendre en compte les modifications, via les commandes suivantes :
|
|
Voici la commande qui permet de voir les jails configurées et actives suite au lancement de Fail2ban :
|
|
La commande pour voir les informations d’une jail spécifique, ici sshd :
|
|
Et pour finir, la commande permettant de débloquer une ip pour la jail sshd :
|
|