NGINX防禦CC攻擊教程
CC攻擊即http flood,以攻擊成本低(只需數臺http代理伺服器即可實現攻擊)、隱蔽性強(中小CC攻擊一般不會造成網路瓶頸)、難防禦(與正常訪問的請求很難區分開)、威力強大(造成和DDOS流量攻擊一樣的效果,網站長時間無法開啟)等特點著稱。常規的http flood防禦為JS彈回,二次請求驗證加入白名單 和 多層快取(七層、四層共同快取)實現防禦體。
CC攻擊,首先造成的後果往往是被攻擊伺服器CPU爆滿、記憶體佔用高、甚至磁碟IO高佔用。通常伺服器上有永遠處理不完的任務,所以,CC攻擊,也是以拒絕服務為目的的攻擊,屬於DDOS攻擊中的一種。
那麼CC攻擊應該如何防禦呢?
首先站長朋友需要冷靜下來,對手攻擊你的專案,目的就是要你自亂陣腳,冷靜下來,才好準備拔劍迎戰。
分析量有多少:
1 |
|
這是判斷80埠的連線數,用這個數字與網站上第三方統計程式碼相比對,如果差距懸殊,甚至伺服器卡到統計不出來,那麼就肯定是CC攻擊。
如果資源佔用太高甚至SSH命令執行都困難,先暫停一段時間的WEB服務(不要覺得失去什麼,服務已經無法訪問,何必留著繼續耗資源?)
1.新手必備:限制訪問速率
使用http://tengine.taobao.org/document_cn/http_limit_req_cn.html
2.擒賊擒王:找出攻擊共同特徵
按連線數排序
1 |
|
找出連線數最大的IP(假設是22.00.**.11),在日誌中匹配
1 |
"22.00.**.11" | more |
找出訪問日誌中攻擊者所用工具的特徵,然後嘗試在conf中封禁掉。
3.報仇不留情:封禁
假如攻擊者使用工具的UA包含“Bench”欄位,那麼可以在conf中遮蔽掉:
1 2 3 4 5 |
|
附錄:常見防禦CC攻擊演算法
日誌分析
將日誌中訪問頻率過高的IP封禁
將日誌中不符合人的特徵的IP封禁(同一URL訪問不合理次數等等) 原創網址:https://www.cnblogs.com/terryguan/p/4602599.html