我经营的网站只与某些地方的客户打交道。
最近,我的负载平衡器正受到菲律宾/俄罗斯/中国的要求。 邮件机器人,蛮力攻击等
有阻止这三个国家访问我的网站的简单方法吗? (国家代码块?)我看到很多关于使用IP表,但即时通讯使用我的CentOS7负载平衡器Firewalld ..
任何build议?
谢谢,克里斯
我不会太担心哪个国家,而是看看那些引起反感行为的IP地址和IP地址。
试图封锁国家是有问题的,而且容易出错。 你会试图追查每个国家的特定ISP和他们的IP地址块。
我会使用日志和其他来源来列出不正确的IP地址列表,将其卷入子网,然后阻止这些子网。 定期重访。
绝对是一个更适合防火墙和负载平衡器的工作,但iptables或firewalld可以做到这一点,但你的主机将不得不查看和处理stream量,而不是阻止更远的上游。
更像是fail2ban( http://www.fail2ban.org/wiki/index.php/Main_Page )而不是像“阻挡中国”
过去为此我使用了防火墙。 试图在CentOS或专用Web服务器上执行此操作很困难,因为这往往是更多的networking问题。
我会研究防火墙解决scheme,并阻止IP范围。 我知道这并不是直接回答你的问题,而是回答我过去所做的事情。
你会惩罚整个国家的一小撮坏人。 更糟的是,你也会错过来自其他国家的坏人。
正如Tep所说,Fail2Ban对此非常理想。 还要确保你有一个像mod_security或naxsi的WAF。 然后在混合中添加repsheet以获得更好的效果,而不仅仅是攻击基于签名的保护,还有基于行为/信誉的监控。
如果你真的想阻止国家,但与防火墙的路线斗争,看看你的networking服务器是否可以做到这一点,如Nginx可以。
将不需要的国家路由到一个更便宜的应用程序: https : //www.digitalocean.com/community/tutorials/how-to-use-nginx-as-a-global-traffic-director-on-debian-or-ubuntu
阻止不需要的国家/地区: http : //nginxlibrary.com/ip-based-country-blocking/
最好不要阻止这些国家的合法用户! 这可能是一个美国/欧洲/无论您的商业或假期的目标市场。
我有这个问题,正如tep所说,pipe理IP块可能会很棘手。 然而,我发现一个地方,使用BGP(主要互联网路由协议)汇总和pipe理每个国家的IP块列表,我发现他们是非常准确的。
然后,为了让我的生活变得简单,我写了一个脚本,从上面的站点中抽取用户定义的国家列表,聚合并格式化IP,并将它们注入到您最喜欢的防火墙包中。 目前它支持pf,ipfw,iptables,ipset和现在的iptablesreplacenftables。 你可以在这里抓住它的github:
https://github.com/KaiLoi/update-fw-BC
我只是从cron运行它,并select了我的名单前十名黑客国家,黑客攻击我的服务器已经非常蒸发。 我的服务器上的fail2ban是无聊的树。 ;)