这两天ytkah开发的一个中大型项目被人盯上了,网站打开很是慢,查看了一下cpu、内存使用状况,30%左右占用不高,网络上下行就比较大了,IO实时流量达到40MB,IO总流量更是7TB,很是大的数据量了。网站没有提供文件下载,也没有视频,第一反应是被恶意采集了。这个项目有几百万个页面,不少人也想整一个捞点流量。查看log日志,发现有一些ip段瞬时访问量很高,并且访问的是不一样的连续的页面,证明本身的断定是正确。若是是cc攻击的话通常就固定几个页面。html
知道了缘由就比较好办了,屏蔽那些ip段应该就太平了。将log日志中的ip地址提取出来(剔除本地ip、搜索引擎蜘蛛ip、目标市场ip),而后找这些ip的规律,若是是连续的,能够用ip段进行屏蔽。怎么屏蔽?ytkah刚开始想着用NGINX进行限制,可是没有起到很好的效果,那就用防火墙吧,服务器通常都会有防火墙功能,若是是linux服务器能够用iptables命令(不会写规则的朋友能够参考iptables命令大全),也有一些第三方的服务器控制面板如wdcp,如下是ytkah添加的一些ip段屏蔽规则linux
写好屏蔽规则之后,再来看实时流量,一下变为几kb,甚至0,网站也能够像以前同样平滑打开,一下整个世界就安静了。作ip屏蔽时必定要特别注意不要将本身的ip屏蔽了,不然你就没法打开网站和服务器了。能够先将本身的ip进行容许,如上图的accept,其余都设为drop。服务器