拒絕服務 (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
建議您在非實際執行的工作站和伺服器上測試這些設定,以確認它們適合您的營運環境。