Outils pour utilisateurs

Outils du site


software:applications:fail2ban:configuration_dokuwiki

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
software:applications:fail2ban:configuration_dokuwiki [2023/04/26 16:12] yoannsoftware:applications:fail2ban:configuration_dokuwiki [2023/04/27 13:57] (Version actuelle) yoann
Ligne 3: Ligne 3:
 ====== fail2ban : Configuration pour monitoring de dokuwiki ====== ====== fail2ban : Configuration pour monitoring de dokuwiki ======
  
-Installer le plugin loglog pour journaliser les connexions des utilisateurs au service Dokuwiki.+En prérequis, il faut installer le **plugin loglog** qui journalise les connexions des utilisateurs au service Dokuwiki. Pour plus de détail concernant la gestion des plugins de Dokuwiki voir le wiki [[software/applications/dokuwiki/extensions |extensions]]. 
 + 
 +Le fichier de log est créé dans ''./data/cache/loglog.log''
  
 ===== Structure du journal ===== ===== Structure du journal =====
  
-Ci dessous un extrait du fichier de journalisation produit par dokuwiki lorsque le module loglog est installé:+Ci dessous un extrait du fichier de journalisation produit par Dokuwiki lorsque le module loglog est installé:
  
 <file txt loglog.log> <file txt loglog.log>
Ligne 20: Ligne 22:
  
  
-  * 5 colonnes +  * 5 colonnes; 
-  * Les deux premières colonnes représentent la même information (timestamp et reformatage UTC) +  * Les deux premières colonnes représentent la même information (timestamp et reformatage UTC); 
-  * IP source en colonne 3 +  * IP source se trouve en 3ième colonne; 
-  * le message "failed login attempt" apparaît sur la 5ième colonne lors des échecs d'authentification+  * le message "failed login attempt" apparaît sur la 5ième colonne lorsqu'un échec d'authentification  a lieu. 
 + 
 +===== Test ===== 
 + 
 + 
 +<code bash> 
 +# tester l'expression régulière 
 +fail2ban-regex /srv/docker/dokuwiki/userdata/data/cache/loglog.log /etc/fail2ban/filter.d/dokuwiki.local 
 + 
 + 
 +fail2ban-clien reload 
 +fail2ban-client get dokuwiki failregex 
 +</code> 
 + 
 + 
 +===== Dépannage ===== 
 + 
 +==== Le bannissement ne fonctionne pas avec Docker ==== 
 + 
 +Lorsque l’application Dokuwiki s'exécute depuis un conteneur Docker, l'action de bannissement par défaut ne fonctionne pas. fail2ban-client indique bien que l'IP est bannie, les règles de filtrages sont mises à jour mais les modifications ont lieu sur la chaîne iptable **INPUT** ce qui est parfaitement adapté dans le cas d'un fonctionnement classique. 
 + 
 +L'application reste accessible car dans le cas de Docker le trafic à destination des conteneurs transite et est filtré par la chaîne **FORWARD**. Il faut donc modifier la configuration et créer une action agissant sur la chaîne FORWARD. 
 + 
 +  * Le fichier ''/etc/fail2ban/jail.d/dokuwiki.local'' utilise l'action ''iptables-multiport''; 
 +  * En analysant le fichier ''/etc/fail2ban/action.d/iptables-multiport.conf'' on identifie la variable **%%<chain>%%** définie dans le ''/etc/fail2ban/action.d/iptables-common.conf'' 
 + 
 + 
 +Pour que les modifications apportées localement ne soient pas écrasées lors d'une mise à jour du paquet et pour qu'elles s'appliquent en dernier, on crée une copie du fichier que l'on modifie: 
 + 
 +<code bash> 
 +cd /etc/fail2ban/action.d/ 
 +cp iptables-multiport.conf iptables-docker-multiport.local 
 +</code> 
 + 
 +Dans ce fichier on redéfinit la variable **%%<chain>%%** 
 + 
 +<code bash> 
 +# Redémarer le daemon 
 +systemclt restart fail2ban.service 
 + 
 +# Vérifier l'existance de la chaine f2b-dokuwiki 
 +iptables -t filter -S f2b-dokuwiki 
 + 
 +# La chaine f2b-dokuwiki doit se trouver en début de la chaine FORWARD 
 +iptables -t filter -S FORWARD | head -n 5 
 +-P FORWARD DROP 
 +-A FORWARD -p tcp -m multiport --dports 80,443 -j f2b-dokuwiki 
 +-A FORWARD -j DOCKER-ISOLATION-STAGE-1 
 +-A FORWARD -j DOCKER-USER 
 +-A FORWARD -o br-5d3619a40a01 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
 +</code>
  
  
 +Autoriser à nouveau le client:
 +<code bash>
 +fail2ban-client set dokuwiki unbanip 92.88.170.111
 +</code>
  
 ===== Références ===== ===== Références =====
Ligne 31: Ligne 87:
   * man fail2ban-regex   * man fail2ban-regex
   * https://www.it-connect.fr/filtres-et-actions-personnalises-dans-fail2ban/   * https://www.it-connect.fr/filtres-et-actions-personnalises-dans-fail2ban/
 +  * https://seifer.guru/2021/01/2021-01-fail2ban-with-nginx-in-container/
software/applications/fail2ban/configuration_dokuwiki.1682525570.txt.gz · Dernière modification : 2023/04/26 16:12 de yoann