NGINX防禦CC攻擊教程

來源:互聯網
上載者:User

標籤:

CC攻擊即http flood,以攻擊成本低(只需數台httpProxy 伺服器即可實現攻擊)、隱蔽性強(中小CC攻擊一般不會造成網路瓶頸)、難防禦(與正常訪問的請求很難區分開)、威力強大(造成和DDOS流量攻擊一樣的效果,網站長時間無法開啟)等特點著稱。常規的http flood防禦為JS彈回,二次請求驗證加入白名單 和 多層緩衝(七層、四層共同緩衝)實現防禦體。 
 
 
CC攻擊,首先造成的後果往往是被攻擊伺服器CPU爆滿、記憶體佔用高、甚至磁碟IO高佔用。通常伺服器上有永遠處理不完的任務,所以,CC攻擊,也是以拒絕服務為目的的攻擊,屬於DDOS攻擊中的一種。 
 
 
那麼CC攻擊應該如何防禦呢? 
 
 
首先站長朋友需要冷靜下來,對手攻擊你的項目,目的就是要你自亂陣腳,冷靜下來,才好準備拔劍迎戰。 
 
 
分析量有多少: 

netstat -an | grep ‘:80 ‘ -c
 

這是判斷80連接埠的串連數,用這個數字與網站上第三方統計代碼相比對,如果差距懸殊,甚至伺服器卡到統計不出來,那麼就肯定是CC攻擊。 
如果資源佔用太高甚至SSH命令執行都困難,先暫停一段時間的WEB服務(不要覺得失去什麼,服務已經無法訪問,何必留著繼續耗資源?) 
 
 
1.新手必備:限制訪問速率 
使用http://tengine.taobao.org/document_cn/http_limit_req_cn.html中的CONF欄位配置限制語句 #詳細後續編輯# 
 
 
2.擒賊擒王:找出攻擊共同特徵 
按串連數排序 

netstat -nat|grep ":80"|awk ‘{print $5}‘ |awk -F: ‘{print $1}‘ | sort| uniq -c|sort -n
 

找出串連數最大的IP(假設是22.00.**.11),在日誌中匹配 

cat /log/nginx/access.log | grep "22.00.**.11" | more
 

找出訪問日誌中攻擊者所用工具的特徵,然後嘗試在conf中封鎖掉。 
 
 
 
3.報仇不留情:封鎖 
 
 
假如攻擊者使用工具的UA包含“Bench”欄位,那麼可以在conf中屏蔽掉: 
 

location /{    if ( $http_user_agent ~ "Bench" ) {        return 444;    }}

  

 
 
 
 
 
附錄:常見防禦CC攻擊演算法 
 
 
日誌分析 
將日誌中訪問頻率過高的IP封鎖 
將日誌中不符合人的特徵的IP封鎖(同一URL訪問不合理次數等等) 

NGINX防禦CC攻擊教程

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.