用Discuz!X2建設論壇的網站不計其數,但也經常聽到站長們報怨自己的論壇被CC攻擊,導致網站不能正常訪問或癱瘓,其實Discuz!是有防CC攻擊的相關設置的,大部分站長很可能沒有去啟用這些功能,具體實現方法如下:
一、CC攻擊的原理分析:攻擊者控制某些主機不停地發大量數據包給對方器造成器資源耗盡,一直到宕機崩潰。攻擊者利用CC 的這個特點模擬N 個用戶並發連接,而這些連接都是真實、分散的,CC 攻擊的請求全都是有效的請求,無法拒絕的請求,不易被察覺,那麼後果就是站點的頁面訪問速度集聚下降,用戶訪問的時候變的非常非常慢。所以當我們的站點變的比以往慢很多倍的時候就有可能是被CC 攻擊了。 二、Discuz!X2防CC攻擊原理分析:1代表cookie 刷新限制: 當同一個cookie 請求大於或等於1 秒時刷新,將被限制訪問。 2代表限制代理訪問: 大家應該都理解什麼是代理訪問吧?這裡就不詳細解釋了,相信很多站長朋友對代理訪問比較熟悉。
利用代理訪問是比較常用的一種攻擊手段,因為代理可以有效地隱藏自己的身份,也可以繞開所有的防火牆,因為基本上所有的防火牆都會檢測並發的TCP/IP連接數目,超過一定數目一定頻率就會被認為是Connection-Flood。
使用代理攻擊還能很好的保持連接,我們這裡發送了數據,代理幫我們轉發給對方服務器,我們就可以馬上斷開,代理還會繼續保持著和對方連接(有人利用2000個代理就能產生35萬並發連接)。
所以限制代理訪問可以有效防禦CC攻擊。 4代表二次請求: 開啟了二次請求機制,先顯示等待2 秒重新加載然後才會跳轉出真實的帖子,如下圖所示:
8代表回答問題: 當第一次訪問時需要回答問題,如下圖所示: 答案正確後才可以看到頁面的具體內容。
了解了這些數字參數的涵義,我們設置起來就容易的多了,比如我設置成1|2|4 就代表限制cookie刷新+限制代理訪問+開啟二次請求。 三、詳細設置教程:通過上面的概念性了解,實際的操作開始了,必須要在站點的配置文件中設置正確合理後,才可有效防禦CC攻擊。
找到站點程序的config文件夾,打開config_global.php文件,找到: $_config['security']['attackevasive'] = '0';進行修改即可,0為關閉防禦,打開防禦可以把0修改為組合的形式,組合為: 1|2, 1|4, 2|8, 1|2|4…等。建議大家使用以下方案: $_config['security']['attackevasive'] = 1|2|4;此方案可以通過延緩訪問的方式,減輕訪問量較大的站點的服務器壓力。
|