Windows 2000 Server 的 TCP/IP 利用與對策
2024-09-08 18:09:21
供稿:網友
概要
本模塊著重講述了 Windows 2000 TCP/IP 堆棧的可能利用,并具體描述了可通過配置 HKLM/System/CurrentControlSet/Services/Tcpip/Parameters/ 注冊表項來應用的對策。此外,模塊還講述了該配置的潛在影響。
返回頁首
Windows 2000 TCP/IP 堆棧潛在威脅和對策的影響
表 1 顯示了 TCP/IP 堆棧的潛在利用。該表還顯示了可能的對策,以及利用與對策的潛在影響。
表 1:TCP/IP 堆棧的潛在利用
注冊表值項 對策潛在影響 潛在利用
EnableICMPRedirect
假如將路由和遠程訪問服務 (RRAS) 配置為自治系統邊界路由器 (ASBR),它將無法正確導入連接接口子網路由。相反,該路由器將主機路由插入開放式最短路徑優先 (OSPF) 路由中。由于 OSPF 路由器不能用作 ASBR 路由器,導入連接接口子網路由至 OSPF 將導致路由表與生疏的路由路徑相互混淆。
Internet 控制消息協議 (ICMP) 重定向將導致堆棧探測主機路由。這些路由將覆蓋 OSPF 生成的路由。
這一結果本身是預料中的行為。但問題是,由于 ICMP 重定向探測路由的超時時間是 10 分鐘,這便在相關網絡中形成黑洞。
SynAttackProtect
該注冊表值答應 TCP 調整 SYN-ACK 的重新傳輸。配置了該值后,一旦發生 SYN 攻擊,連接響應的超時時間更短。該值在連接指示中增加了額外的延遲,在發生 SYN 攻擊時,TCP 連接請求的超時時間很短。假如配置了該設置,每個適配器(包括初始往返時間 (RTT) 和窗口大小)套接字選項所配置的可伸縮窗口和 TCP 參數將不再起作用。
在 SYN Flood 攻擊中,攻擊者向服務器持續發送 SYN 數據包流,服務器使處于半打開狀態的連接一直保持打開狀態,直至被沉沒在龐大的數據流中而無法響應合法的請求。
EnableDeadGWDetect
啟用間隔網關檢測后,假如有很多連接都存在問題,TCP 可能要求 IP 切換到備份網關,假如該設置的值是 0,Windows 不再檢測間隔網關,并自動切換到替換網關。
攻擊者可強制服務器切換網關,并極有可能切換到毫無預備的網關。
EnablePMTUDiscovery
假如 EnablePMTUDiscovery 的設置是 1,TCP 將嘗試發現遠程主機路徑中的最大傳輸單位 (MTU) 或最大數據包大小。TCP 可通過發現路徑的 MTU 并將 TCP 段限制在該值之內來在 MTU 不同的網絡連接路徑中消除路由器中的碎片。
碎片對 TCP 吞吐量有負面影響。假如值設置是 0,所有非本地子網主機的連接都將使用 576 字節的 MTU。
假如值非 0,攻擊者可強制 MTU 為非常小的值,然后強制服務器分割大量的數據包,進而使堆棧超負荷工作。
KeepAliveTime
該值控制了 TCP 嘗試通過發送 KeepAlive 數據包確認空閑連接是否依然毫無變化的頻率。假如遠程計算機仍可訪問,說明數據包保持有效 (KeepAlive)。
在默認情況下,系統不發送 KeepAlive 數據包。您可通過程序在連接中配置該值。假如減少至 5 分鐘(默認值是 2 小時),表示非活動會話將很快斷開。
能連接網絡應用程序的攻擊者可以通過建立大量的連接造成 DoS。
DisableIPSourceRouting
IP 源路由這種機制答應發送者確定數據報通過網絡的 IP 路由。將該值設置為 2 將導致所有傳入的源路由數據包丟失。
攻擊者使用源路由數據包隱蔽他們的身份和位置。源路由答應計算機發送數據包來指定自己使用的路由。
TCPMaxConnectResponseRetransmissions
該參數控制了在未明確 SYN 的情況下,SYN-ACK 因響應連接請求而重新傳輸的次數。
假如值大于或等于 2,表示堆棧在內部使用 SYN-ATTACK 保護。假如值小于 2,表示堆棧的 SYN-ATTACK 保護根本不讀取注冊表值。該參數縮短了清理 TCP 連接所需的默認時間。遭受強烈攻擊的站點可降低該值至 1。設置為 0 也有效。但是,假如該參數的設置是 0,SYN-ACK 根本不會重新傳輸,并在 3 秒鐘后超時。假如值非常低,遠端客戶端的合法連接嘗試也將失敗。