Installation et configuration de Fail2ban (CentOS 7.2)
Fail2ban permet de bloquer automatiquement et pour une durée déterminée un hôte via firewalld en analysant les fichiers de logs. Le package Fail2ban n’étant pas disponible dans les dépôts CentOS, il faut installer les dépots EPEL. Pour cela vous pouvez suivre la documentation disponible ici.
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 50) :
|
|
La configuration par défaut de Fail2ban indique qu’un hôte sera bloqué pendant 10 minutes s’il génère 5 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 59)
- Durée d’essai : findtime (ligne 63)
- Nombre de tentative : maxretry (ligne 66)
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 130) :
|
|
Le serveur d’envoi des mails configuré dans Fail2ban est sendmail. Si vous souhaitez utiliser Postfix, il faut modifier la valeur de la variable « mta » comme ci-dessous (ligne 138) :
|
|
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 démarrer le service, 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 :
|
|