Les livres saintsAujourd’hui, il n’est pas question de religion (non, non, non !) mais juste des quelques guides, manuels, tutoriaux, … (appelez ça comme vous voudrez !) qui selon moi valent le coup ! J’ai personnellement utiliser ces documents et j’ai beaucoup appris grâce à eux, j’espère que certains pourront vous aider ! GNU/Linux :
Logiciels Libres :
Formats :
Programmation :
Divers :
|
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
- si la personne arrive à changer d’ip toute les secondes, il lui faudra 30.000 ans et au minimum 600 ip différentes
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 !
Par contre, sans Fail2ban, si on peut essayer 10 millions de mots de passe par seconde, en maximum 3 jours c’est fini ! (bon, après, 10 millions par secondes, ça fait beaucoup…).
À 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 :
$ aptitude install fail2ban
Ensuite, vérifier qu’il est bien lancé avec la commande (en root) :
$ /etc/init.d/fail2ban status
ou
$ fail2ban-client status
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)
- logtarget (emplacement du fichier log de Fail2ban, pour savoir ce qu’il fait) : il est par défaut égal à /var/log/fail2ban.log
- socket par défaut égal à /var/run/fail2ban/fail2ban.sock
–> /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 !)
- bantime : temps durant lequel une ip est bannie (en seconde)
- destemail : adresse mail pour recevoir les notifications
- liste des services à analyser avec :
- enabled : autoriser Fail2ban a surveiller ce service
- port : port
- filter : fichier filtre utiliser (ils sont stockés dans /etc/fail2ban/filter.d)
- logpath : emplacement du fichier log du service
- maxretry : nombres de tentatives avant de bannir l’ip
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