fail2ban

De Vulgum Techus
Aller à : Navigation, rechercher
Lien court vers cette page : https://vt.cx/f2b
QR code vers cette page : https://vt.cx/f2b.qr

Présentation

fail2ban détecte les tentatives répétées d'intrusion dans les programmes dont il surveille les logs de connexions (exemple SSH, Apache, CMS, FTP, back office, etc.). Les IP répondant aux critères de configuration (maxretry ou nombre de tentatives par exemple) sont alors transmis à iptables pour un blocage dont le délai (bantime) est paramétrable. fail2ban fonctionne suivant deux axes :

  • jail -> règles définissant la marche à suivre en cas de détection d'intrusions
  • filtre -> règles définissant la détection d'intrusions

Ces deux aspects sont indissociables et doivent être définis pour chaque point d'entrée surveillé (FTP, back office, Horde, Qmail, etc.)

Dossiers utiles

  • /var/log/auth.log → log d'activité de fail2ban
  • /var/log/fail2ban.log → log d'activité de fail2ban

Commandes utiles

  • Liste des commandes fail2ban-client -> https://www.fail2ban.org/wiki/index.php/Commands
  • fail2ban-client -V ou fail2ban-client --version | head -1 -> affichage de la version
  • Statut de fail2ban -> fail2ban-client status
  • Listes des IP bloquées -> iptables -L
  • Lancer fail2ban -> service fail2ban start
  • Arrêter fail2ban -> service fail2ban stop
  • Relancer fail2ban et vider la liste des IP bannies -> service fail2ban restart
  • Tester un Jail -> fail2ban-regex /fichier log/ /filtre.conf/ | less
exemple : fail2ban-regex /var/log/maillog /etc/fail2ban/filter.d/smtp-auth.conf | less

Fichiers de configuration

jail.conf ou jail.local

Le fichier de configuration jail.conf est pris en compte par fail2ban sauf si jail.local est créé en parallèle. Si c'est le cas, toutes les modifications concernant les jails devront y êtres mises à savoir :

  • Ajout ou suppression d'un jail
  • Mis on (true) ou off (false) d'une jail
  • Modification des règles d'un jail

Les fichiers jail.conf et jail.local doivent se trouver dans /etc/fail2ban/.

Paramètres de jail.conf ou jail.local

bantime : délai de bannissement :

bantime  = NNNNN où NNNNN est un entier définissant le délai en secondes 
exemple pour 1 heure -> bantime = 3600

maxretry : nombre d'essais avant bannissement :

maxretry = N où N est un entier définissant le nombre d'essais permis
exemple pour 3 essais -> maxretry = 3 

logpath : chemin des log identifiés :

logpath = XXXXXXX où XXXXXXX est une chaine alphanumérique définissant un chemin d'accès 
exemple -> logpath = /var/log/apache*/*error.log

filter.d

Répertoire des fichiers de filtres situé à :

/etc/fail2ban/filter.d/

action.d

Répertoire de fichiers de traitement situé à :

/etc/fail2ban/action.d/

Liens utiles

Articles Vulgum Techus

Commentaires

blog comments powered by Disqus