很多站長受到 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;

此方案可以通過延緩訪問的方式,減輕訪問量較大的站點的服務器壓力。
希望本文對各位站長朋友有所幫助,有不明白的地方大家可以回帖詳細説明。