Outils pour utilisateurs

Outils du site


bloquer_les_attaques_en_force_brute_avec_fail2ban

Ceci est une ancienne révision du document !


Bloquer les attaques en force brute avec fail2ban

En cours de rédaction

Terminologie

  • filtre (filter) : décrit un événement à détecter
  • action (action) :
  • prison (jail) : engage une action plus ou moins complexe sur la base des événements détectés par un filtre

Ajouter un filtre personnalisé

On peut créer un filtre personnalisé entièrement nouveau ou dérivé d'un filtre existant. On ne modifie jamais un filtre installé automatiquement par le paquetage.

Un filtre personnalisé doit impérativement être enregistré dans un fichier “.localet ajouté au répertoire “/etc/fail2ban/filter.d”. L'ajout d'un filtre est sans conséquence tant qu'une prison ne l'exploite pas.

Filtre dérivé

Tester un filtre

Avant d'utiliser un filtre dans une prison, il faut impérativement tester ce filtre pour s'assurer qu'il détecte correctement les événements souhaités et eux seuls !

Pour ce faire, on utilise la commande fail2ban-regex dont la forme générale est la suivante :

fail2ban-regex [OPTIONS] LOG REGEX [IGNOREREGEX]

Si le filtre contient une définition, même vide, de la variable “ignoreregex” (très fréquent), il faut impérativement indiquer le fichier de filtre en tant que IGNOREREGEX; sinon la commande ne fonctionne pas !

Par exemple, si les logs concernés sont fournis par journald:

fail2ban-regex systemd-journal /etc/fail2ban/filter.d/filtre.local /etc/fail2ban/filter.d/filtre.local

Pour que cela fonctionne, le filtre doit contenir une déclaration du service (unit) de journald concerné, par exemple “journalmatch = _SYSTEMD_UNIT=dovecot.service”.

Si les logs sont dans un fichier :

fail2ban-regex /var/log/fichier.log /etc/fail2ban/filter.d/filtre.local /etc/fail2ban/filter.d/filtre.local

systemd-journal

Affichage des résultats

Par défaut, fail2ban-regex n'affiche que des résultats partiels. On dispose des options suivantes pour forcer l'affichage :

  • --print-no-ignored
  • --print-no-missed
  • --print-all-matched
  • --print-all-ignored
  • --print-all-missed

Ajouter une prison

Les prisons personnalisées doivent être ajoutées dans le fichier “/etc/fail2ban/jail.local”.

Par défaut, une prison exploite le filtre de même nom figurant dans “/etc/fail2ban/filter.d. Si le nom est différent, on précise le paramètre filter dans la déclaration de la prison. On peut ainsi créer plusieurs prisons exploiter le même filtre de manières différenciées.

Temporalité

bloquer_les_attaques_en_force_brute_avec_fail2ban.1733745043.txt.gz · Dernière modification : de Flaz