来源:自学PHP网 时间:2015-04-17 13:03 作者: 阅读:次
[导读] 最近博客换独立服务器了,就研究了一下IIS防止CC攻击我的思路是每2秒取当前网络连接IP列表,判断远程IP有没有超过100个连接数,有则添加到IIS黑名单禁止访问写成系统服务程序测试发现在...
最近博客换独立服务器了,就研究了一下IIS防止CC攻击
我的思路是每2秒取当前网络连接IP列表,判断远程IP有没有超过100个连接数,有则添加到IIS黑名单禁止访问 写成系统服务程序测试发现在肉鸡少的情况下能防,但是肉鸡多的情况下IP列表连接数达到几万甚至几十万,而且CPU使用率一直是%100 服务器会运行很慢,然后程序在取网络连接IP列表的时候也变的很慢,取一次的效率估计得一分钟左右,取出来还要进行筛选判断远程连接IP有没有超过100个,这里又会占用大量系统资源,这个操作经测试得几分钟才能封一个IP.如果成百肉鸡同时CC攻击的话,首先会导致服务器CPU使用率达到100,然后这个程序执行过程中又会占用很多内存以及CPU,两者叠加在一起造成了无法及时处理,因为肉鸡多的情况下处理一个IP的黑名单得几分钟,越久CPU温度越高,连FTP服务远程桌面都不能及时处理,还将导致无法连接远程桌面,所以这样算来这个防护程序还是失败了,得换一下思路 想了一下像现在的防火墙一样有一个驱动,那样在网络达到IIS之前就开始判断,然后在数据包没有达到IIS请求的时候就封掉IP的访问,那样不会造成CPU使用率达到%100,就能解决掉CC攻击,但是写驱动我不会了,唉,杯具,研究了几天还是没弄好. 不知道在Windows环境中有没有类似于Linux中的iptables防火墙那样的,可以限制每个IP对每个端口的连接数,可以进行L7拦截,如果有这样的防火墙希望大家能推荐一下,实在没有我就只能想办法以后服务器就不直接连wan了,先用一个双网卡route os软路由做算了,然后端口映射到web服务器了。 作者:王健宇 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com