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

服務器配置錯誤等,還有一種常見的可能是有人針對服務器發起了DDoS功擊,導致服務器擁堵或直接崩潰。DDos功擊是最常見的一種網絡功擊方式,主要是通過控制大量僵屍網絡肉雞對服務器發送請求,導致服務器資源耗盡或者網絡堵塞,使正常用戶無法訪問。今天墨者安全就來說說如何使用netstat命令判斷服務器是否遭受Dos功擊?遭到DDoS又該如何緩解?

QQ截圖20190306150606.jpg

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功擊或者郵件×××的時候,這個值相當的高。儘管如此,這個值和系統有很大關係,有的服務器值就很高,也是正常現象。

QQ截圖20190306150719.jpg

如何通過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 系統

QQ截圖20190306150833.jpg

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章