Fail2ban

fail2ban est un application qui permet de protéger le serveur contre les intrusions.

fail2ban lit les logs de divers serveurs (SSH, Apache, FTP…) à la recherche d’erreurs d’authentification répétées et ajoute une règle iptables pour bannir l’adresse IP de la source.

Voir quelques commande pour mémoire :

Pour obtenir les prisons actives, tapez:

fail2ban-client status

Ensuite, vous devez sélectionner une prison pour montrer les IP bannis avec cette prison

fail2ban-client status <JAIL-NAME>

Par exemple pour afficher les adresses IP interdites dans la prison sshd:

fail2ban-client status sshd

C’est tout, si vous voulez autoriser manuellement une adresse IP ( la sortir de la prison ):

fail2ban-client set <JAIL-NAME> unbanip <IP-ADDRESS>

Et enfin si vous voulez bannir manuellement une adresse IP:

fail2ban-client set <JAIL-NAME> banip <IP-ADDRESS>

 

Pour l’installer :

apt-get install fail2ban

Configuration :

Pour spécifier à fail2ban quels services il doit surveiller, éditez le fichier /etc/fail2ban/jail.conf

# Exemple de configuration

ignoreip = 127.0.0.1 192.168.1.20 192.168.1.21 # liste des adresses ip à ignorer

bantime = 86400 # temps en secondes

maxretry = 3 # nombre de tentative échouées

destemail = toto@serveur

Pour activer un service mettre à true la valeur enabled

Pour rajouter un service, par exemple pour webmin :

[webmin-auth]

enabled  = true
port     = https
filter   = webmin-auth
logpath  = /var/log/auth.log
maxretry = 3

Pour rajouter la règle anti-w00tw00t :

[apache-w00tw00t]
enabled = true
filter = apache-w00tw00t
action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp]
logpath = /var/log/apache2/*access.log
maxretry = 1

Créer ensuite le fichier /etc/fail2ban/filter.d/apache-w00tw00t.conf et y ajouter :

[Definition]
failregex = ^<HOST> -.*”GET \/w00tw00t\.at\.ISC\.SANS\.DFind\:\).*”.*
ignoreregex =

A chaque service est associé un fichier de configuration dans le dossier /etc/fail2ban/filter.d

Pour tester un filtre :

Par exemple le filtre anti-w00tw00t

fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/apache-w00tw00t.conf

Pour relancer la configuration :

fail2ban-client reload

Pour vérifier si les prisons sont correctement lançées :.

fail2ban-client status

Pour voir la liste des adresses IP bloquées par fail2ban :

iptables -L

ou pour un jail en particulier (postfix par exemple):

iptables -L fail2ban-postfix

avec les lignes numérotées :

iptables -L fail2ban-postfix --line-numbers

Pour supprimer une adresses IP de la liste des adresses bloquées par fail2ban

Par exemple, pour supprimer l’adresse IP 192.168.1.2 bloquée par le service fail2ban-ssh

iptables -D fail2ban-ssh -s 192.168.1.2 -j DROP

ou avec son numéro obtenu grâce à la commande iptables -L –line-numbers

iptables -D fail2ban-ssh 5

Pour ajouter une adresse IP à la liste des adresses bloquées (pour le jail postfix par exemple)

iptables -I fail2ban-postfix 1 -s 1.163.149.165 -j DROP

ou une plage d’adresses

iptables -I fail2ban-postfix 1 -s 118.160.0.0/16 -j DROP

 

Sources