您好,登錄后才能下訂單哦!
TCP SYN Flood是一種常見,而且有效的遠端(遠程)拒絕服務(Denial of Service)***方式,它透過一定的操作破壞TCP三次握手建立正常連接,占用并耗費系統資源,使得提供TCP服務的主機系統無法正常工作。
一、如何判斷
1、服務端無法提供正常的TCP服務。連接請求被拒絕或超時。
2、透過 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'命令檢查系統,發現有大量的SYN_RECV連接狀態。
檢查服務器鏈接,SYN_RECV數量異常,訪問服務器網頁特別慢,甚至超時,所以基本判定是SYN_RECV***。
二、解決方法
1,增加未完成連接隊列(q0)的最大長度。
echo1280>/proc/sys/net/ipv4/tcp_max_syn_backlog
2, 啟動SYN_cookie。
echo 1>/proc/sys/net/ipv4/tcp_syncookies
這些是被動的方法,治標不治本。而且加大了服務器的負擔,但是可以避免被拒絕***(只是減緩)
治本的方法是在防火墻上做手腳。但是現在能在一定程度上防住syn flood***的防火墻都不便宜。并且把這個命令加入"/etc/rc.d/rc.local"文件中
如果對 /proc/sys/net/ipv4 下的配置文件進行解釋,可以參閱 LinuxAid技術站的文章。查看本文全文也可以參閱。
關于 syn cookies, 請參閱 <>http://cr.yp.to/syncookies.html
也許使用mod_limitipconn.c來限制apache的并發數也會有一定的幫助。
2. iptables的設置,引用自CU
防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp --syn -m limit --limit1/s -j ACCEPT
也有人寫作
#iptables -A INPUT -p tcp --syn -m limit --limit 1/s-j ACCEPT
--limit 1/s 限制syn并發數每秒1次,可以根據自己的需要修改
防止各種端口掃描
# iptables -A FORWARD -p tcp --tcp-flagsSYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Ping洪水***(Ping of Death)
# iptables -A FORWARD -p icmp --icmp-type echo-request-m limit --limit 1/s -j ACCEPT
來源于百度百科
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。