linux – 使用fail2ban的最大bantime

linux – 使用fail2ban的最大bantime,第1张

概述我使用fail2ban / firewalld来限制对Nginx服务器的类似bot的访问.通常,相应jail的配置如下所示: [nginx-botsearch]#banaction = iptables-multiportenabled = truefilter = nginx-botsearchlogpath = /var/log/nginx*/*access*.logmaxretry 我使用fail2ban / firewalld来限制对Nginx服务器的类似bot的访问.通常,相应jail的配置如下所示: @H_419_2@[Nginx-botsearch]#banaction = iptables-multiportenabled = truefilter = Nginx-botsearchlogpath = /var/log/Nginx*/*access*.logmaxretry = 3bantime = 3600

这按预期工作(banaction默认为firewallcmd-ipset),即iptables -L命令在input_direct链中显示一个条目:

@H_419_2@REJECT tcp -- anywhere anywhere multiport dports http,https match-set fail2ban-Nginx-botsearch src reject-with icmp-port-unreachable

使用fail2ban-Nginx-botsearch的相应ipset.

然而,当bantime增加时,我注意到一种奇怪的行为.一切都按预期的方式工作< = 4294967.当我设置bantime = 4294968并重新加载fail2ban服务时,缺少iptables输出中的条目(未创建ipset)实际上,使用例如ab实用程序进行测试显示该禁令未得到执行.有趣的是,使用banaction = iptables-multiport甚至可以用于“大型”bantimes.这种行为可能是什么原因?我在CentOS 7上使用fail2ban v 0.9.7.

解决方法 这不是严格的fail2ban相关问题,而是内核中netfilter代码中的一个错误.简而言之,您的ipset版本对于timeout参数有一个整数溢出,因此当它超过32位整数时会看到不可预测的行为.

您没有看到多端口,因为它不使用此代码,而是依靠自己的设备来跟踪超时.

这是netfilter代码中针对此问题的补丁的link.

总结

以上是内存溢出为你收集整理的linux – 使用fail2ban的最大bantime全部内容,希望文章能够帮你解决linux – 使用fail2ban的最大bantime所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1037362.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存