如何強化 TCP/IP 堆棧

來源:互聯網
上載者:User
文章目錄
  • 啟用 SYN 攻擊保護
  • 設定 SYN 保護閾值
  • 設定其他的保護
Microsoft Corporation

請參閱著陸頁以獲得《改進 Web 應用程式安全性:威脅和對策》的起點和完整的概述。

摘要: 您可以在 Windows 註冊表中配置各種 TCP/IP 參數,以便防止網路級拒絕服務的攻擊,包括 SYN 洪水攻擊、ICMP 攻擊和 SNMP 攻擊。您可以將登錄機碼配置為:

當檢測到攻擊時,啟用 SYN 洪水保護。

設定用於確定攻擊構成要素的閾值。

該方法文檔為管理員展示了必須配置的登錄機碼和註冊表值,以防止受到基於網路的拒絕服務的攻擊。

這些設定會修改 TCP/IP 在伺服器上的工作方式。Web 服務器的特性將決定要觸發拒絕服務對策的最佳閾值。有些值可能對您的用戶端串連的限制非常嚴格。在部署到產品伺服器之前,請先測試本文檔的建議。

本頁內容
預備知識
防止 SYN 攻擊
防止 ICMP 攻擊
防止 SNMP 攻擊
AFD.SYS 保護
其他保護
缺陷
其他資源

預備知識

TCP/IP 是一種本質上不安全的協議。但是,Windows 2000 實現可以使您配置其操作以防止網路的拒絕服務的攻擊。預設情況下,本文中所涉及的一些項和值可能並不存在。在這些情況下,請建立該項、值或值資料。

有關 Windows 2000 的註冊表所控制的 TCP/IP 網路設定的詳細資料,請參閱白皮書“Microsoft Windows 2000 TCP/IP Implementation Details”,位於 http://www.microsoft.com/technet/itsolutions/network/deploy/depovg/tcpip2k.asp。

防止 SYN 攻擊

SYN 攻擊利用 TCP/IP 串連建立機制中的安全性漏洞。要發動 SYN 洪水攻擊,攻擊者要使用程式來發送大量的 TCP SYN 請求來填充伺服器上掛起的串連隊列。這將導致其他使用者無法建立網路連接。

要防止網路受到 SYN 攻擊,請遵循下列通用的步驟,這些步驟稍後將於本文檔中進行解釋:

啟用 SYN 攻擊保護

設定 SYN 保護閾值

設定其他保護

啟用 SYN 攻擊保護

啟用 SYN 攻擊保護的命名值位於下面的登錄機碼中: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services.

值名稱:SynAttackProtect

建議值: 2

有效值: 0 - 2

說明: 引起 TCP 調整 SYN-ACKS 的重新傳輸。如果您配置這個值,當發生 SYN 攻擊時,串連響應的逾時速度會比較快。當超出 TcpMaxHalfOpenTcpMaxHalfOpenRetried 的值時,便會觸發 SYN 攻擊。

設定 SYN 保護閾值

下列值確定要觸發的 SYN 保護的閾值。本部分中的所有項和值都位於登錄機碼 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 中。這些項和值如下所示:

值名稱:TcpMaxPortsExhausted

建議值: 5

有效值: 0-65535

說明: 指定 TCP 連線要求的閾值,必須超過該閾值才會觸發 SYN 洪水保護。

值名稱:TcpMaxHalfOpen

建議值資料: 500

有效值: 100-65535

說明: 啟用 SynAttackProtect 時,該值會指定在 SYN_RCVD 狀態下的 TCP 串連的閾值。超過 SynAttackProtect 時,便會觸發 SYN 洪水保護。

值名稱:TcpMaxHalfOpenRetried

建議值資料: 400

有效值: 80-65535

說明: 啟用 SynAttackProtect 時,該值指定在 SYN_RCVD 狀態下的 TCP 串連的閾值,其中至少已經進行了一次重新傳輸。超過 SynAttackProtect 時,便會觸發 SYN 洪水保護。

