1. 程式人生 > >Linux伺服器中被DDOS攻擊防禦的SHELL防禦指令碼 .

Linux伺服器中被DDOS攻擊防禦的SHELL防禦指令碼 .

Linux伺服器中一旦受到DDOS的攻擊,目前只能通過封IP來源來暫時解決。

IP不源變化多端,光靠手工來新增簡直是惡夢,想了個方法,用SHELL來做。
比較簡單好用吧..至少我覺得還是不錯的
1.編寫指令碼
mkdir /root/bin
vi /root/bin/dropip.sh
#!/bin/bash
/bin/netstat -na|grep ESTABLISHED|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -rn|head -10|grep -v -E ’192.168|127.0′|awk ‘{if ($2!=null && $1>4) {print $2}}’>/tmp/dropip
for i in $(cat /tmp/dropip)
do
/sbin/iptables -A INPUT -s $i -j DROP
echo “$i kill at `date`”>>/var/log/ddos
done
2.增加執行許可權
chmod +x /root/bin/dropip.sh
3.新增到計劃任務,每分鐘執行一次
crontab -e
*/1 * * * * /root/bin/dropip.sh
說明:
最重要的是第二行,獲取ESTABLISHED連線數最多的前10個ip並寫入臨時檔案/tmp/dropip,排除了內部ip段192.168|127.0開頭的.通過for迴圈將dropip裡面的ip通過iptables全部drop掉,然後寫到日誌檔案/var/log/ddos
提外:

本文章轉自網路,原始作者為:anzai 經老夫拜讀後轉載致此,非常榮幸。以下提供一個QQ技術交流群:28558272 歡迎大家一起加入討論。