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 | ||
fail2ban [Le 22/09/2022, 20:13] spnux [Alternatives à fail2ban] Remplacé Pyrusse par SSHGuard |
fail2ban [Le 14/02/2025, 20:35] (Version actuelle) 86.210.46.91 [Configuration] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{tag>serveur sécurité pare-feu }} | {{tag>serveur sécurité pare-feu }} | ||
- | ---- | + | ====== Bannir des IP avec fail2ban ====== |
- | ====== Bannir des IP avec fail2ban - v2020 ====== | + | |
{{ :fail2ban_logo.png?90}} | {{ :fail2ban_logo.png?90}} | ||
Ligne 24: | Ligne 23: | ||
===== Configuration ===== | ===== Configuration ===== | ||
- | <note important>Il est vivement déconseillé de modifier les fichiers de configuration **/etc/fail2ban/fail2ban.conf** et **/etc/fail2ban/jail.conf** (notamment car ils peuvent être écrasés par une mise à jour). Ces fichiers contiennent les configurations de base qu'on peut **surcharger** au moyen d'un ou plusieurs fichiers enregistrés dans **/etc/fail2ban/jail.d**\\ Le fichier **/etc/fail2ban/jail.conf** doit servir uniquement de référence et de documentation.</note> | + | <note important>Il est vivement déconseillé de modifier les fichiers de configuration **/etc/fail2ban/fail2ban.conf** et **/etc/fail2ban/jail.conf** (notamment car ils peuvent être écrasés par une mise à jour). Ces fichiers contiennent les configurations de base qu'on peut **surcharger** au moyen d'un ou plusieurs fichiers enregistrés dans **/etc/fail2ban/jail.d**\\ Le fichier **/etc/fail2ban/jail.conf** doit servir uniquement de référence et de documentation.\\ |
+ | Les tutoriels utilisent souvent le fichier **/etc/fail2ban/jail.local** pour gérer sa configuration.</note> | ||
+ | |||
+ | La configuration finale sera donc la configuration par défaut, surchargée par les modifications dans votre fichier //.local//. Cette configuration finale peut être affichée par la commande : | ||
+ | <code bash>fail2ban-client -d</code> | ||
==== Généralités ==== | ==== Généralités ==== | ||
Ligne 30: | Ligne 34: | ||
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'utilisation de la bande passante. \\ | 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'utilisation de la bande passante. \\ | ||
- | Ceci va également rendre les attaques par force brute ou par dictionnaire beaucoup plus difficiles mais ce n'est pas une sécurité absolue contre ce type d'attaque. | + | Ceci va également rendre les attaques par force brute ou par dictionnaire beaucoup plus longues mais ce n'est pas une sécurité absolue contre ce type d'attaque. |
**Mais cela n'améliore en rien la sécurité du service concerné**. Si l'accès SSH n'est pas suffisamment sécurisé (mot de passe faible par exemple) fail2ban n'empêchera pas un attaquant d'arriver à ses fins.\\ | **Mais cela n'améliore en rien la sécurité du service concerné**. Si l'accès SSH n'est pas suffisamment sécurisé (mot de passe faible par exemple) fail2ban n'empêchera pas un attaquant d'arriver à ses fins.\\ | ||
Ligne 45: | Ligne 49: | ||
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 **/etc/fail2ban/jail.d/custom.conf** (ou un autre nom de votre choix) contenant : | + | Il faut créer le fichier dans **/etc/fail2ban/jail.d/jail.local** (ou un autre nom de votre choix avec l'exstension //.local// comme conseillée((src: https://github.com/fail2ban/fail2ban/wiki/Proper-fail2ban-configuration))) contenant : |
<code>[DEFAULT] | <code>[DEFAULT] | ||
Ligne 76: | Ligne 80: | ||
Les valeurs représentées ainsi **%(sshd_logs)s** sont des variables qui sont définies dans d'autres fichiers de configuration : **paths_common.conf** et **paths_debian.conf** notamment. | Les valeurs représentées ainsi **%(sshd_logs)s** sont des variables qui sont définies dans d'autres fichiers de configuration : **paths_common.conf** et **paths_debian.conf** notamment. | ||
- | Pour activer la surveillance des connexion SSH, il suffit d'ajouter dans le fichier /etc/fail2ban/jail.d/custom.conf : | + | Pour activer la surveillance des connexion SSH, il suffit d'ajouter dans le fichier /etc/fail2ban/jail.d/jail.local : |
- | <file - /etc/fail2ban/jail.d/custom.conf > | + | <file - /etc/fail2ban/jail.d/jail.local > |
[sshd] | [sshd] | ||
enabled = true | enabled = true | ||
Ligne 87: | Ligne 91: | ||
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, ou un nombre de tentatives différent de la valeur par défaut, précisez-le : | 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, ou un nombre de tentatives différent de la valeur par défaut, précisez-le : | ||
- | <file - /etc/fail2ban/jail.d/custom.conf > | + | <file - /etc/fail2ban/jail.d/jail.local > |
[sshd] | [sshd] | ||
enabled = true | enabled = true | ||
Ligne 142: | Ligne 146: | ||
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'adresse du destinataire dans la section [DEFAULT] du fichier **/etc/fail2ban/jail.d/custom.conf** : | + | Pour cela vous pouvez définir globalement l'adresse du destinataire dans la section [DEFAULT] du fichier **/etc/fail2ban/jail.d/jail.local** : |
<code>destemail = adresse@example.com</code> | <code>destemail = adresse@example.com</code> | ||
Il faut que le système soit correctement configuré pour l'envoi de courriels, par exemple avec [[ssmtp|ssmtp]]. | Il faut que le système soit correctement configuré pour l'envoi de courriels, par exemple avec [[ssmtp|ssmtp]]. | ||
Ligne 150: | Ligne 154: | ||
Pour voir les messages locaux (si vous avez laissé une adresse e-mail du type @localhost), il vous faudra ouvrir un terminal et taper la commande "mail" ou, plus simplement encore, consulter le fichier **/var/mail/votrelogin**. | Pour voir les messages locaux (si vous avez laissé une adresse e-mail du type @localhost), il vous faudra ouvrir un terminal et taper la commande "mail" ou, plus simplement encore, consulter le fichier **/var/mail/votrelogin**. | ||
- | **Pour activer l'envoi de courriels**, ajoutez la ligne dans la section [DEFAULT] du fichier **/etc/fail2ban/jail.d/custom.conf** | + | **Pour activer l'envoi de courriels**, ajoutez la ligne dans la section [DEFAULT] du fichier **/etc/fail2ban/jail.d/jail.local** |
<code>action = %(action_mw)s </code> | <code>action = %(action_mw)s </code> | ||
Ligne 217: | Ligne 221: | ||
===== Ressources ===== | ===== Ressources ===== | ||
* (en) [[https://github.com/fail2ban/fail2ban|fail2ban sur github (depuis 2011) avec un wiki!]] | * (en) [[https://github.com/fail2ban/fail2ban|fail2ban sur github (depuis 2011) avec un wiki!]] | ||
- | * (en) [[http://www.fail2ban.org/wiki/index.php/Main_Page|Le site de fail2ban]] | + | * (en) [[https://github.com/fail2ban/fail2ban/wiki/Proper-fail2ban-configuration|Page officielle sur la configuration]] |
* (fr) [[https://wiki.visionduweb.fr/index.php?title=Installer_et_utiliser_Fail2ban|Wiki non officiel de fail2ban]] (Commandes fail2ban, Exemples fail2ban, ressources complémentaires...) | * (fr) [[https://wiki.visionduweb.fr/index.php?title=Installer_et_utiliser_Fail2ban|Wiki non officiel de fail2ban]] (Commandes fail2ban, Exemples fail2ban, ressources complémentaires...) | ||
+ | ---- | ||
- | --- //[[:utilisateurs:bruno|bruno]] Le 15/03/2018, 10:24// | + | //Contributeurs : [[:utilisateurs:bruno|bruno]], [[:utilisateurs:Zer00CooL|Zer00CooL]], [[:utilisateurs:bcag2|bcag2]]// |
- | --- //[[:utilisateurs:Zer00CooL|Zer00CooL]] Le 25/03/2020, 15:45// | + | |