logo

echo 42

arrow-picto

fail2ban : Configuration pour fonctionner avec systemd et nftables

Publié le 15 mars 2024

  • Linux

Depuis la version Bookworm de Debian, le programme Rsyslog n'est plus installé par défaut ; il a été progressivement remplacé par systemd. Comme fail2ban est initialement configuré pour fonctionner avec Rsyslog, nous allons voir comment le configurer afin qu'il fonctionne avec systemd et, par la même occasion, avec le pare-feu nftables qui remplace iptables.

Procédure

Une des premières recommandations de la documentation de Fail2ban nous indique qu'il faut éviter de modifier les fichiers .conf créés lors de l'installation. Il est recommandé de créer de nouveaux fichiers avec une extension .local dans lesquels on insère uniquement les paramètres que l'on souhaite remplacer ou ajouter.

I. Créer le fichier de configuration

Créer le fichier jail.local dans le répertoire /etc/fail2ban/ :

touch /etc/fail2ban/jail.local

II. Ajout des directives

Les directives qui nous intéressent ici sont backend, banaction et banaction_allports :
  • backend : Définit le système de supervision des logs.
  • banaction : Définit l'action qui doit être prise lorsque le seuil maxretry est atteint.
  • banaction_allports : Action permettant de bloquer une adresse IP sur chaque port.

Mise en place des directives :

nano /etc/fail2ban/jail.local
[DEFAULT]
backend = systemd
banaction = nftables-multiport
banaction_allports = nftables-allports
Redémarrer le service fail2ban pour prendre en compte les modifications :
systemctl reload fail2ban.service

Liens externes