Outils pour utilisateurs

Outils du site


fail2ban

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fail2ban [2023/12/04 11:27] – [Journalisation du blocage] adminfail2ban [2024/05/09 12:27] (Version actuelle) – [Le fichier jail.local] admin
Ligne 7: Ligne 7:
  
 C’est le rôle de l’outil Fail2ban : <wrap em>de l’échec (Fail) à (2) un bannissement (Ban)</wrap> C’est le rôle de l’outil Fail2ban : <wrap em>de l’échec (Fail) à (2) un bannissement (Ban)</wrap>
 +
 +===== Préparation =====
 +On doit d'abord installer **//fail2ban//** à partir des dépôts : 
 +<code lscript>apt install fail2ban</code>
 +
 +On doit aussi disposer de l'outil [[iptables|iptables]] qui gèrera les règles de bannissement : 
 +<code lscript>apt install iptables</code>
 +
 +
 +
  
 ===== Les principes ===== ===== Les principes =====
Ligne 48: Ligne 58:
 logpath  = /var/log/apache*/*error.log   ; fichier de journalisation dans lequel on cherche le comportement intrusif logpath  = /var/log/apache*/*error.log   ; fichier de journalisation dans lequel on cherche le comportement intrusif
 maxretry = 3 ; nombre d échecs avant banissement maxretry = 3 ; nombre d échecs avant banissement
-findtime 60 ; délai dans lequel le nombre d échec doit être détecté +findtime 60 ; délai dans lequel le nombre d échec doit être détecté 
-bantime 10m ; durée du bannissement (10 minutes)+bantime 10m ; durée du bannissement (10 minutes
 +banaction = iptables-allports  #bannit l'IP sur tous les ports (il existe d'autres options moins radicales)
 </code> </code>
  
Ligne 79: Ligne 90:
  
 Par exemple, dans la page //connecter.php// qui vérifie l’identité de connexion, en cas d’erreur, avant le renvoi vers l’index.php, on inscrit l’erreur dans le journal d’activité :  Par exemple, dans la page //connecter.php// qui vérifie l’identité de connexion, en cas d’erreur, avant le renvoi vers l’index.php, on inscrit l’erreur dans le journal d’activité : 
 +<WRAP right round tip 40%>
 +  * error_log enregistre dans le fichier /var/log/apache2/error.log.  
 +  * $_SERVER["REMOTE_ADDR"] fournit l'IP du poste ayant généré l'accès 
 +</WRAP>
 <code php> <code php>
 else { else {
Ligne 109: Ligne 124:
 <code lscript>nano /etc/fail2ban/filter.d/apache-auth.conf</code> <code lscript>nano /etc/fail2ban/filter.d/apache-auth.conf</code>
  
-Il faut ajouter <wrap em>l’expression régulière</wrap> qui dit que la ligne recherchée doit commencer (^) par le terme « echec ».+Il faut ajouter <wrap em>l’expression régulière</wrap> qui dit que la ligne recherchée doit commencer (^) par le terme « echec » (ajout à la dernière ligne du filtre existant).
  
 <code lscript>failregex = ^client (?:denied by server configuration|used wrong authentication schem> <code lscript>failregex = ^client (?:denied by server configuration|used wrong authentication schem>
Ligne 132: Ligne 147:
  
 <code log> <code log>
-2023-12-04 11:16:22,916 fail2ban.filter         [2327]: INFO    [apache] Found 10.12.0.6 - 2023-12-04 11:16:22 +2023-12-04 11:16:22,916 fail2ban.filter [2327]: INFO [apache] Found 10.12.0.6 - 2023-12-04 11:16:22 
-2023-12-04 11:16:24,832 fail2ban.filter         [2327]: INFO    [apache] Found 10.12.0.6 - 2023-12-04 11:16:24 +2023-12-04 11:16:24,832 fail2ban.filter [2327]: INFO [apache] Found 10.12.0.6 - 2023-12-04 11:16:24 
-2023-12-04 11:16:27,536 fail2ban.filter         [2327]: INFO    [apache] Found 10.12.0.6 - 2023-12-04 11:16:27 +2023-12-04 11:16:27,536 fail2ban.filter [2327]: INFO [apache] Found 10.12.0.6 - 2023-12-04 11:16:27 
-2023-12-04 11:16:27,725 fail2ban.actions        [2327]: NOTICE  [apache] Ban 10.12.0.6+2023-12-04 11:16:27,725 fail2ban.actions [2327]: NOTICE [apache] Ban 10.12.0.6
 </code> </code>
  
  
  
fail2ban.1701689256.txt.gz · Dernière modification : 2023/12/04 11:27 de admin