天天看點

syn flag flooding防禦

       一台機器在網絡中通訊時首先需要建立TCP握手,标準的TCP握手需要三次包交換來建立。一台伺服器一旦接收到客戶機的SYN包後必須回應一個SYN/ACK包,然後等待該客戶機回應給它一個ACK包來确認,才真正建立連接配接。然而,如果隻發送初始化的 SYN包,而不發送确認伺服器的ACK包會導緻伺服器一直等待ACK包。由于伺服器在有限的時間内隻能響應有限數量的連接配接,這就會導緻伺服器一直等待回應 而無法響應其他機器進行的連接配接請求。

        一種新型的防禦攻擊的方式—— TCP Cookie,TCP Cookie 技術針對 TCP 協定的軟肋,做出了一些改進,隻需要在系統中開啟tcp_syncookies。

   1. 在 /etc/rc.d/rc.local中添加

      echo 1 > /proc/sys/net/ipv4/tcp_syncookies

   2. 編輯/etc/sysctl.conf 檔案

       net.ipv4.tcp_syncookies = 1

   3. 重新開機系統

令人高興的是,我的centos5.3系統,已做了上述防禦工作。不知fedora 13是不是也做了相關防禦。

補充:

TCP SYN掃描

       在這種技術中,掃描主機向目标主機的選擇端口發送SYN資料段。如果應答是RST,那麼說明端口是關閉的,按照設定就探聽其它端口;如果應答中包含SYN 和ACK,說明目标端口處于監聽狀态。由于所有的掃描主機都需要知道這個資訊,傳送一個RST給目标機進而停止建立連接配接。由于在SYN掃描時,全連接配接尚未 建立,是以這種技術通常被稱為半打開掃描。SYN掃描的優點在于即使日志中對掃描有所記錄,但是嘗試進行連接配接的記錄也要比全掃描少得多。缺點是在大部分操 作系統下,發送主機需要構造适用于這種掃描的IP包,通常情況下,構造SYN資料包需要超級使用者或者授權使用者通路專門的系統調用。

下一篇: 結構與類

繼續閱讀