• linux防止恶意采集攻防战


      这两天ytkah开发的一个中大型项目被人盯上了,网站打开非常慢,查看了一下cpu、内存使用情况,30%左右占用不高,网络上下行就比较大了,IO实时流量达到40MB,IO总流量更是7TB,非常大的数据量了。网站没有提供文件下载,也没有视频,第一反应是被恶意采集了。这个项目有几百万个页面,很多人也想整一个捞点流量。查看log日志,发现有一些ip段瞬时访问量很高,而且访问的是不同的连续的页面,证实自己的判定是正确。如果是cc攻击的话一般就固定几个页面。

    服务器IO总流量

      知道了原因就比较好办了,屏蔽那些ip段应该就太平了。将log日志中的ip地址提取出来(剔除本地ip、搜索引擎蜘蛛ip、目标市场ip),然后找这些ip的规律,如果是连续的,可以用ip段进行屏蔽。怎么屏蔽?ytkah刚开始想着用NGINX进行限制,但是没有起到很好的效果,那就用防火墙吧,服务器一般都会有防火墙功能,如果是linux服务器可以用iptables命令(不会写规则的朋友可以参考iptables命令大全),也有一些第三方的服务器控制面板如wdcp,以下是ytkah添加的一些ip段屏蔽规则

    iptables规则列表

      写好屏蔽规则以后,再来看实时流量,一下变为几kb,甚至0,网站也可以像之前一样平滑打开,一下整个世界就安静了。做ip屏蔽时一定要特别注意不要将自己的ip屏蔽了,否则你就无法打开网站和服务器了。可以先将自己的ip进行允许,如上图的accept,其他都设为drop。

  • 相关阅读:
    python Exception中的raise、assert
    python循环语句与其他编程语言不同之处
    【转】最大似然估计
    尝试发表代码
    奇异分解(SVD)
    Python学习笔记3-string
    梯度下降法
    前后端分离
    Trie树
    HashMap的工作原理以及代码实现,为什么要转换成红黑树?
  • 原文地址:https://www.cnblogs.com/ytkah/p/10904901.html
Copyright © 2020-2023  润新知