設定其他的保護

本部分中的所有項和值都位於登錄機碼 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 中。這些項和值如下所示:

值名稱:TcpMaxConnectResponseRetransmissions

建議值資料: 2

有效值: 0-255

說明: 對取消嘗試響應 SYN 請求之前要重新傳輸 SYN-ACK 的次數進行控制+。

值名稱:TcpMaxDataRetransmissions

建議值資料: 2

有效值: 0-65535

說明: 指定 TCP 在中止串連前,要重新傳輸單獨資料片斷(而並非串連請求片斷)的次數。

值名稱:EnablePMTUDiscovery

建議值資料: 0

有效值: 0, 1

說明: 將該值設定為 1(預設值)時,便會強制 TCP 在到遠程主機的路徑上找到最大傳輸單位或最大資料包大小。攻擊者可能會強制資料包分割,造成堆棧負荷過重。將該值設定為 0 會強制不是本地子網的主機串連都使用 576 位元組的 MTU。

值名稱:KeepAliveTime

建議值資料: 300000

有效值: 80-4294967295

說明: 通過發送保持活動資料包,指定 TCP 嘗實驗證閑置串連是否仍然原封不動的頻率。

值名稱:NoNameReleaseOnDemand

建議值資料: 1

有效值: 0, 1

說明: 當電腦接收到名稱釋放請求時,指定不要釋放電腦的 NetBIOS 名稱。

請使用表 1 中總結的值來建立最大保護。

表 1 建議值
值名稱 值 (REG_DWORD)

SynAttackProtect

2

TcpMaxPortsExhausted

1

TcpMaxHalfOpen

500

TcpMaxHalfOpenRetried

400

TcpMaxConnectResponseRetransmissions

2

TcpMaxDataRetransmissions

2

EnablePMTUDiscovery

0

KeepAliveTime

300000 (5 minutes)

NoNameReleaseOnDemand

1

防止 ICMP 攻擊

本部分中指定的值位於登錄機碼HKLM/System/CurrentControlSet/Services/AFD/Parameters

值:EnableICMPRedirect

建議值資料: 0

有效值: 0(禁用)、1(啟用)

說明: 將該註冊表值修改為 0 可以防止接收到 ICMP 重新導向資料包時,建立代價高昂的主機路由。

請使用表 2 中總結的值來建立最大保護。

表 2 建議值
值名稱 值 (REG_DWORD)

EnableICMPRedirect

0

防止 SNMP 攻擊

本部分中指定的值位於登錄機碼HKLM/System/CurrentControlSet/Services/Tcpip/Parameters 下。

值:EnableDeadGWDetect

建議值資料: 0

有效值: 0(禁用)、1(啟用)

說明: 防止攻擊者強制切換到次要網關

請使用表 3 中總結的值來建立最大保護。

表 3 建議值
值名稱 值 (REG_DWORD)

EnableDeadGWDetect

0

AFD.SYS 保護

下列項指定核心模式驅動程式 Afd.sys 的參數。Afd.sys 用於支援 Windows 通訊端應用程式。本部分中的所有項和值都位於登錄機碼 HKLM/System/CurrentControlSet/Services/AFD/Parameters 中。這些項和值如下所示:

值:EnableDynamicBacklog

建議值資料: 1

有效值: 0(禁用)、1(啟用)

說明: 指定 AFD.SYS 功能來有效抵禦大量的 SYN_RCVD 串連。有關詳細資料,請參閱“Internet Server Unavailable Because of Malicious SYN Attacks”,位於 http://support.microsoft.com/default.aspx?scid=kb;en-us;142641。

值名稱:MinimumDynamicBacklog

建議值資料: 20

有效值: 0-4294967295

說明: 指定偵聽終結點上允許的可用串連的最小數量。如果可用串連的數目低於該值,線程便會排入隊列以建立其他的可用串連。

值名稱: MaximumDynamicBacklog

建議值資料: 20000

有效值: 0-4294967295

