Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| serveurs:installation:fail2ban [2023/05/23 15:34] – [Fai2ban et Wordpress] jpmilcent | serveurs:installation:fail2ban [2026/09/21 09:11] (Version actuelle) – [Utilisations] jpmilcent | ||
|---|---|---|---|
| Ligne 24: | Ligne 24: | ||
| # Ajouter ses ip pour éviter de se faire bannir | # Ajouter ses ip pour éviter de se faire bannir | ||
| # Ex.: ignoreip = 127.0.0.1/8 10.0.1.10 10.0.1.20 < | # Ex.: ignoreip = 127.0.0.1/8 10.0.1.10 10.0.1.20 < | ||
| - | ignoreip = 127.0.0.1/8 < | + | ignoreip = 127.0.0.1/8 < |
| # 1 jour de bannissement | # 1 jour de bannissement | ||
| #bantime = 86400 | #bantime = 86400 | ||
| Ligne 37: | Ligne 37: | ||
| [postfix] | [postfix] | ||
| + | |||
| enabled = true | enabled = true | ||
| port = smtp, | port = smtp, | ||
| Ligne 64: | Ligne 65: | ||
| [sshd] | [sshd] | ||
| + | backend=systemd | ||
| enabled = true | enabled = true | ||
| port = < | port = < | ||
| [postfix] | [postfix] | ||
| + | backend=systemd | ||
| enabled = true | enabled = true | ||
| port = smtp, | port = smtp, | ||
| Ligne 94: | Ligne 97: | ||
| ===== Utilisations ===== | ===== Utilisations ===== | ||
| * Document du client Fail2ban : https:// | * Document du client Fail2ban : https:// | ||
| - | * Vérifier son fonctionnement dans les logs : '' | + | * Vérifier son fonctionnement dans les logs : '' |
| - | * Consulter l' | + | * Consulter l' |
| - | * Sortir de prison une IP : '' | + | * Sortir de prison une IP : '' |
| - | * Réinitialiser | + | * Ajouter manuellement une IP à une prison : '' |
| + | * Réinitialiser une prison : '' | ||
| + | * Enregistrer dans un fichier txt les IPs bannies d'une prison : '' | ||
| + | * Recharger un filtre après modification : '' | ||
| + | * Vérifier que la regex du filtre est bien pris en compte en l' | ||
| + | * Vérifier que l' | ||
| ===== Fai2ban et Wordpress ===== | ===== Fai2ban et Wordpress ===== | ||
| * Une fois Wordpress rendu indexable par les moteurs de recherche, nous risquons d' | * Une fois Wordpress rendu indexable par les moteurs de recherche, nous risquons d' | ||
| - | * Pour vérifier si nous sommes attaqué, vérifier dans les logs du serveur web du jour à l'aide de la commande : '' | + | * Pour vérifier si nous sommes attaqué, vérifier dans les logs du serveur web du jour à l'aide de la commande : '' |
| * Dans cette situation, utiliser un des tutos suivant pour la mise en place : | * Dans cette situation, utiliser un des tutos suivant pour la mise en place : | ||
| * [[https:// | * [[https:// | ||
| Ligne 107: | Ligne 115: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * Ajouter un nouveau filtre : '' | + | * Ajouter un nouveau filtre : '' |
| * Par défaut, Wordpress retourne une code 200 que le login réussisse ou échoue. Deux solutions : | * Par défaut, Wordpress retourne une code 200 que le login réussisse ou échoue. Deux solutions : | ||
| - modifier Worpdress pour retourner un code 403 si le login échoue | - modifier Worpdress pour retourner un code 403 si le login échoue | ||
| - | - utiliser le code 200 dans la regexp de détection et ne pas mettre trop bas le nombre de tentative d' | + | - utiliser le code 200 dans la regexp de détection et ne pas mettre trop bas le nombre de tentative d' |
| * Nous avons opté pour la solution 2. | * Nous avons opté pour la solution 2. | ||
| * Contenue du fichier : <code properties> | * Contenue du fichier : <code properties> | ||
| Ligne 136: | Ligne 144: | ||
| ignoreregex = | ignoreregex = | ||
| </ | </ | ||
| - | * Tester le filtre : '' | + | * Tester le filtre : '' |
| - | * Éditer le fichier de config : '' | + | * Éditer le fichier de config : '' |
| * Ajouter à la fin du fichier la nouvelle section suivante : <code properties> | * Ajouter à la fin du fichier la nouvelle section suivante : <code properties> | ||
| [nginx-wordpress] | [nginx-wordpress] | ||
| Ligne 148: | Ligne 156: | ||
| findtime = 240 | findtime = 240 | ||
| </ | </ | ||
| - | * Recharger la config de // | + | * Recharger la config de // |
| - | * Pour surveiller cette nouvelle prison : '' | + | * Pour surveiller cette nouvelle prison : '' |
| ===== Problème fail2ban-tmpfiles.conf points to /var/run/ instead of /run ===== | ===== Problème fail2ban-tmpfiles.conf points to /var/run/ instead of /run ===== | ||
| Ligne 159: | Ligne 167: | ||
| * Prendre en compte les changements : '' | * Prendre en compte les changements : '' | ||
| * Si le problème vient à se renouveller suite à une mise à jour de Fail2ban, utiliser la technique mise en place pour le service Docker sur l' | * Si le problème vient à se renouveller suite à une mise à jour de Fail2ban, utiliser la technique mise en place pour le service Docker sur l' | ||
| + | |||
| + | ===== Problème ' | ||
| + | * **Contexte** : le service SystemD fail2ban ('' | ||
| + | ' | ||
| + | * **Solution** : éditer le fichier '' | ||
| + | |||
| + | ===== Problème : failed during configuration: | ||
| + | * **Contexte** : le service SystemD fail2ban ('' | ||
| + | * **Solution** : Dans le fichier ''/ | ||
| + | |||
| + | ===== Prison nginx-errors ===== | ||
| + | * Mise en place d'une prison détectant un trop fort tôt de code d' | ||
| + | * Cette prison est <color white/# | ||
| + | | ||
| + | * Créer un fichier de filtre : '' | ||
| + | * Contenu : <code ini> | ||
| + | [Definition] | ||
| + | failregex = ^< | ||
| + | ignoreregex = | ||
| + | </ | ||
| + | * Tester le bon fonctionnement de cette Regexp avec : '' | ||
| + | * Créer un fichier de prison : '' | ||
| + | * Contenu : <code ini> | ||
| + | [nginx-errors] | ||
| + | enabled = true | ||
| + | port = http,https | ||
| + | filter = nginx-errors | ||
| + | logpath = / | ||
| + | maxretry = 6 | ||
| + | findtime = 600 | ||
| + | bantime = 1y | ||
| + | # Le paramètre ci-dessous peu être décommenté pour tester la prison sans bannir les ip | ||
| + | #banaction = dummy | ||
| + | </ | ||
| + | * Recharger la config de // | ||
| + | |||
| + | |||
| + | ===== Vérification d'IP bannies ===== | ||
| + | * Pour vérifier en lot des IPs abusives, vous pouvez utiliser le site : https:// | ||
| + | * Le site IpInfo fournit également des informations : https:// | ||