网站遇到CC攻击的防护办法有哪些?

cc攻击的防护没那么简单的,伪装手段也是千万变化,据我所知360网站卫士没有你说的那么好的效果,贴篇月光博客文章给你看好了:网站防止cc攻击的方法节选下内容: 一开始我想使用某某网站卫士来预防攻击,从界面上看,似乎是防止了大量的cc攻击,但登录网站后发现,流量依旧异常,攻击还是依旧,看起来这个网站卫士的效果并没有达到。 从原理上看,基本上所有的防火墙都会检测并发的tcp/ip连接数目,超过一定数目一定频率就会被认为是connection-flood。但如果ip的数量足够大,使得单个ip的连接数较少,那么防火墙未必能阻止cc攻击。 不仅如此,我还发现,启用了某某网站卫士之后,反而更容易被cc攻击,因为这个网站卫士并不能过滤掉cc攻击,攻击的ip经过其加速后,更换成为这个网站卫士的ip,在网站服务器端显示的ip都是相同的,导致服务器端无法过滤这些ip。
通常发起cc攻击是使用专门的攻击工具,同时模拟成多个用户,向目标网站发起多个请求,一般这些软件为了防止地址被屏蔽,还内置通过代理攻击的功能。可以通过多个代理服务器对目标发起攻击,使封ip的防御方式变的失效。防御思路因为cc攻击通过工具软件发起,而普通用户通过浏览器访问,这其中就会有某些区别。想办法对这二者作出判断,选择性的屏蔽来自机器的流量即可。初级普通浏览器发起请求时,除了要访问的地址以外,http头中还会带有referer,useragent等多项信息。遇到攻击时可以通过日志查看访问信息,看攻击的流量是否有明显特征,比如固定的referer或useragent,如果能找到特征,就可以直接屏蔽掉了。中级如果攻击者伪造了referer和useragent等信息,那就需要从其他地方入手。攻击软件一般来说功能都比较简单,只有固定的发包功能,而浏览器会完整的支持http协议,我们可以利用这一点来进行防御。首先为每个访问者定义一个字符串,保存在cookies中作为token,必须要带有正确的token才可以访问后端服务。当用户第一次访问时,会检测到用户的cookies里面并没有这个token,则返回一个302重定向,目标地址为当前页面,同时在返回的http头中加入set cookies字段,对cookies进行设置,使用户带有这个token。客户端如果是一个正常的浏览器,那么就会支持http头中的set cookie和302重定向指令,将带上正确的token再次访问页面,这时候后台检测到正确的token,就会放行,这之后用户的http请求都会带有这个token,所以并不会受到阻拦。客户端如果是cc软件,那么一般不会支持这些指令,那么就会一直被拦在最外层,并不会对服务器内部造成压力。高级高级一点的,还可以返回一个网页,在页面中嵌入javascript来设置cookies并跳转,这样被伪造请求的可能性更小token生成算法token需要满足以下几点要求1,每个ip地址的token不同 2, 无法伪造3, 一致性,即对相同的客户端,每次生成的token相同token随ip地址变化是为了防止通过一台机器获取token之后,再通过代理服务区进行攻击。一致性则是为了避免在服务器端需要存储已经生成的token。推荐使用以下算法生成token,其中key为服务器独有的保密字符串,这个算法生成的token可以满足以上这些要求。token = hash( useragent + client_ip + key )
上一个:建设企业官网有哪些好的方法?带你一起来看看
下一个:暂无
大理网站建设,大理做网站,大理网站设计