說明: 指定可用串連再加上 SYN_RCVD 狀態中的串連的總數的最大值。

值名稱:DynamicBacklogGrowthDelta

建議值資料: 10

有效值: 0-4294967295

預設為存在: No

說明: 指定需要其他串連時將建立的可用串連數量。

請使用表 4 中所總結的值來建立最大保護。

表 4 建議值
值名稱 值 (REG_DWORD)

EnableDynamicBacklog

1

MinimumDynamicBacklog

20

MaximumDynamicBacklog

20000

DynamicBacklogGrowthDelta

10

其他保護

本部分中的所有項和值都位於登錄機碼 HKLM/System/CurrentControlSet/Services/Tcpip/Parameters 中。

保護篩選的網路詳細資料

網路位址轉譯 (NAT) 用於篩選來自傳入串連的網路。攻擊者可以使用 IP 源路由來避開該篩選以確定網路拓撲。

值:DisableIPSourceRouting

建議值資料: 1

有效值: 0(轉寄所有資料包)、1(不轉寄源路由的資料包)、2(丟棄所有傳入源路由的資料包)。

說明: 禁用 IP 源路由,發送方可以利用 IP 源路由來確定資料包通過網路時應該採用的路由。

避免接收分段的資料包

處理分段資料包的代價可能很高。雖然拒絕服務極少來自周邊網路的內部,但是該設定可以防止分段資料包的處理。

值:EnableFragmentChecking

建議值資料: 1

有效值: 0(禁用)、1(啟用)

說明: 防止 IP 堆棧接受分段的資料包。

不轉寄送往多主機的資料包

多主機可能會響應多播資料包,進而造成在網路中廣泛傳播的響應。

值:EnableMulticastForwarding

建議值資料: 0

有效範圍: 0 (false)、1 (true)

說明: 路由服務使用這個參數來控制是否要轉寄 IP 多播。該參數是由路由和遠端存取服務建立的。

只有防火牆在網路間轉寄資料包

多主伺服器不能在所串連的各個網路間轉寄資料包。防火牆是明顯的例外。

值:IPEnableRouter

建議值資料: 0

有效範圍: 0 (false)、1 (true)

說明: 將該參數設定為 1 (true) 可使系統在所串連的各個網路間路由 IP 資料包。

掩碼網路拓撲詳細資料

使用 ICMP 資料包可以請求主機的子網路遮罩。公開該資訊本身並無大礙;但是,多主機的響應可能會被用於構建內部網路的資訊。

值:EnableAddrMaskReply

建議值資料: 0

有效範圍: 0 (false)、1 (true)

說明: 該參數控制電腦是否響應 ICMP 位址遮罩請求。

請使用表 5 中總結的值來建立最大保護。

表 5 建議值
值名稱 值 (REG_DWORD)

DisableIPSourceRouting

1

EnableFragmentChecking

1

EnableMulticastForwarding

0

IPEnableRouter

0

EnableAddrMaskReply

0

缺陷

測試這些值的更改時,請根據您在生產中預期使用的網路捲來進行測試。這些設定會修改被認為是正常的閾值,而且偏離經過測試的預設值。如果各個用戶端的連線速度差異很大,那麼有些設定可能過於狹隘而無法穩定地支援用戶端。

其他資源

有關 TCP/IP 的其他詳細資料,請參考下列資源:

有關強化 TCP/IP 堆棧的詳細資料,請參閱 Microsoft 知識庫文章 315669“How To:Harden the TCP/IP Stack Against Denial of Service Attacks in Windows 2000”。

有關 Windows 2000 TCP/IP 實現的詳細資料,請參閱 Lee Davies 的“Windows 2000 TCP/IP Protocols and Services”(Microsoft Press 書籍)。

有關 Windows 2000 TCP/IP 實現的詳細資料,請參閱 TechNet 網站上的“Microsoft Windows 2000 TCP/IP Implementation Details”,位於 http://www.microsoft.com/technet/itsolutions/network/deploy/depovg/tcpip2k.asp。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.