服务器cc攻击的原理,及如何防范CC攻击的防御策略
攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。
一、CC攻击防御策略
1.取消域名绑定
取消域名绑定后Web服务器的CPU能够马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻击者发现之后,攻击者也会对新域名实施攻击。
2.更改Web端口
一般情况下Web服务器通过80端口对外提供服务,因此攻击者实施攻击就以默认的80端口进行攻击,所以,可以修改Web端口达到防CC攻击的目的。
3.IIS屏蔽IP
我们通过命令或在查看日志发现了CC攻击的源IP,就可以在IIS中设置屏蔽该IP对Web站点的访问,从而达到防范IIS攻击的目的。
二、CC攻击的防范手段
1.优化代码
尽可能使用缓存来存储重复的查询内容,减少重复的数据查询资源开销。减少复杂框架的调用,减少不必要的数据请求和处理逻辑。程序执行中,及时释放资源,比如及时关闭mysql连接,及时关闭memcache连接等,减少空连接消耗。
2.限制手段
对一些负载较高的程序增加前置条件判断,可行的判断方法如下:
必须具有网站签发的session信息才可以使用(可简单阻止程序发起的集中请求);必须具有正确的referer(可有效防止嵌入式代码的攻击);禁止一些客户端类型的请求(比如一些典型的不良蜘蛛特征);同一session多少秒内只能执行一次。
3.完善日志
尽可能完整保留访问日志。日志分析程序,能够尽快判断出异常访问,比如单一ip密集访问;比如特定url同比请求激增。