DDoS deflate是一款免費的用來防禦和減輕DDoS***的腳本。它通過netstat監測跟蹤創建大量網絡連接的IP地址,在檢測到某個結點超過預設的限 制時,該程序會通過APF或IPTABLES禁止或阻擋這些IP.
DDoS deflate官方網站:http://deflate.medialayer.com/
如何確認是否受到DDOS***
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
1、安裝DDoS deflate
wget http://www.inetbase.com/scripts/ddos/install.sh //下載DDoS deflate chmod 0700 install.sh //添加權限 ./install.sh //執行
安裝的文件如下:
[root@server ~]# locate ddos
/etc/cron.d/ddos.cron
/usr/local/ddos
/usr/local/ddos/LICENSE
/usr/local/ddos/ddos.conf
/usr/local/ddos/ddos.sh
/usr/local/ddos/ignore.ip.list
/usr/local/sbin/ddos
2、配置DDoS deflate
下面是DDoS deflate的默認配置位於/usr/local/ddos/ddos.conf ,內容如下:
##### Paths of the script and other files PROGDIR="/usr/local/ddos" PROG="/usr/local/ddos/ddos.sh" IGNORE_IP_LIST="/usr/local/ddos/ignore.ip.list" //IP地址白名單 CRON="/etc/cron.d/ddos.cron" //定時執行程序 APF="/etc/apf/apf" IPT="/sbin/iptables" ##### frequency in minutes for running the script ##### Caution: Every time this setting is changed, run the script with --cron ##### option so that the new frequency takes effect FREQ=1 //檢查時間間隔,默認1分鐘 ##### How many connections define a bad IP? Indicate that below. NO_OF_CONNECTIONS=150 //最大連接數,超過這個數IP就會被屏蔽,一般默認即可 ##### APF_BAN=1 (Make sure your APF version is atleast 0.96) ##### APF_BAN=0 (Uses iptables for banning ips instead of APF) APF_BAN=1 //使用APF還是iptables。推薦使用iptables,將APF_BAN的值改爲0即可。 ##### KILL=0 (Bad IPs are'nt banned, good for interactive execution of script) ##### KILL=1 (Recommended setting) KILL=1 //是否屏蔽IP,默認即可 ##### An email is sent to the following address when an IP is banned. ##### Blank would suppress sending of mails EMAIL_TO="[email protected]" //當IP被屏蔽時給指定郵箱發送郵件,推薦使用,換成自己的郵箱即可 ##### Number of seconds the banned ip should remain in blacklist. BAN_PERIOD=600 //禁用IP時間,默認600秒,可根據情況調整
用戶可根據給默認配置文件加上的註釋提示內容,修改配置文件。
查看/usr/local/ddos/ddos.sh文件的第117行
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -nr > $BAD_IP_LIST
修改爲以下代碼即可! netstat -ntu | awk '{print $5}' | egrep -o "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | sort | uniq -c | sort -nr > $BAD_IP_LIST