Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| fail2ban [Le 19/05/2021, 22:50] – [Tester les filtres] 88.163.42.137 | fail2ban [Le 10/01/2026, 19:50] (Version actuelle) – [Configuration] le dump de la configuration n'apporte rien sauf pour débogage 78.196.241.242 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| {{tag> | {{tag> | ||
| - | ---- | + | ====== Bannir des IP avec fail2ban ====== |
| - | ====== Bannir des IP avec fail2ban | + | |
| {{ : | {{ : | ||
| Ligne 21: | Ligne 20: | ||
| Si la réponse comporte du rouge et le mot " | Si la réponse comporte du rouge et le mot " | ||
| - | Si la réponse comporte du vert et les mots " | + | Si la réponse comporte du vert et les mots " |
| ===== Configuration ===== | ===== Configuration ===== | ||
| - | <note important> | + | <note important> |
| + | Les tutoriels utilisent souvent, à tort, le fichier **/ | ||
| + | |||
| ==== Généralités ==== | ==== Généralités ==== | ||
| Ligne 30: | Ligne 32: | ||
| Un serveur avec un accès SSH sur le port standard, par exemple, recevra très rapidement des centaines, voire des milliers de tentatives de connexions provenant de différentes machines. Ce sont généralement des attaques par force brute lancées par des robots.\\ | Un serveur avec un accès SSH sur le port standard, par exemple, recevra très rapidement des centaines, voire des milliers de tentatives de connexions provenant de différentes machines. Ce sont généralement des attaques par force brute lancées par des robots.\\ | ||
| Fail2ban en analysant les logs permet de bannir les IP au bout d'un certain nombre de tentatives ce qui limitera le remplissage des logs et l' | Fail2ban en analysant les logs permet de bannir les IP au bout d'un certain nombre de tentatives ce qui limitera le remplissage des logs et l' | ||
| - | Ceci va également rendre les attaques par force brute ou par dictionnaire beaucoup plus difficiles | + | Ceci va également rendre les attaques par force brute ou par dictionnaire beaucoup plus longues |
| **Mais cela n' | **Mais cela n' | ||
| Ligne 45: | Ligne 47: | ||
| La directive **ignoreip** permet de définir la liste des IP à ignorer. Il est utile d'y mettre sa propre IP afin de ne pas risquer de se faire bannir. | La directive **ignoreip** permet de définir la liste des IP à ignorer. Il est utile d'y mettre sa propre IP afin de ne pas risquer de se faire bannir. | ||
| - | Il faut créer le fichier dans **/ | + | Il faut créer le fichier dans **/ |
| < | < | ||
| Ligne 55: | Ligne 57: | ||
| * ignoreip ⇒ votre IP (ici 124.32.5.48) en plus de l' | * ignoreip ⇒ votre IP (ici 124.32.5.48) en plus de l' | ||
| * findtime = 10m (10 minutes), 3600 secondes (une heure) | * findtime = 10m (10 minutes), 3600 secondes (une heure) | ||
| - | * bantime = 24h (24 heures) ou 86400 secondes | + | * bantime = 24h (24 heures) ou 86400 secondes |
| * maxretry = 3 (une IP sera bannie après 3 tentatives de connexion avortées). | * maxretry = 3 (une IP sera bannie après 3 tentatives de connexion avortées). | ||
| Ligne 72: | Ligne 74: | ||
| Il indique : | Il indique : | ||
| * **port** = les ports à bloquer au moyen des règles [[: | * **port** = les ports à bloquer au moyen des règles [[: | ||
| - | * **logpath** = l' | + | * **logpath** = l' |
| * **backend** = le moteur de surveillance des logs. | * **backend** = le moteur de surveillance des logs. | ||
| Les valeurs représentées ainsi **%(sshd_logs)s** sont des variables qui sont définies dans d' | Les valeurs représentées ainsi **%(sshd_logs)s** sont des variables qui sont définies dans d' | ||
| - | Pour activer la surveillance des connexion SSH, il suffit d' | + | Pour activer la surveillance des connexion SSH, il suffit d' |
| - | <file - / | + | <file - / |
| [sshd] | [sshd] | ||
| enabled = true | enabled = true | ||
| Ligne 87: | Ligne 89: | ||
| Si vous avez besoin de spécifier un port (par exemple, quand SSH n'est pas en écoute sur un port standard, un fichier de log particulier, | Si vous avez besoin de spécifier un port (par exemple, quand SSH n'est pas en écoute sur un port standard, un fichier de log particulier, | ||
| - | <file - / | + | <file - / |
| [sshd] | [sshd] | ||
| enabled = true | enabled = true | ||
| Ligne 123: | Ligne 125: | ||
| Attention ! Pensez à régler la valeur de **bantime** sur un temps assez court si vous faites ce genre d’essais afin de pouvoir vous reconnecter à votre serveur. | Attention ! Pensez à régler la valeur de **bantime** sur un temps assez court si vous faites ce genre d’essais afin de pouvoir vous reconnecter à votre serveur. | ||
| - | Côté serveur vous pouvez également surveiller ce qu'il se passe avec la commande | + | Côté serveur vous pouvez également surveiller ce qu'il se passe avec la commande |
| < | < | ||
| qui dans ce cas vous retournera le statut de la prison « sshd » (avec le nombre de tentatives échouées et la liste des IP bannies) | qui dans ce cas vous retournera le statut de la prison « sshd » (avec le nombre de tentatives échouées et la liste des IP bannies) | ||
| Ligne 142: | Ligne 144: | ||
| Il est possible de recevoir un courriel après chaque bannissement d'une adresse IP.\\ | Il est possible de recevoir un courriel après chaque bannissement d'une adresse IP.\\ | ||
| - | Pour cela vous pouvez définir globalement l' | + | Pour cela vous pouvez définir globalement l' |
| < | < | ||
| Il faut que le système soit correctement configuré pour l' | Il faut que le système soit correctement configuré pour l' | ||
| Ligne 150: | Ligne 152: | ||
| Pour voir les messages locaux (si vous avez laissé une adresse e-mail du type @localhost), | Pour voir les messages locaux (si vous avez laissé une adresse e-mail du type @localhost), | ||
| - | **Pour activer l' | + | **Pour activer l' |
| < | < | ||
| Ligne 161: | Ligne 163: | ||
| < | < | ||
| - | Des informations complémentaires sont disponibles sur le site officiel de Fail2ban : | + | Des informations complémentaires sont disponibles sur le site officiel de Fail2ban : |
| [[http:// | [[http:// | ||
| Ligne 184: | Ligne 186: | ||
| Si vous avez créé vos propres filtres, modifié des filtres existants, ou si vous voulez simplement tester un filtre sur un fichier de log particulier, | Si vous avez créé vos propres filtres, modifié des filtres existants, ou si vous voulez simplement tester un filtre sur un fichier de log particulier, | ||
| - | Par exemple pour teste le filtre apache-badbots sur le fichier journal d' | + | Par exemple, pour tester |
| < | < | ||
| Ligne 205: | Ligne 207: | ||
| ==== Bannir manuellement une IP sur l'un de vos jails ==== | ==== Bannir manuellement une IP sur l'un de vos jails ==== | ||
| - | Vous voulez tester plus rapidement l' | + | Vous voulez tester plus rapidement l' |
| < | < | ||
| <note important> | <note important> | ||
| Ligne 211: | Ligne 213: | ||
| ===== Alternatives à fail2ban ===== | ===== Alternatives à fail2ban ===== | ||
| - | * [[https://yalis.fr/ | + | * [[https://www.sshguard.net/|SSHGuard]] est une alternative à Fail2ban présent dans les dépôts Ubuntu |
| - | * [[https:// | + | * [[https:// |
| ===== Ressources ===== | ===== Ressources ===== | ||
| * (en) [[https:// | * (en) [[https:// | ||
| - | * (en) [[http://www.fail2ban.org/wiki/index.php/ | + | * (en) [[https://github.com/ |
| * (fr) [[https:// | * (fr) [[https:// | ||
| + | ---- | ||
| - | --- // | + | //Contributeurs : [[: |
| - | --- //[[: | + | |
