-1

我已经在我的虚拟主机中安装了 fail2ban,它通过 access_log 文件监控 wordpress 登录尝试。一旦我将fail2ban配置为使用此正则表达式过滤wp登录:

failregex = ^<HOST> .* "POST /wp-login.php

... 攻击是通过 ipv6 主机更改的。我阅读了fail2ban doc,我注意到fail2ban(还)不支持ipv6。然后,我应用了这个解决方法: fail2ban ipv6 support(法语)

正如您在本教程中所见,我创建了 2 个名为 iptables46* 的新操作,并在 jail.local 中定义了它们,以便在 fail2ban 检测到 ipv4 和 ipv6 的新正则表达式(在修补的 python 脚本中更改)时执行。

我检查了fail2ban日志,它似乎正在检测ipv6调用,但在每个过滤器检测之前都会显示一条警告:

2016-10-26 23:00:55,539 fail2ban.filter         [24963]: WARNING Unable to find a corresponding IP address for 127.0.0.1/8: [Errno -2] Name or service not known
2016-10-26 23:00:55,540 fail2ban.filter         [24963]: INFO    [wp-auth] Found xxxx:xxxx:xxx::xxxx:xxx

(xxxx:xxxx:xxx::xxxx:xxx是攻击者主机ipv6)

我用 : 检查了 fail2ban 状态,fail2ban-regex access_log /etc/fail2ban/filter.d/wp-auth.conf有很多结果(正则表达式和过滤器都可以),但是主机没有被 iptables 阻止。我检查了 ip6tables:

ip6tables -S | grep f2b

结果:

-A f2b-default -s 2002:5bc8:c41::5bc8:c41/128 -j REJECT --reject-with icmp6-port-unreachable

如果我检查fail2ban过滤器的状态:fail2ban-client status wp-auth:

Status for the jail: wp-auth
|- Filter
|  |- Currently failed: 1
|  |- Total failed:     93
|  `- File list:        /opt/wordpress/logs/access_log
`- Actions
   |- Currently banned: 1
   |- Total banned:     2
   `- Banned IP list:   xxxx:xxxx:xxx::xxxx:xxx

似乎 ipv6 没有被阻止,因为主机仍在发起请求。

我不知道为什么fail2ban 日志显示警告(与127.0.0.1/8 相关:[Errno -2]),如果创建的ip6table 规则正常...我不知道为什么主机没有被封锁。

任何帮助将不胜感激。

4

1 回答 1

0

好消息是,fail2ban最近发布了对 IPv6 的支持。

对于 Debian IPv6 服务器,我建议遵循本教程

对于 CentOS IPv6 服务器,我建议在此处下载它,然后执行这些命令相应地替换版本号:

tar xvfj fail2ban-0.11.0.tar.bz2
cd fail2ban-0.11.0
python setup.py install

确保在/etc/fail2ban/jail.local中启用了 sshd 监狱,例如:

[sshd]
enabled=1
于 2017-10-18T17:14:52.837 回答