linux – 使用大型IP黑名单拒绝访问Web服务器的最佳方法?

linux – 使用大型IP黑名单拒绝访问Web服务器的最佳方法?,第1张

概述使用标准/用户空间软件拒绝访问Web服务器(lighttpd或Apache)是否有效且简单的方法来使用IP黑名单( like this one,但可能大2-3倍,不能简化为CIDR) Linux上没有内核重新编译? Apache config和iptables中的AFAIK Deny规则具有线性查找时间.有些内核模块可以有效地处理大型IP列表,但是安装这些内核模块需要修补内核. 您可以尝试使用 m 使用标准/用户空间软件拒绝访问Web服务器(lighttpd或Apache)是否有效且简单的方法来使用IP黑名单( like this one,但可能大2-3倍,不能简化为CIDR) linux上没有内核重新编译?

Apache config和iptables中的AFAIK Deny规则具有线性查找时间.有些内核模块可以有效地处理大型IP列表,但是安装这些内核模块需要修补内核.

解决方法 您可以尝试使用 moblock(谷歌它 – 无法添加链接,新用户).禁用所有下载的阻止列表,并仅使用您生成的本地阻止列表.您可能需要向内核添加NFQUEUE(netlink queue)支持,但默认情况下它可能已存在.

一般设置是:对于要过滤的端口上的所有SYN数据包,使用netfilter的NFQUEUE *** 作将它们推送到用户空间中的moblock. Moblock进行高效匹配,并向netlink发回ACCEPT或DROP响应.

moblock配置文件格式非常简单:在每一行上,给出一个名称和一个IP范围,格式为123.123.123.42-123.123.124.56.当moblock加载范围时,它会构建一个有效的数据结构来匹配这些范围.当由于匹配而丢弃数据包时,将记录范围名称和实际源IP(如果禁用匹配记录,则不记录).

我已经在其默认配置(下载的阻止列表)中使用了大约230000个IP范围的moblock,并且没有观察到任何可识别的性能损失(仅过滤SYN数据包对于保持内核/用户空间流量下降很重要).

一个警告:如果moblock没有运行,我相信NFQUEUE的默认 *** 作是DROP,导致应用程序的拒绝服务.也就是说,我已经让moblock连续运行了6个多月没有任何问题.尽管如此,您可能还需要设置一个监控探针,以便在已知良好的IP无法再连接到服务器上的80时向您发出警报.你肯定不想使用moblock来过滤ssh,除非你明确地将netfilter中的一些可信IP列入白名单以进行恢复.

总结

以上是内存溢出为你收集整理的linux – 使用大型IP黑名单拒绝访问Web服务器的最佳方法?全部内容,希望文章能够帮你解决linux – 使用大型IP黑名单拒绝访问Web服务器的最佳方法?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存