服務(wù)器出現(xiàn)緩慢的狀況可能由很多事情導(dǎo)致,比如錯誤的配置,腳本和差的硬件。但是有時候它可能因為有人對你的服務(wù)器用DoS或者DDoS進(jìn)行洪水攻擊。

DoS攻擊或者DDoS攻擊是試圖讓機(jī)器或者網(wǎng)絡(luò)資源不可用的攻擊。這種攻擊的攻擊目標(biāo)網(wǎng)站或者服務(wù)通常是托管在高防服務(wù)器比如銀行,信用卡支付網(wǎng)管,甚至根域名服務(wù)器,DOS攻擊的實施通常迫使目標(biāo)重啟計算機(jī)或者消耗資源,使他們不再提供服務(wù)或者妨礙用戶,訪客訪問。
在這篇小文章中,你可以知道在受到攻擊之后如何在終端中使用netstat命令檢查你的服務(wù)器。
一些例子和解釋
netstat -na顯示所有連接到服務(wù)器的活躍的網(wǎng)絡(luò)連接netstat -an | grep :80 | sort只顯示連接到80段口的活躍的網(wǎng)絡(luò)連接,80是http端口,這對于web服務(wù)器非常有用,并且對結(jié)果排序.對于你從許多的連接中找出單個發(fā)動洪水攻擊IP非常有用netstat -n -p|grep SYN_REC | wc -l這個命令對于在服務(wù)器上找出活躍的SYNC_REC非常有用,數(shù)量應(yīng)該很低,最好少于5.在dos攻擊和郵件炸彈,這個數(shù)字可能非常高.然而值通常依賴于系統(tǒng),所以高的值可能平分給另外的服務(wù)器.netstat -n -p | grep SYN_REC | sort -u列出所有包含的IP地址而不僅僅是計數(shù).netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'列出所有不同的IP地址節(jié)點發(fā)送SYN_REC的連接狀態(tài)netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n使用netstat命令來計算每個IP地址對服務(wù)器的連接數(shù)量netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n列出使用tcp和udp連接到服務(wù)器的數(shù)目netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr檢查ESTABLISHED連接而不是所有連接,這可以每個ip的連接數(shù)netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1顯示并且列出連接到80端口IP地址和連接數(shù).80被用來作為HTTP
如何緩解DDoS攻擊
當(dāng)你發(fā)現(xiàn)攻擊你服務(wù)器的IP你可以使用下面的命令來關(guān)閉他們的連接:
iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT
請注意你必須用你使用netstat命令找到的IP數(shù)替換$IPADRESS
在完成以上的命令,使用下面的命令殺掉所有httpd連接,清除你的系統(tǒng),然后重啟httpd服務(wù)。
killall -KILL httpd service httpd start #For Red Hat systems /etc/init/d/apache2 restar