Fail2ban : le brute force killer ?!Introduction :Fail2ban est un programme qui lit les fichiers log de serveurs de votre machine (apache, ssh,…) pour bannir temporairement les ip de machines qui tentent de se connecter à votre ordinateur. En d’autres termes, celui qui essaye différents mots de passe pour se connecter à votre machine ne pourra pas le faire longtemps (avec la même ip du moins !). Est-ce vraiment utile ? :Partons sur quelque chose de simple : on utilise un mot de passe de 8 caractères ; on utilise uniquement les 26 lettres de l’alphabet (en minuscule) et les 10 chiffres, soit 36 caractères ; ce qui donne au final 36^8 combinaisons possibles (environ 3000 milliards de mots de passe). En sachant que par défaut, Fail2ban bloque une ip pendant 600 secondes (10 minutes) au bout de 3 tentatives infructueuses, on a alors : - si la personne ne change pas d’ip, il lui faudra plus d’1 million d’années Donc, en gros (sauf erreur de ma part), essayer de forcer le mot de passe par brute force sur une machine avec Fail2ban, c’est pas gagner ! À noter que souvent, par défaut, les services font en sorte qu’on ne puisse essayer un mot de passe que toute les 2 ou 3 secondes, ce qui normalement suffit contre le brute force, mais on est jamais trop prudent ! Bon, laissons tomber ce paragraphe qui a essayé d’être une pseudo démonstration de l’intérêt de Fail2ban (en espérant en avoir convaincus certains !) pour passer à son installation. Installation :Coté installation, rien de bien compliqué, le paquet est présent dans les dépôts de la plupart des distributions GNU ; ainsi, il suffira de faire sur Debian/Ubuntu :
Ensuite, vérifier qu’il est bien lancé avec la commande (en root) :
ou
Configuration :Pour ceux qui ne veulent pas se prendre la tête, ils peuvent s’arrêter tout de suite : les réglages par défaut vont très bien ! Pour les autres, les 2 fichiers a modifier sont : –> /etc/fail2ban/fail2ban.conf : Ici, pas grand chose à régler : - loglevel (niveau de détail des logs) : il est par défaut à 3 (info) –> /etc/fail2ban/jail.conf : Plus intéressant, ce fichier contient : - ignoreip : liste des ip que Fail2ban ignore (pratique si on est en ip fixe et que l’on ne se souvient jamais de ses mots de passe !)
Il est de plus conseillé d’enregistrer ces 2 fichiers de configuration sous le nom de fail2ban.local et de jail.local pour qu’ils ne soient pas effacer lors d’une mise à jour du programme ! Voilà, je crois que vous savez tout ! N’hésitez pas à me signaler un éventuel oubli ou erreur en commentaire ! Plus d’infos : |
chaoswizard
ezaeza
11 juillet 2008 à 1:27
Je sais pas ce que vous avez tous en ce moment, on voit fleurir partout des billets sur Fail2Ban et autre logiciel homologues
.
Le tient est par contre très agréable à lire.
Je tiens à appuyer le fait que Fail2Ban fonctionne « Out Of The Box », ce qui est vraiment appréciable quand on a un serveur tout entier à mettre place !
11 juillet 2008 à 9:38
Article très intéressant !
Je vais me l’imprimer et me le garder, ça me servira.
Merci ! :p
11 juillet 2008 à 10:07
Une petite question niveau sécurité, mon serveur ssh bloque l’authentification par mot de passe, il ne reste donc que les clés partagés.
Est-ce que utiliser fail2ban aurai un intérêt pour moi ?
11 juillet 2008 à 13:17
@cdemoulins : Je crois bien que ce n’est pas la peine, si tu as désactiver l’accès root (PermitRootLogin) et que tu utilises une authentification par clef, c’est bon !
Après, il faut voir s’il n’y a pas autre chose que Fail2ban pourrait protéger et sincèrement, vu la « légèreté » du programme, je pense que tout le monde devrait l’installer !