Windows 2000 Server 的 TCP/IP 漏洞與對策

Overview

發佈日期: 2004 年 11 月 17 日 | 更新日期: 2006 年 5 月 31 日

本頁內容

目標
適用於
如何使用本單元
摘要
Windows 2000 TCP/IP 堆疊可能的威脅及對策的影響

目標

透過本單元即可:

  • 識別 Microsoft® Windows® 2000 作業系統 TCP/IP 堆疊可能的漏洞。

  • 將登錄設定成是因應 Windows 2000 TCP/IP 堆疊漏洞的對策。

  • 識別 Windows 2000 TCP/IP 堆疊其漏洞和對策的可能影響。

回到頁首

適用於

本單元適用於下列產品及技術:

  • Windows 2000

  • Windows 2000 TCP/IP 堆疊

  • Windows 2000 登錄

回到頁首

如何使用本單元

本單元應用於保障 Windows 2000 TCP/IP 堆疊的安全。本單元也可用於識別 TCP/IP 堆疊的漏洞和對策的影響。

回到頁首

摘要

本單元在於強調 Windows 2000 TCP/IP 堆疊可能的漏洞。本單元還探討了可透過 HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\ 登錄機碼的設定而套用的對策。另外也涵蓋了此設定的可能影響。

回到頁首

Windows 2000 TCP/IP 堆疊可能的威脅及對策的影響

[表 1] 指出 TCP/IP 堆疊可能的漏洞。該表還指出可能的對策,以及漏洞和對策可能的影響。

[表 1]:TCP/IP 堆疊可能的漏洞

