Fail2Ban fonctionne bien avec les jails intégrés, mais ma prison OpenVPN personnalisée n'interdit rien, pas plus que ma prison NGINX-DoS. Le résultat de Sudo fail2ban-client status openvpn
est:
Status for the jail: openvpn
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/openvpn.log
- Actions
|- Currently banned: 2
|- Total banned: 2
`- Banned IP list: 1.2.3.4 1.3.4.5
J'ai changé les adresses IP, BTW. Donc, la prison fonctionne, mais la sortie de iptables-save | grep 1.2.3.4
ne renvoie rien, donc l'adresse IP n'est pas bloquée. Toutes les autres prisons fonctionnent bien.
Mon fichier openvpn.conf
dans filter.d
est:
# Fail2Ban filter for selected OpenVPN rejections
#
#
[INCLUDES]
before = common.conf
[Definition]
failregex = ^ TLS Error: incoming packet authentication failed from \
[AF_INET\]<Host>:\d+$
^ <Host>:\d+ Connection reset, restarting
^ <Host>:\d+ TLS Auth Error
^ <Host>:\d+ TLS Error: TLS handshake failed$
^ <Host>:\d+ VERIFY ERROR
ignoreregex =
et la section dans jail.local
est:
[openvpn]
enabled = true
port = 1194
protocol = tcp
backend = auto
filter = openvpn
logpath = /var/log/openvpn.log
action = sendmail[name=openvpn, dest=my_email@my_domain.com]
banaction = iptables-multiport
La même chose se produit avec ma prison NGINX: fail2ban-client dit que c'est interdit, et je reçois un courrier électronique l'informant qu'une adresse IP a été interdite, mais rien ne se passe.
Selon le wiki fail2ban, vous pouvez essayer de définir protocol = udp
au lieu de protocol = tcp
. www.fail2ban.org Wiki
Votre banaction 'iptables-multiport' créera une nouvelle chaîne iptables avec tous les ips interdits et l'ajoutera à la chaîne iptables INPUT. Vous pouvez vérifier si cette chaîne est créée correctement avec iptables -vnL
. Recherchez une chaîne "f2b-openvpn" dans la section "Chain INPUT" en haut de cette sortie, puis une section "CHAIN f2b-openvpn" avec toutes les adresses IP interdites plus loin dans cette sortie.
Pensez également à masquer votre adresse e-mail avec votre exemple de configuration.