Installation de Fail2ban

FAIL2BAN est un programme populaire qui utilise le firewall IPTABLES pour bloquer les attaques brute force en SSH. FAIL2BAN va aller lire les logs et il repère une IP qui a tenté un certain nombre de combinaisons login/password erronés. Avec cette IP, il va créer une règle IPTABLES disant au firewall de rejetter toute connection provenant de cette IP (REJECT sur tous les paquets).

Installation d'IPTABLES

IPTABLES est installé par défaut sur toutes les distributions Linux proposées par OVH.

Installation de FAIL2BAN 

Sous Debian :

apt-get update && apt-get install fail2ban 

Sous Gentoo/Release2 :

emerge fail2ban 

C'est fini, fail2ban est déjà en train de veiller Voyons maintenant comment personaliser son comportement.

Configuration de FAIL2BAN

Le fichier de configuration s'appelle jail.conf et se trouve, sous Debian, dans /etc/fail2ban. Si ce dossier n'existe pas, il suffit de lancer une recherche :

find / -name jail.conf   ou encore  updatedb (assez long) puis locate jail.conf

Pour modifier la config, on édite ce fichier tout simplement :

nano /etc/fail2ban/jail.conf

 

 Les options intéressantes :

ignoreip = 127.0.0.1   // une IP qui ne sera jamais bannie par FAIL2BAN, ici il s'agit de la machine locale, càd le serveur
bantime  = 600          // le temps, en secondes, de bannissement d'une IP (10 minutes ici)
maxretry = 3             // le nombre de tentatives erronnées autorisées avat de se faire bannir

FAIL2BAN peut surveiller SSH mais aussi Apache, le serveur FTP ou le serveur mail. Par défaut il connait un certain nombre de programmes courants, il suffit juste de l'activer la config (par défaut seul le SSH est surveillé) :

[ssh]

enabled = true   // true pour activer la surveillance SSH, false pour désactiver
port    = ssh
filter  = sshd
logpath  = /var/log/auth.log  // le log où chercher les tentatives de brute force
maxretry = 6                      // le nombre de tentatives erronnées en SSH autorisées avant de se faire bannir

Pour activer les autres (postfix, vsftpd, proftpd,courriersmtp, apache) il suffit de changer le enabled de false à true et de vérifier que le chemin du log correspond.