您目前已離線,請等候您的網際網路重新連線

如何在 Windows Server 2003 中強化 TCP/IP 堆疊以對抗拒絕服務攻擊

Windows Server 2003 的支援已於 2015 年 7 月 14 日結束

Microsoft 已於 2015 年 7 月 14 日結束對 Windows Server 2003 的支援。此變更已影響您的軟體更新和安全性選項。 瞭解這對您的意義為何且如何持續受保護。

如需本文的 Microsoft Windows 2000 版本,請參閱 315669
重要 本文包含如何修改登錄的相關資訊。修改登錄之前,請務必將它備份起來,並瞭解如何在發生問題時還原登錄。如需有關如何備份、還原和修改登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
256986 Microsoft Windows 登錄說明

本文內容

結論
拒絕服務 (DoS) 攻擊是一種網路攻擊,其目的是讓網路使用者無法存取電腦或電腦中的特定服務。拒絕服務攻擊很難防禦。如果要預防拒絕服務攻擊,您可以使用下列一或兩個方法:
  • 使用最新的安全性修正程式更新您的電腦。安全性修正程式位於下列 Microsoft 網站:
  • 強化 Windows Server 2003 電腦上的 TCP/IP 通訊協定堆疊。預設的 TCP/IP 堆疊組態是調整成處理標準內部網路傳輸的形態。如果要將電腦直接連上網際網路,Microsoft 建議您強化 TCP/IP 堆疊以對抗拒絕服務攻擊。
回到頁首

可強化 TCP/IP 堆疊的 TCP/IP 登錄值

警告 如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。您可能需要重新安裝作業系統,才能解決這些問題。Microsoft 不保證可以解決這些問題。請自行承擔修改登錄的一切風險。
下列清單說明與 TCP/IP 相關的登錄值,您可以在直接連至網際網路的電腦上設定這些值,以強化 TCP/IP 堆疊。除非另外指明,所有這些值都應該在下列登錄機碼中建立:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
注意:除非另外指明,所有的值都是十六進位。
  • 數值名稱:SynAttackProtect
    機碼:Tcpip\Parameters
    數值類型:REG_DWORD
    有效範圍:0,1
    預設值:0

    這個登錄值會使「傳輸控制通訊協定」(TCP) 調整 SYN-ACKS 的重新傳輸。設定這個值之後,如果受到 SYN 攻擊 (一種拒絕服務攻擊類型),連線回應逾時就會比較快。

    這個登錄值可以與下列參數搭配使用:
    • 0 (預設值):無 SYN 攻擊保護
    • 1:將 SynAttackProtect 設定為 1,防禦 SYN 攻擊的保護效果會比較好。這個參數會使 TCP 調整 SYN-ACKS 的重新傳輸。當您將 SynAttackProtect 設定為 1 時,如果系統偵測到目前正遭受 SYN 攻擊,連線回應會更快逾時。Windows 使用下列值來判斷目前是否受到攻擊:
      • TcpMaxPortsExhausted
      • TCPMaxHalfOpen
      • TCPMaxHalfOpenRetried

    注意 在 Windows Server 2003 Service Pack 1 中,SynAttackProtect 登錄項目的預設值為 1。
  • 數值名稱:EnableDeadGWDetect
    機碼:Tcpip\Parameters
    數值類型:REG_DWORD
    有效範圍:0 或 1 (False 或 True)
    預設值:1 (True)

    下列清單說明可與這個登錄值搭配使用的參數:
    • 1:當您將 EnableDeadGWDetect 設定為 1 時,將允許 TCP 執行失效閘道偵測 (Dead Gateway Detection)。啟用失效閘道偵測時,如果有些連線出現困難,TCP 就會要求網際網路通訊協定 (IP) 變更至備份閘道。備份閘道是在 [TCP/IP 設定] 對話方塊 (在 [控制台] 的 [網路] 工具中) 的 [進階] 區段中定義的。
    • 0:Microsoft 建議您將 EnableDeadGWDetect 值設定為 0。如果這個值未設定為 0,攻擊可能會強制伺服器將閘道切換到您不想要的閘道。
  • 數值名稱:EnablePMTUDiscovery
    機碼:Tcpip\Parameters
    數值類型:REG_DWORD
    有效範圍:0 或 1 (False 或 True)
    預設值:1 (True)

    下列清單說明可與這個登錄值搭配使用的參數:
    • 1:當您將 EnablePMTUDiscovery 設定為 1 時,TCP 會嘗試在指向遠端主機的路徑上探索傳輸單元最大值 (MTU) 或最大封包大小。藉由探索路徑 MTU,並且限制 TCP 區段為這個大小,TCP 可以減少在連接網路到不同 MTU 的路徑上之路由器的分散程度。分散程度對於 TCP 輸出量有不利的影響
    • 0:Microsoft 建議您將 EnablePMTUDiscovery 設定為 0。如此,本機子網路上不是主機的所有連線都會使用 576 位元組的 MTU。如果您未將這個值設定為 0,攻擊者可能會強制使 MTU 值變得非常小,造成堆疊的負荷過重。

      重要EnablePMTUDiscovery 設定為 0,會對 TCP/IP 效能及輸出量產生不利影響。即使 Microsoft 建議使用這個設定,還是不應使用,除非您完全瞭解這種效能損失。
  • 數值名稱:KeepAliveTime
    機碼:Tcpip\Parameters
    數值類型:REG_DWORD (以毫秒為單位)
    有效範圍:1-0xFFFFFFFF
    預設值:7,200,000 (兩小時)

    這個值控制 TCP 嘗試藉由傳送持續作用 (Keep-Alive) 封包,以確認閒置連線是否仍然完好如初的頻率。如果遠端電腦還能連得上,便會認可這個持續作用封包。預設情況下,持續作用封包並不會傳送出去。您可以使用程式在連線上設定這個值,建議設定的值為 300,000 (5 分鐘)。
  • 數值名稱:NoNameReleaseOnDemand
    機碼:Netbt\Parameters
    數值類型:REG_DWORD
    有效範圍:0 或 1 (False 或 True)
    預設值:0 (False)

    這個值決定電腦是否會在收到名稱釋放 (Name-Release) 要求時釋放其 NetBIOS 名稱。加入這個值是為了讓系統管理員能夠保護電腦,避免遭受惡意的名稱釋放攻擊。Microsoft 建議您將 NoNameReleaseOnDemand 值設定為 1
回到頁首

疑難排解

變更 TCP/IP 登錄值時,可能會影響到 Windows Server 2003 電腦上正在執行的程式和服務。Microsoft 建議您在非實際執行的工作站和伺服器上測試這些設定,以確認它們適合您的營運環境。

回到頁首
kbsecurity
內容

文章識別碼:324270 - 最後檢閱時間:01/05/2011 04:49:00 - 修訂: 2.0

Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows Server 2003, Web Edition, Microsoft Windows Server 2003, Enterprise x64 Edition, Microsoft Windows Small Business Server 2003 Standard Edition, Microsoft Windows Small Business Server 2003 Premium Edition

  • kbhowtomaster KB324270
意見反應
"76500"; var Ctrl = ""; document.write("