各種網絡應用軟件一般必須開放一個或者幾個端口供外界使用,所以其必定可以 會被惡意攻擊者向這幾個口發起拒絕服務攻擊,其中一個很流行的攻擊就是SYN FLOOD,在攻擊發生時,客戶端的來源IP地址是經過偽造的(spoofed),現行的IP 路由機制僅檢查目的IP地址並進行轉發,該IP包到達目的主機後返回路徑無法通 過路由達到的,於是目的主機無法通過TCP三次握手建立連接。在此期間因為TCP #套接口緩存隊列被迅速填滿,而拒絕新的連接請求。為了防止這些攻擊,部分UNIX 變種采用分離入站的套接口連接請求隊列,一隊列針對半打開套接口(SYN 接收, SYNACK 發送), 另一隊列針對全打開套借口等待一個accept()調用,增加這兩隊 列可以很好的緩和這些SYN FLOOD攻擊並使對服務器的影響減到最小程度: Linux kernel 2.4 #/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog=1280 有效的增加q0的套接口隊列大小. #sbin/sysctl -w net.ipv4.tcp_syn_cookies=1 啟用TCP SYN cookies支持,能有效的減輕SYN FLOOD的攻擊,但是這個參數會對一些大的窗口引起一些性能問題.
\