連續幾天遭遇小規模的cc攻擊,雖然危害不大,但每次受到攻擊都要登錄到服務器上,把一套措施從新走一遍。一次是晚上11點,一次週六,影響休息,煩人至極。
這幾回的cc攻擊,應該是來自同一個組織,由於,正巧發現這幾回cc攻擊在access log中留下的客戶端類型都同樣
java
"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate"
因而突發奇想,把這個類型的客戶端禁止了不就能夠了嗎?
web服務器用的是nginx
用must-revalidate作爲關鍵詞,在nginx.conf中的 server段中添加幾句
python
if ($http_user_agent ~ must-revalidate) { return 503; }
重啓nginx。模擬客戶端訪問了一下
nginx
curl www.okpython.com -A "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; MyIE 3.01)Cache-Control: no-store, must-revalidate"
返回 503 Service Temporarily Unavailable
之因此 return 503 而不 return 403 ,是爲了迷惑敵人而已。
返回一個503,對服務器來講影響不大,只佔用一個nginx的線程而已。相對來講仍是很划算的。
web