很多站长受到 CC 攻击的困扰,经常会听到这样的声音:「唉,我的网站又被攻击了?该如何处理?」 Discuz! 用最经济 (不用花钱) 的方式采用延缓访问的特性助您抵御 CC 攻击。

我的站被黑了,是 CC 攻击?木马?还是?

前不久一位朋友很焦急的问我,「亲,我站点好像被黑了,不知是被 CC 了还是中了木马,会员们都抱怨半天打不开,真是急死我了。」 这种问题可能很多做站的朋友都遇到过,其实了解了 CC 攻击的原理就很容易分辨出来。

攻击者控制某些主机不停地发大量数据包给对方器造成器资源耗尽,一直到宕机崩溃。攻击者利用 CC 的这个特点模拟 N
个用户并发连接,而这些连接都是真实、分散的,CC
攻击的请求全都是有效的请求,无法拒绝的请求,不易被察觉,那么后果就是站点的页面访问速度集聚下降,用户访问的时候变的非常非常慢。
所以当我们的站点变的比以往慢很多倍的时候就有可能是被 CC 攻击了。

站点慢了,实际上是并发连接太多,也就是堵了,空间一直处于饱和状态,那么我们必须逐步的延缓还在排队的并发连接进入。
用最经济的方式抵御 CC 攻击

了解 CC 攻击的原理以后,我们就想提前防御类似的攻击,以免给站点带来安全隐患,可以安装防 CC 攻击软件,但这些都不是免费的。而
Discuz! 不用在服务器上安装防 CC 软件,为了有效的预防被 CC 攻击,内置了 $_config['security']
['attackevasive']
CC 攻击防御,可以设置站点的防御级别,参数有 1|2|4|8,可以互相组合,来防止大量的非正常请求和正常请求造成的拒绝服务攻击。
看到这里很多朋友肯定有点晕,1|2|4|8 是做什么的,这些数字代表什么意思,我要怎么设置比较合理?请大家仔细往下看:

1 代表 cookie 刷新限制
当同一个 cookie 请求大于或等于 1 秒时刷新,将被限制访问。

2 代表限制代理访问

大家应该都理解什么是代理访问吧?这里就不详细解释了,相信很多站长朋友对代理访问比较熟悉。
利用代理访问是比较常用的一种攻击手段,因为代理可以有效地隐藏自己的身份,也可以绕开所有的防火墙,因为基本上所有的防火墙都会检测并发的 TCP/IP 连接数目,超过一定数目一定频率就会被认为是 Connection-Flood 。
使用代理攻击还能很好的保持连接,我们这里发送了数据,代理帮我们转发给对方服务器,我们就可以马上断开,代理还会继续保持着和对方连接 (有人利用 2000 个代理就能产生 35 万并发连接) 。
所以限制代理访问可以有效防御 CC 攻击。

4 代表二次请求
开启了二次请求机制,先显示等待 2 秒重新加载然后才会跳转出真实的帖子,如下图所示:

2.gif

8 代表回答问题
当第一次访问时需要回答问题,如下图所示:

1.gif

)

答案正确后才可以看到页面的具体内容。

了解了这些数字参数的涵义,我们设置起来就容易的多了,比如我设置成 1|2|4 就代表限制 cookie 刷新+限制代理访问+开启二次请求。

站点该怎么设置呢?

通过上面的概念性了解,实际的操作开始了,必须要在站点的配置文件中设置正确合理后,才可有效防御 CC 攻击。
找到站点程序的 config 文件夹,打开 config_global.php 文件,找到

  1. $_config['security']['attackevasive'] = '0';

进行修改即可,0 为关闭防御,打开防御可以把 0 修改为组合的形式,组合为: 1|2, 1|4, 2|8, 1|2|4... 等

建议大家使用下面的设置方案:

  1. $_config['security']['attackevasive'] = 1|2|4;

此方案可以通过延缓访问的方式,减轻访问量较大的站点的服务器压力。
希望本文对各位站长朋友有所帮助,有不明白的地方大家可以回帖详细说明。