« Fail2Ban » : différence entre les versions

Aucun résumé des modifications
Ligne 213 : Ligne 213 :
<syntaxhighlight lang="bash">sudo fail2ban-client set mediawiki-auth banip 123.123.123.123
<syntaxhighlight lang="bash">sudo fail2ban-client set mediawiki-auth banip 123.123.123.123
sudo ipset list | grep f2b-mediawiki-auth</syntaxhighlight></li></ul>
sudo ipset list | grep f2b-mediawiki-auth</syntaxhighlight></li></ul>
== '''Cas pratique''' ==
<pre>
/etc/fail2ban/jail.local
[DEFAULT]
#Ces actions sont plus générales et peuvent s'appliquer à la fois à IPv4 et IPv6, selon la configuration.
banaction = iptables-ipset[type=multiport]
banaction_allports = iptables-ipset[type=allports]
[apache-noscript]
backend = auto
bantime = 86400
maxretry = 5
findtime = 5m
port    = http,https
logpath  = %(apache_error_log)s
enabled=true
action = %(action_mwl)s
</pre>
=== Forcer la création d'un ensemble IPv6 ===
<syntaxhighlight lang="bash" copy>sudo fail2ban-client set apache-noscript banip 2001:db8::1234</syntaxhighlight>
Permet d'afficher des informations spécifiques sur les ensembles ipset liés à Fail2Ban, en se concentrant sur l'ensemble <code>apache-noscript</code> et les 10 lignes qui le suivent
<syntaxhighlight lang="bash" copy>sudo ipset list | grep -A 10 "apache-noscript"</syntaxhighlight>
=== Vérifier le contenu de l'ensemble IPv4 ===
<syntaxhighlight lang="bash" copy>sudo ipset list f2b-apache-noscript</syntaxhighlight>
=== Vérifier le contenu de l'ensemble IPv6 ===
<syntaxhighlight lang="bash" copy>sudo ipset list f2b-apache-noscript6</syntaxhighlight>
=== Pour confirmer que Fail2Ban bloque effectivement le trafic IPv6 : ===
<pre>
sudo iptables -L -n | grep f2b-apache-noscript
REJECT    6    --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443 match-set f2b-apache-noscript src reject-with icmp-port-unreachable
sudo ip6tables -L -n | grep f2b-apache-noscript6
REJECT    6    --  ::/0                ::/0                multiport dports 80,443 match-set f2b-apache-noscript6 src reject-with icmp6-port-unreachable
</pre>
# '''Fail2Ban est correctement intégré''' à <code>iptables</code>/<code>ip6tables</code>.<br />
# '''Les règles sont symétriques''' entre IPv4 et IPv6 :
#* Mêmes ports (80,443), même action (<code>REJECT</code>).<br />
# '''Mécanisme de blocage''' :
#* Les IP listées dans les ensembles ipset (<code>f2b-apache-noscript*</code>) sont rejetées '''immédiatement'''.<br />
#* Le rejet est '''visible''' (contrairement à <code>DROP</code>), ce qui peut décourager les scanners.
==== '''Pourquoi ces règles sont-elles critiques ?''' ====
* '''Protection d’Apache''' :
** Bloque les attaques sur les ports HTTP/HTTPS (ex: injections, bruteforce).<br />
* '''Gestion dynamique''' :
** Fail2Ban met à jour automatiquement les ensembles ipset, sans modifier les règles iptables.<br />
* '''Compatibilité IPv6''' :
** Votre configuration est résiliente contre les attaques via IPv6.
=== débloquer une IPv4 : ===
<syntaxhighlight lang="bash" copy>sudo ipset del f2b-apache-noscript 158.101.11.142</syntaxhighlight>
=== débloquer une IPv6 : ===
<syntaxhighlight lang="bash" copy>sudo ipset del f2b-apache-noscript6 2001:db8::1234</syntaxhighlight>
=== '''Commandes complémentaires utiles :''' ===
{| class="wikitable"
|-
! Objectif
! Commande
|-
| Voir toutes les règles Fail2Ban
| <code>sudo iptables -L -n \| grep f2b</code>
|-
| Lister les IP bannies (IPv4)
| <code>sudo ipset list f2b-apache-noscript</code>
|-
| Supprimer une IP bannie
| <code>sudo ipset del f2b-apache-noscript 192.0.2.1</code>
|}




[[Catégorie:Linux]] [[Catégorie:Debian]] [[Catégorie:Systemd]]
[[Catégorie:Linux]] [[Catégorie:Debian]] [[Catégorie:Systemd]]