天天看點

如何通過netstat指令判斷是否遭受Dos攻擊?遭到DDoS該如何緩解?

作為一個伺服器運維人員,相信都遇到過伺服器卡頓、延遲這種現象,原因有可能是腳本出錯、程式BUG、伺服器配置錯誤等,還有一種常見的可能是有人針對伺服器發起了DDoS攻擊,導緻伺服器擁堵或直接崩潰。DDos攻擊是最常見的一種網絡攻擊方式,主要是通過控制大量僵屍網絡殭屍電腦對伺服器發送請求,導緻伺服器資源耗盡或者網絡堵塞,使正常使用者無法通路。今天墨者安全就來說說如何使用netstat指令判斷伺服器是否遭受Dos攻擊?遭到DDoS又該如何緩解?

如何通過netstat指令判斷是否遭受Dos攻擊?遭到DDoS該如何緩解?

netstat指令的作用主要是用來查詢和顯示網絡連接配接、接口統計、僞連接配接等,常見的查詢指令有以下幾種:

netstat -n -p | grep SYN_REC | sort -u

列出所有連接配接過的IP位址。

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

使用netstat指令計算每個主機連接配接到本機的連接配接數。

netstat -na

該指令将顯示所有活動的網絡連接配接。

netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

列出所有發送SYN_REC連接配接節點的IP位址。

netstat -an | grep :80 | sort

顯示所有80端口的網絡連接配接并排序。這裡的80端口是http端口,是以可以用來監控web服務。如果看到同一個IP有大量連接配接的話就可以判定單點流量攻擊了。

netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

檢查 ESTABLISHED 連接配接并且列出每個IP位址的連接配接數量。

netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

列出所有連接配接到本機80端口的IP位址和其連接配接數。80端口一般是用來處理HTTP網頁請求。

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

列出所有連接配接到本機的UDP或者TCP連接配接的IP數量。

netstat -n -p|grep SYN_REC | wc -l

這個指令可以查找出目前伺服器有多少個活動的 SYNC_REC 連接配接。正常來說這個值很小,最好小于5。 當有Dos攻擊或者郵件炸彈的時候,這個值相當的高。盡管如此,這個值和系統有很大關系,有的伺服器值就很高,也是正常現象。

如何通過netstat指令判斷是否遭受Dos攻擊?遭到DDoS該如何緩解?
如何通過netstat指令緩解DDOS攻擊呢?

一旦獲得攻擊伺服器的IP位址就可以使用以下指令拒絕此IP的所有連接配接。

iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT

注意,你需要将 $IPADRESS 替換成需要拒絕連接配接的IP位址。執行完以上指令後,使用以下指令結束所有的httpd連接配接以清理系統。

killall -KILL httpd

然後執行以下指令重新開機httpd服務。

service httpd start           #RedHat 系統 

/etc/init/d/apache2 restart   #Debian 系統

如何通過netstat指令判斷是否遭受Dos攻擊?遭到DDoS該如何緩解?

當然通過netstat指令隻能緩解部分DDoS攻擊,而且還很有可能造成大量誤封正常訪客。是以墨者安全還是建議最好通過專業的網絡安全公司部署DDoS高防IP,對惡意攻擊流量進行清洗,隐藏伺服器源IP,確定源站穩定運作。

繼續閱讀