Ceci est une ancienne révision du document !
Analyse les journaux des différents services en se basant sur des expression rationnelles et isole automatiquement les IP générant un nombre trop élevé d'erreurs permettant de stopper les attaques en force brute.
Installation via le gestionnaire de paquets:
$ sudo apt-get install fail2ban
$ sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Définir les variables suivantes dans le fichier jail.local
destemail = user@domain sendername = Fail2ban sender = sender@domain mta = mail action = %(action_mwl)s
Pour activer la surveillance du service ssh, vérifier la valeur de la directive enable dans la section [ssh]
[ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log maxretry = 6
Recharger le fichier de configuration
$ sudo fail2ban-client reload
Pour afficher l'état de l'ensemble des cellules:
$ sudo fail2ban-client status
Pour le détail de la cellule ssh:
$ sudo fail2ban-client status ssh
Une fois la configuration chargée, on peut accéder/modifier certaines valeurs à l'aide du client fail2ban:
# Déterminer combien de temps est bannie une ip pour ssh $ fail2ban-client get ssh bantime # Déterminer le nombre d'essais autorisé pour ssh $ fail2ban-client get ssh maxretry
Pou modifier la configuration utiliser l'argument set
$ fail2ban-client set ssh maxretry 3
Pour bannir/autoriser manuellement les IPs:
# Interdire l'acces au service ssh a une IP $ fail2ban-client set ssh banip 192.168.0.34 # Autoriser à nouveau une IP $ fail2ban-client set ssh unbanip 192.168.0.34
Sur serveurs en DMZ.