我已经在我的网络托管中安装了fail2ban,它正在通过access_log文件监控wordpress登录尝试。一旦我配置fail2ban以使用此正则表达式过滤wp登录:
failregex = ^<HOST> .* "POST /wp-login.php
......通过ipv6主机改变了攻击。我读了fail2ban doc,我发现在fail2ban中还没有ipv6支持。然后,我应用了此解决方法: fail2ban ipv6 support(法文)
正如您在本教程中所看到的,我创建了两个名为iptables46 *的新操作,我在jail.local中定义它们,以便在fail2ban检测到ipv4和ipv6的新regexp时执行(在修补的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-regex access_log /etc/fail2ban/filter.d/wp-auth.conf
检查了fail2ban状态,并且有很多结果(正则表达式和过滤器都可以),但主机没有被iptables阻止。我用:
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规则没问题...我不知道为什么主机没被封锁。
任何帮助将不胜感激。
答案 0 :(得分:0)
好消息是 fail2ban 最近发布了对IPv6的支持。
对于Debian IPv6服务器,我建议您关注this tutorial。
对于CentOS IPv6服务器,我建议下载它here,然后执行这些命令,相应地替换版本号:
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