當我們的服務器遇到CC攻擊,鑒于系統是centos,運行了下面的這兩行命令:
netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20 | netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A[i],i}’ |sort -rn|head -n20
把請求過多的IP記錄下來。
174.127.94.x
199.27.128.x
199.27.133.x
開始封禁IP,具體可以看我下面運行的命令。本文主要是采用iptables進行封禁,iptables使用方法請見:
iptables -I INPUT -s 174.127.94.0/16 -j DROP
iptables -I INPUT -s 199.27.128.0/16 -j DROP
iptables -I INPUT -s 199.27.133.0/16 -j DROP
iptables -I INPUT -s 193.1.0.0/8 -j DROP 【慎用封禁整個段】
運行上面這些命令之后我們已經完成封禁操作了,不過還得保存一下,如果不保存的話重啟系統之后上面設定的規則會消失。
service iptables save
保存然后重啟:
service iptables restart
這一步建議多進行幾次,發現異常IP用上面的辦法封禁。如果出現誤封可以參考下面這行解封命令進行解封。
iptables -D INPUT -s 222.142.2.0/16 -j DROP
常用命令
封單個IP的命令是:
iptables -I INPUT -s 11.11.11.11 -j DROP
封IP段的命令是:
iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 211.2.0.0/16 -j DROP
iptables -I INPUT -s 211.3.0.0/16 -j DROP
封整個B段的命令是:
iptables -I INPUT -s 211.0.0.0/8 -j DROP
封幾個段的命令是:
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP