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 Dernière révision Les deux révisions suivantes | ||
fail2ban [Le 19/05/2021, 22:50] 88.163.42.137 [Tester les filtres] |
fail2ban [Le 22/09/2022, 20:13] spnux [Alternatives à fail2ban] Remplacé Pyrusse par SSHGuard |
||
---|---|---|---|
Ligne 21: | Ligne 21: | ||
Si la réponse comporte du rouge et le mot "failed" " sur la ligne commençant par "Active :", les dernières lignes du message indiquent les raisons de l'échec et permettent sa correction avant un nouvel essai, à tenter après lecture du reste de cet article. | Si la réponse comporte du rouge et le mot "failed" " sur la ligne commençant par "Active :", les dernières lignes du message indiquent les raisons de l'échec et permettent sa correction avant un nouvel essai, à tenter après lecture du reste de cet article. | ||
- | Si la réponse comporte du vert et les mots "active (running)" sur la ligne commençant par "Active :", le service est installé et actif. | + | Si la réponse comporte du vert et les mots "active (running)" sur la ligne commençant par "Active :", le service est installé et actif. |
===== Configuration ===== | ===== Configuration ===== | ||
Ligne 55: | Ligne 55: | ||
* ignoreip ⇒ votre IP (ici 124.32.5.48) en plus de l'interface de bouclage ; | * ignoreip ⇒ votre IP (ici 124.32.5.48) en plus de l'interface de bouclage ; | ||
* 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 72: | ||
Il indique : | Il indique : | ||
* **port** = les ports à bloquer au moyen des règles [[:iptables]] ; | * **port** = les ports à bloquer au moyen des règles [[:iptables]] ; | ||
- | * **logpath** = l'emplacement des fichiers de log à surveiller ; | + | * **logpath** = l'emplacement des fichiers de log à surveiller ; |
* **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'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. | ||
Ligne 123: | Ligne 123: | ||
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 |
<code>sudo fail2ban-client status sshd</code> | <code>sudo fail2ban-client status sshd</code> | ||
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 142: | ||
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/custom.conf** : |
<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 161: | Ligne 161: | ||
<code>sudo systemctl restart fail2ban</code> | <code>sudo systemctl restart fail2ban</code> | ||
- | 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://www.fail2ban.org/wiki/index.php/FAQ_french#J.27utilise_Postfix_sur_mon_syst.C3.A8me_mais_je_n.27ai_pas_de_commande_.22mail.22._Comment_recevoir_les_notifications_par_mail.3F|FAQ Fail2ban]] | [[http://www.fail2ban.org/wiki/index.php/FAQ_french#J.27utilise_Postfix_sur_mon_syst.C3.A8me_mais_je_n.27ai_pas_de_commande_.22mail.22._Comment_recevoir_les_notifications_par_mail.3F|FAQ Fail2ban]] | ||
Ligne 205: | Ligne 205: | ||
==== 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'interdiction d'un accès d'un PC, ou bloquer une personne malveillante. Renseignez son IP dans cette commande : | + | Vous voulez tester plus rapidement l'interdiction d'un accès d'un PC, ou bloquer une personne malveillante. Renseignez son IP dans cette commande : |
<code>fail2ban-client set [nom du jail] banip [IP à bannir]</code> | <code>fail2ban-client set [nom du jail] banip [IP à bannir]</code> | ||
<note important>Une fois la commande validée, votre pare-feu, iptables, va empêcher la machine en question de se connecter. ATTENTION, de ne pas mettre votre propre adresse IP, si vous le faites à distance.</note> | <note important>Une fois la commande validée, votre pare-feu, iptables, va empêcher la machine en question de se connecter. ATTENTION, de ne pas mettre votre propre adresse IP, si vous le faites à distance.</note> | ||
Ligne 211: | Ligne 211: | ||
===== Alternatives à fail2ban ===== | ===== Alternatives à fail2ban ===== | ||
- | * [[https://yalis.fr/git/yves/pyruse/|Pyruse]] Pyruse est une alternative légère à fail2ban qui utilise systemd-journal | + | * [[https://www.sshguard.net/|SSHGuard]] est une alternative à Fail2ban présent dans les dépôts Ubuntu |
- | * [[https://github.com/clearlinux/tallow|Tallow]] Tallow est une alternative légère à fail2ban qui utilise systemd-journal | + | * [[https://github.com/clearlinux/tallow|Tallow]] est une alternative légère à Fail2ban qui utilise systemd-journal |
===== Ressources ===== | ===== Ressources ===== |