ubuntu-fr

Communauté francophone des utilisateurs de Kubuntu

[[fail2ban]]

Piste: » fail2ban


Bannir des IP avec fail2ban

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.

Installation

Installez le paquet fail2ban disponible dans les dépôts Universe.

apt://fail2ban

(attention, à partir d'Ubuntu Feisty, il est conseillé d'installer fail2ban via les sources, fail2ban n'étant pas mis à jour dans les dépôts depuis de nombreuses maj de sécurité)

en ligne de commande:

tar xvfj fail2ban-0.8.1.tar.bz2
cd fail2ban-0.8.1
python setup.py install

Ceci installera fail2ban dans ce répertoire /usr/share/fail2ban. Les scripts executables sont placés dans le répertoire /usr/bin.

Fail2Ban devrait être correctement installé, pour vérifier tapez :

fail2ban-client -h

Configuration

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

Dans la partie jail vous trouverez des blocs du type :

[ssh]

enabled = true
port    = ssh,sftp
filter  = sshd
logpath  = /var/log/auth.log
maxretry = 6

Il indique, par ordre, l'activation, les ports à bloquer avec les règles iptables, le nom du filtre (expression régulière) associé, le fichier de log à lire, le nombre maximal de tentatives.

Un certain nombre de services disposent de tels blocs de configuration, vous pouvez les activer en passant si besoin false à true.

Relancez la configuration avec

sudo fail2ban-client reload

Vous pouvez alors vérifier si les prisons ont été correctement lancées avec :

(20:34:21)guixx@C2209:~ $ sudo fail2ban-client status
Status
|- Number of jail:      3
`- Jail list:           apache, vsftpd, ssh

Les prisons peuvent être contrôlées séparément avec les mots clés start,stop,status Par exemple :

(20:50:16)guixx@C2209:~ $ sudo fail2ban-client stop ssh
Jail stopped

Pour plus d'informations, référez-vous aux pages de man.

Configuration avancée

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

Une expression régulière définit les lignes du log qui signalent une erreur d'authentification. Il est possible de spécifier via une regex des exceptions, ie des lignes à ignorer. Cela peut être utile par exemple pour ne pas bannir les IP provenant de votre réseau local.

Pour qu'il accepte de se lancer au démarrage, j'ai dû changer la ligne "socket = /var/run/fail2ban/fail2ban.sock" en "socket = /var/run/fail2ban.sock" dans le fichiers /etc/fail2ban/fail2ban.conf

Ressources

Voir aussi

  • denyhosts à peu près le même principe mais sans utiliser iptables

fail2ban.txt · Dernière modification: 2008/11/15 20:37 par rmurray484
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL