這幾天伺服器一直受到ddos的攻擊,目前只能通過封ip**來暫時解決。ip不源變化多端,光靠手工來新增簡直是惡夢,想了個方法,用shell來做。
比較簡單,但很實用:) 以下內容根據作者原文進行適當的修改:)
1.編寫指令碼
mkdir /root/bin
vi /root/bin/dropip.sh
#!/bin/bash
/bin/netstat -na|grep established|awk ''|awk -f: ''|sort|uniq -c|sort -rn|head -10|grep -v -e ' 192.168|127.0'|awk '}'>/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
原文:
linux下使用ddos指令碼防止ddos攻擊
ddos概述 分布式拒絕服務 ddos distributeddenial of service 攻擊,指借助於客戶 伺服器技術,將多個計算機聯合起來作為攻擊平台,對乙個或多個目標發動ddos攻擊,從而成倍地提高拒絕服務攻擊的威力。1.安裝web伺服器 安裝yum install httpd 拷貝檔...
ddos防禦指令碼2
1.編寫指令碼 mkdir root bin vi root bin dropip.sh bin bash bin netstat na grep established awk awk f sort uniq c sort rn head 10 grep v e 192.168 127.0 awk...
如何編寫ddos防禦指令碼
ddos攻擊的主要手段是通過大於管道處理能力的流量淹沒管道或通過超過處理能力的任務使系統癱瘓,所以理論上只要攻擊者能夠獲得比目標更強大的 動力 目標是注定會被攻陷的,對ddos攻擊防禦感興趣的朋友可以參考一下 對於ddos攻擊來說並沒有100 有效的防禦手段。但是由於攻擊者必須付出比防禦者大得多的資...