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

文章翻譯 文章翻譯
文章編號: 324270 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

拒絕服務 (DoS) 攻擊是一種網路攻擊,其目的是讓網路使用者無法存取電腦或電腦中的特定服務。拒絕服務攻擊很難防禦。如果要預防拒絕服務攻擊,您可以使用下列一或兩個方法:
  • 使用最新的安全性修正程式更新您的電腦。安全性修正程式位於下列 Microsoft 網站:
    http://www.microsoft.com/taiwan/security/default.mspx
  • 強化 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 建議您在非實際執行的工作站和伺服器上測試這些設定,以確認它們適合您的營運環境。

屬性

文章編號: 324270 - 上次校閱: 2011年1月5日 - 版次: 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
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com