Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Windows 2000 登錄檔深度加固:抵禦 DoS/DDoS 攻擊的核心參數調優指南

編輯:關於伺服器

拒絕服務攻擊 (DoS) 與分散式拒絕服務攻擊 (DDoS) 雖常被混淆,但資源需求與防禦策略大異。DDoS 需龐大肉雞網路,成本高昂;真實環境中多為單源或少源 DoS 攻擊 (SYN Flood、ICMP Flood、應用層耗盡)。昂貴的硬體防火牆雖有效,但投資報酬率 (ROI) 往往不高。Windows 2000 核心內建豐富的 TCP/IP 堆疊防禦參數,透過登錄檔調整即可大幅提升抗 DoS 能力,本文詳細解析各關鍵參數含義、建議值與調優邏輯。

核心防禦參數詳細解析 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters)

參數名稱類型建議值功能說明與調優邏輯
EnableDeadGWDetectREG_DWORD0關閉失效閘道偵測。多閘道環境下,網路擁塞時嘗試切換閘道反而增加延遲與不穩定。關閉以優化路由穩定性。
EnableICMPRedirectsREG_DWORD0禁止回應 ICMP 重導向封包。攻擊者可利用偽造 ICMP Redirect 改變主機路由表,導致流量劫持或中斷。
NoNameReleaseOnDemandREG_DWORD1拒絕釋放 NetBIOS 名稱查詢。需 SP2 以上。防止攻擊者透過大量 NBNS 查詢耗盡資源或探測內網拓撲。
KeepAliveTimeREG_DWORD300000 (5分鐘)TCP 保活探測間隔 (毫秒)。預設 2 小時過長,無法及時清理半開連線。縮短至 5 分鐘加速死連線回收。
EnablePMTUDiscoveryREG_DWORD0停用路徑 MTU 探索。啟用時自動探測最大傳輸單元,若遭攻擊竄改 ICMP 「封包太大」訊息,導致傳輸中斷。設 0 強制使用固定 MTU 576 bytes,犧牲效能換穩定。
SynAttackProtectREG_DWORD2核心防禦開關。0=關閉,1=啟用基本保護,2=嚴格模式 (需配合下列閾值)。NT 4.0 僅能設 1,設 2 某封包下會導致重開機。Win2k/WinXP/Win2k3 建議設 2。
TcpMaxHalfOpenREG_DWORD100 (伺服器) / 500 (高階)允許的半開連線 (SYN_RECEIVED) 上限。超過此值觸發 SynAttackProtect 機制。建議依記憶體與預期並發調整,略低於微軟建議值更保守。
TcpMaxHalfOpenRetriedREG_DWORD80 (伺服器) / 400 (高階)重試半開連線閾值。達此值視為遭受攻擊,啟動嚴格保護模式 (加速 RST 回應、延緩資源配置)。
TcpMaxConnectResponseRetransmissionsREG_DWORD1SYN-ACK 重傳次數。預設 3 (45秒),設 1 (9秒) 或 0 (3秒) 大幅縮短半開連線佔用時間。微軟建議 2 (21秒),視攻擊強度調整。
TcpMaxDataRetransmissionsREG_DWORD3資料段重傳次數。預設 5 (240秒),設 3 減少殭屍連線佔用資源。微軟建議值。
TCPMaxPortsExhaustedREG_DWORD5Backlog 耗盡觸發 SynAttackProtect 的臨界點。微軟建議 5。
DisableIPSourceRoutingREG_DWORD2來源路由處理。0=全轉發,1=不轉發 (預設),2=丟棄所有來源路由封包。來源路由易被用於繞過防火牆/偽造身分,設 2 最安全。微軟建議值。
TcpTimedWaitDelayREG_DWORD30 (0x1E)TIME_WAIT 狀態最長停留秒數。預設 240 秒,設 30 秒 (最小值) 加速連線資源釋放,防止 TIME_WAIT 暴增耗盡連接埠。範圍 30~300 秒。

NetBT 與 AFD 參數補充調優

NetBT (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters)

參數建議值說明
BacklogIncrement3連接佇列增量塊大小。每塊 87 bytes。值越大、連線越多時效能越好。
MaxConnBackLog1000 (0x3E8)最大連接佇列塊數。範圍 1~40000。值越大允許更多並發等待連線。

Afd (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters)

參數建議值說明
EnableDynamicBacklog1啟用動態 Backlog。網路繁忙或易受 SYN 攻擊系統必開。
MinimumDynamicBacklog20 (0x14)動態 Backlog 最小值。預設 0,建議 20 確保基礎佇列空間。
MaximumDynamicBacklog20000 (0x2E20)動態 Backlog 最大值。理論每 32MB 記憶體可支援 5000 連線。依實體記憶體設定。
DynamicBacklogGrowthDelta10 (0xA)每次動態擴增的連線數。預設 5,建議 10 加速擴容響應。

需依實際環境手動調整的進階參數

  • EnableSecurityFilters = 1:啟用網卡層級安全過濾 (需搭配 IPSec 原則或 TCPIP 篩選)。
  • TcpNumConnections:最大同時 TCP 連線數。依業務峰值與記憶體設定 (理論每連線 ~1KB 非分頁集區)。
  • TcpMaxSendFree:TCP 標頭緩衝區大小限制。大量記憶體機器上調大可提升 SYN 攻擊期間回應效能。
  • PerformRouterDiscovery = 0 (介面專屬):禁止 ICMP 路由器發現,防止偽造路由通告汙染路由表。

實施與驗證建議

  1. 備份登錄檔:regedit /e backup.reg 完整匯出,或僅匯出上述分支。
  2. 分階段套用:核心參數 → NetBT/Afd → 進階參數,每階段重開機觀察穩定性。
  3. 壓力測試驗證:使用 hping3、synhose、Slowloris 等工具模擬 SYN Flood、HTTP Flood,觀察半開連線曲線、CPU/記憶體佔用、服務可用性。
  4. 監控基準線:記錄正常狀態下 netstat -an 連線狀態分布、PerfMon TCPv4 計數器 (Connections Active/Passive/Reset, Segments Retransmitted) 作為未來比對基準。

重要提醒

登錄檔調優屬於「作業系統層緩解」,無法替代邊界 DDoS 清洗、應用層 WAF、負載平衡器等架構級防禦。完整防禦體系應包含:流量清洗 → 邊界 ACL/速率限制 → 主機核心參數加固 → 應用層限流/驗證碼 → 彈性擴容預案。

掌握 Windows TCP/IP 核心參數調優,讓每一台主機都具備基礎自衛能力,是資安纵深防禦不可或缺的一環。

Copyright © Windows教程網 All Rights Reserved