在linux中要防ddos攻擊我們最常用的辦法就是安裝DDoS deflate來防止或減輕ddos攻擊了,但還有使用其它方法,下面我來介紹一下。
DDoS deflate介紹
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 |
執行後,將會顯示伺服器上所有的每個IP多少個串連數。
以下是我自己用VPS測試的結果:
代碼如下 |
複製代碼 |
li88-99:~# netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 1 114.226.9.132 1 174.129.237.157 1 58.60.118.142 1 Address 1 servers) 2 118.26.131.78 3 123.125.1.202 3 220.248.43.119 4 117.36.231.253 4 119.162.46.124 6 219.140.232.128 8 220.181.61.31 2311 67.215.242.196 |
每個IP幾個、十幾個或幾十個串連數都還算比較正常,如果像上面成百上千肯定就不正常了。
1、安裝DDoS deflate123 wget http://www.inetbase.com/scripts/ddos/install.sh //下載DDoS deflate
代碼如下 |
複製代碼 |
chmod 0700 install.sh //添加許可權 ./install.sh //執行 |
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="root" //當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}` | cut -d: -f1 | sed -n `/[0-9]/p` | sort | uniq -c | sort -nr > $BAD_IP_LIST |
喜歡折騰的可以用Web壓力測試軟體測試一下效果,相信DDoS deflate還是能給你的VPS或伺服器抵禦一部分DDOS攻擊,給你的網站更多的保護。
除了這種辦法我們再推薦自己使用的一種防ddos攻擊的方法
指令碼
代碼如下 |
複製代碼 |
wget http://www.inetbase.com/scripts/ddos/install.sh chmod +x install.sh ./install.sh |
如需卸載則
代碼如下 |
複製代碼 |
wget http://www.inetbase.com/scripts/ddos/uninstall.sh chmod +x uninstall.sh ./uninstall.sh |
然後就安裝成功了.對於一般的ddos應該沒問題了.