Fail2Ban 与内置 jail 配合良好,但我的自定义 OpenVPN jail 不会禁止任何内容,我的 NGINX-DoS jail 也不会。输出如下sudo fail2ban-client status openvpn
:
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
顺便说一句,我更改了 IP 地址。因此 jail 可以正常工作,但输出iptables-save | grep 1.2.3.4
没有任何返回值,因此 IP 未被阻止。所有其他 jail 都正常工作。
我的openvpn.conf
文件filter.d
是:
# 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 =
其中的部分内容jail.local
为:
[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
同样的事情也发生在我的 NGINX jail 上,fail2ban-client 说它被禁止了,而且我收到一封电子邮件说 IP 被禁止了,但什么也没发生。
答案1
根据 fail2ban Wiki,您可能想尝试设置protocol = udp
而不是protocol = tcp
。www.fail2ban.org 维基
您的禁令操作“iptables-multiport”将创建一个包含所有被禁止 IP 的新 iptables 链,并将此链添加到 iptables INPUT 链。您可以使用 检查此链是否正确创建iptables -vnL
。在该输出顶部的“Chain INPUT”部分查找“f2b-openvpn”链,然后在该输出下方查找包含所有被禁止 IP 的“CHAIN f2b-openvpn”部分。
还可以考虑从您的配置示例中混淆您的邮件地址。