登錄值項目 對策可能的影響 可能的漏洞
EnableICMPRedirect 當「路由及遠端存取服務 (RRAS)」設定為自發的系統邊界路由器 (Autonomous System Boundary Router,ASBR) 時,並無法正確地匯入連線的介面子網路路由。此路由器反而會將主機路由插入 Open Shortest Path First (OSPF) 路由。由於 OSPF 路由器無法用作為 ASBR 路由器,將連線的介面子網路路由匯入到 OSPF 會造成路由表與陌生的路由路徑相混淆。 「網際網路控制訊息通訊協定 (Internet Control Message Protocol,ICMP)」重新導向會導致堆疊包含主機路由。這些路由會覆蓋 OSPF 產生的路由。
這本身是預期的行為。問題在於 ICMP 包含重新導向之路由的 10 分鐘逾時期間會引起網路相關的黑洞。
SynAttackProtect 這是促使 TCP 調整 SYN-ACK 重新傳輸的登錄值。當您設定此值時,在 SYN 攻擊的事件中,連線會更快速回應逾時。此值會在連線指示增加額外的延遲,而 TCP 連線要求在 SYN 攻擊進行時很快就會逾時。當您設定此設定時,在每一介面卡通訊端選項上的可調整視窗和 TCP 參數 (包括「初始往返時間 (RTT)」和視窗大小) 將不再有作用。 在 SYN 大量攻擊中,攻擊者會傳送連續不斷的 SYN 封包資料流給伺服器,而伺服器會保持半開放的連線,直到無法負荷而且不能再回應合法的要求為止。
EnableDeadGWDetect 當啟用死閘道偵測時,如果大量連線遭遇到問題,TCP 可能會要求 IP 變更備份閘道。當此設定設定為 0 時,Windows 將不再偵測死閘道而會自動切換到其他閘道。 攻擊者可強制伺服器將閘道切換到一個可能是非預期的閘道。
EnablePMTUDiscovery 當您將 EnablePMTUDiscovery 設定為 1 時,TCP 會嘗試在遠端主機的路徑上探索傳輸單元最大值 (MTU) 或最大封包大小。TCP 可藉由探索路徑 MTU 並限制 TCP 片段為此大小,來消除以不同 MTU 連接網路的路徑之路由器的分散程度。
分散程度對 TCP 輸出量有不利的影響。當此值設為 0 時,所有不是本機子網路主機的連線都會使用 576 位元組的 MTU。
若您不將此值設為 0,攻擊者就可藉由強制伺服器分散成許多封包,來迫使 MTU 變成非常小的值而過度使用堆疊。
KeepAliveTime 這個值會透過傳送持續作用的 (Keep-Alive) 封包,來控制 TCP 多久嘗試確認一個閒置連線是否仍然處於完整無缺。若遠端電腦仍是可以連線的,它會告知收到持續作用的封包。
持續作用的封包依預設並不會傳送。您可以使用程式在連線上設定此值。將此值從預設的 2 小時減少為 5 分鐘,表示會更快速地中斷非作用中工作階段的連線。
能夠連線到網路應用程式的攻擊者,可藉由建立無數的連線而造成 Dos 的狀況。
DisableIPSourceRouting IP 來源路由是一種允許傳送者決定資料包通過網路時應該採用 IP 路由的機制。將此值設為 2 將致使所有連入的來源路由封包遭到捨棄。 攻擊者會利用來源路由封包來隱匿它們的身分和位置。來源路由允許傳送封包的電腦指定它要採用的路由。
TCPMaxConnectResponseRetransmissions 此參數控制著若 SYN 未被認可,則為了回應連線要求而重新傳輸 SYN-ACK 的次數。
若此值大於或等於 2,則堆疊會從內部採取 SYN-ATTACK 保護。若此值小於 2,則堆疊完全不會讀取 SYN-ATTACK 保護的登錄值。此參數會縮短清除半開啟 TCP 連線所花的預設時間。處於重度攻擊的站台可將此值設為 1。0 的值也有效。不過,若此參數設為 0,將完全無法重新傳輸 SYN-ACK,而且將於 3 秒內逾時。將此值設得如此低,可能會導致遠處用戶端的合法連線嘗試失敗。
在 SYN 大量攻擊中,攻擊者會傳送連續不斷的 SYN 封包資料流給伺服器,而伺服器會保持半開放的連線,直到無法負荷而且不能再回應合法的要求為止。
TCPMaxDataRetransmissions TCP 會在每個輸出片段交至 IP 時,啟動重新傳輸計時器。若在計時器過期前未收到對特定片段中的資料認可,最多將重新傳輸該片段 3 次。 在 SYN 大量攻擊中,攻擊者會傳送連續不斷的 SYN 封包資料流給伺服器,而伺服器會保持半開放的連線,直到無法負荷而且不能再回應合法的要求為止。
PerformRouterDiscovery 這個設定是為了防止 Windows 2000 (支援「網際網路路由器探索通訊協定 (Internet Router Discovery Protocol,IRDP)」) 自動在電腦上偵測和設定預設閘道位址。 取得相同網路片段上其中一個系統控制權的攻擊者,可設定網路上的一部電腦來模擬路由器。
其他有啟用 IRDP 的電腦接著就會嘗試將它們的流量路由到已遭入侵的系統。
TCPMaxPortsExhausted 此參數控制著 SYN-ATTACK 保護開始操作的點。SYN-ATTACK 保護會在 TCPMaxPortsExhausted 連接要求因連線可用的積存設為 0 而遭到系統拒絕時開始操作。這對嘗試合法使用它的伺服器或系統有些微的影響。 在 SYN 大量攻擊中,攻擊者會傳送連續不斷的 SYN 封包資料流給伺服器,而伺服器會保持半開放的連線,直到無法負荷而且不能再回應合法的要求為止。
AFD 設定: DynamicBacklogGrowthDelta EnableDynamicBacklog
MinimumDynamicBacklog MaximumDynamicBacklog
Windows 通訊端應用程式,如 FTP 伺服器及 Web 伺服器,其連線嘗試是由 Afd.sys 所處理。Afd.sys 已經過修改成在不拒絕合法用戶端存取的情況下,支援大量半開放狀態下的連線。
這是藉由允許系統管理員設定動態積存而達成。
DynamicBacklogGrowthDelta 控制著在需要額外連線時,可建立的免費連線數目。請小心使用此值,因為較大的值可能會導致配置過多的免費連線。
在 SYN 大量攻擊中,攻擊者會傳送連續不斷的 SYN 封包資料流給伺服器,而伺服器會保持半開放的連線,直到無法負荷而且不能再回應合法的要求為止。
[](#mainsection)[回到頁首](#mainsection)