Discuz!開源系統(tǒng)是如何防御CC攻擊的?
網(wǎng)友解答: CC攻擊的種類有三種,直接攻擊,代理攻擊,僵尸網(wǎng)絡攻擊,直接攻擊主要針對有重要缺陷的 WEB 應用程序,一般說來是程序寫的有問題的時候才會出現(xiàn)這種情況,比較少見。僵尸網(wǎng)絡攻擊
CC攻擊的種類有三種,直接攻擊,代理攻擊,僵尸網(wǎng)絡攻擊,直接攻擊主要針對有重要缺陷的 WEB 應用程序,一般說來是程序寫的有問題的時候才會出現(xiàn)這種情況,比較少見。僵尸網(wǎng)絡攻擊有點類似于 DDOS 攻擊了,從 WEB 應用程序層面上已經(jīng)無法防御,所以這兩種情況我們不進行深入的探討,這里要主要討論第二種,代理攻擊,CC 攻擊者一般會操作一批代理服務器,比方說 100 個代理,然后每個代理同時發(fā)出 10 個請求,這樣 WEB 服務器同時收到 1000 個并發(fā)請求的,并且在發(fā)出請求后,立刻斷掉與代理的連接,避免代理返回的數(shù)據(jù)將本身的帶寬堵死,而不能發(fā)動再次請求,這時 WEB 服務器會將響應這些請求的進程進行隊列,數(shù)據(jù)庫服務器也同樣如此,這樣一來,正常請求將會被排在很后被處理,就象本來你去食堂吃飯時,一般只有不到十個人在排隊,今天前面卻插了一千個人,那么輪到你的機會就很小很小了,這時就出現(xiàn)頁面打開極其緩慢或者白屏。Discuz在抵抗CC攻擊可以根據(jù)實際遭受攻擊的情況,通過配置組合出適合的抵抗方法。限于篇幅,不詳細闡述對抗原理,現(xiàn)將配置方法做下簡要說明。
配置文件 config.inc.php
$attackevasive = 0; // 論壇防御級別,可防止大量的非正常請求造成的拒絕服務攻擊
// 防護大量正常請求造成的拒絕服務攻擊,
// 0=關閉, 1=cookie 刷新限制, 2=限制代理訪問, 4=二次請求, 8=回答問題(第一次訪問時需要回答問題)
// 組合為: 1|2, 1|4, 2|8, 1|2|4...
?? 正常情況下設置為 0,在遭到攻擊時,分析其攻擊手法和規(guī)律,組合使用。 可以嘗試先設置為 2, 2|4, 1|2|4|, 1|2|4|8, 如果 1|2|4|8 還不行,我們認為應用程序層面上已經(jīng)抵擋不住,可能主機遭受的攻擊來自于僵尸網(wǎng)絡的 DDOS 攻擊了,我們建議您從防火墻策略上入手。