分布式拒絕服務(wù)攻擊Windows系統(tǒng)防御
時間:2022-02-17 20:03:02 | 來源:信息時代
時間:2022-02-17 20:03:02 來源:信息時代
對于windows系統(tǒng)來說,可以從以下幾個方面來進(jìn)行防御:
一.啟用SYN攻擊保護(hù)
啟用SYN攻擊保護(hù)的命名值位于此注冊表項(xiàng)的下面:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices。
值名稱:SynAttackProtect
建議值:2
有效值:0–2
說明:使TCP調(diào)整SYN-ACK的重傳。配置此值后,在遇到SYN攻擊時,對連接超時的響應(yīng)將更快速。在超過TcpMaxHalfOpen或TcpMaxHalfOpenRetried的值后,將觸發(fā)SYN攻擊保護(hù)。
設(shè)置SYN保護(hù)閾值下列值確定觸發(fā)SYN保護(hù)的閾值。這一部分中的所有注冊表項(xiàng)和值都位于注冊表項(xiàng)HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices的下面。這些注冊表項(xiàng)和值是:
值名稱:TcpMaxPortsExhausted建議值:5有效值:0–65535說明:指定觸發(fā)SYN洪水攻擊保護(hù)所必須超過的TCP連接請求數(shù)的閾值。值名稱:TcpMaxHalfOpen建議的數(shù)值數(shù)據(jù):500有效值:100–65535說明:在啟用SynAttackProtect后,該值指定處于SYN_RCVD狀態(tài)的TCP連接數(shù)的閾值。在超過SynAttackProtect后,將觸發(fā)SYN洪水攻擊保護(hù)。值名稱:TcpMaxHalfOpenRetried建議的數(shù)值數(shù)據(jù):400有效值:80–65535說明:在啟用SynAttackProtect后,該值指定處于至少已發(fā)送一次重傳的SYN_RCVD狀態(tài)中的TCP連接數(shù)的閾值。在超過SynAttackProtect后,將觸發(fā)SYN洪水攻擊保護(hù)。
設(shè)置其他保護(hù)這一部分中的所有注冊表項(xiàng)和值都位于注冊表項(xiàng)HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices的下面。這些注冊表項(xiàng)和值是:
值名稱:TcpMaxConnectResponseRetransmissions建議的數(shù)值數(shù)據(jù):2有效值:0–255說明:控制在響應(yīng)一次SYN請求之后、在取消重傳嘗試之前SYN-ACK的重傳次數(shù)。值名稱:TcpMaxDataRetransmissions建議的數(shù)值數(shù)據(jù):2有效值:0–65535說明:指定在終止連接之前TCP重傳一個數(shù)據(jù)段(不是連接請求段)的次數(shù)。值名稱:EnablePMTUDiscovery建議的數(shù)值數(shù)據(jù):0有效值:0,1說明:將該值設(shè)置為1(默認(rèn)值)可強(qiáng)制TCP查找在通向遠(yuǎn)程主機(jī)的路徑上的最大傳輸單元或最大數(shù)據(jù)包大小。攻擊者可能將數(shù)據(jù)包強(qiáng)制分段,這會使堆棧不堪重負(fù)。對于不是來自本地子網(wǎng)的主機(jī)的連接,將該值指定為0可將最大傳輸單元強(qiáng)制設(shè)為576字節(jié)。值名稱:KeepAliveTime建議的數(shù)值數(shù)據(jù):300000有效值:80–4294967295說明:指定TCP嘗試通過發(fā)送持續(xù)存活的數(shù)據(jù)包來驗(yàn)證空閑連接是否仍然未被觸動的頻率。
值名稱:NoNameReleaseOnDemand建議的數(shù)值數(shù)據(jù):1有效值:0,1說明:指定計(jì)算機(jī)在收到名稱發(fā)布請求時是否發(fā)布其NetBIOS名稱。
使用表1中匯總的值可獲得最大程度的保護(hù)。
表1:建議值
值名稱
| 值(REG_DWORD)
|
SynAttackProtect
| 2
|
TcpMaxPortsExhausted
| 1
|
TcpMaxHalfOpen
| 500
|
TcpMaxHalfOpenRetried
| 400
|
TcpMaxConnectResponseRetransmissions
| 2
|
TcpMaxDataRetransmissions
| 2
|
EnablePMTUDiscovery
| 0
|
KeepAliveTime
| 300000(5分鐘)
|
NoNameReleaseOnDemand
| 1
|
二.抵御ICMP攻擊
這一部分的命名值都位于注冊表項(xiàng)HKLMSystemCurrentControlSetServicesAFDParameters的下面
值:EnableICMPRedirect建議的數(shù)值數(shù)據(jù):0有效值:0(禁用),1(啟用)說明:通過將此注冊表值修改為0,能夠在收到ICMP重定向數(shù)據(jù)包時禁止創(chuàng)建高成本的主機(jī)路由。
使用表2中匯總的值可以獲得最大程度的保護(hù):
表2:建議值
值名稱
| 值(REG_DWORD)
|
EnableICMPRedirect
| 0
|
三.抵御SNMP攻擊
這一部分的命名值位于注冊表項(xiàng)HKLMSystemCurrentControlSetServicesTcpipParameters的下面。
值:EnableDeadGWDetect建議的數(shù)值數(shù)據(jù):0有效值:0(禁用),1(啟用)說明:禁止攻擊者強(qiáng)制切換到備用網(wǎng)關(guān)
使用表3中匯總的值可以獲得最大程度的保護(hù):
表3:建議值
值名稱
| 值(REG_DWORD)
|
EnableDeadGWDetect
| 0
|
四.AFD.SYS保護(hù)
下面的注冊表項(xiàng)指定內(nèi)核模式驅(qū)動程序Afd.sys的參數(shù)。Afd.sys用于支持WindowsSockets應(yīng)用程序。這一部分的所有注冊表項(xiàng)和值都位于注冊表項(xiàng)HKLMSystemCurrentControlSetServicesAFDParameters的下面。這些注冊表項(xiàng)和值是:
值EnableDynamicBacklog建議的數(shù)值數(shù)據(jù):1有效值:0(禁用),1(啟用)說明:指定AFD.SYS功能,以有效處理大量的SYN_RCVD連接。有關(guān)詳細(xì)信息,請參閱'InternetServerUnavailableBecauseofMaliciousSYNAttacks',值名稱:MinimumDynamicBacklog建議的數(shù)值數(shù)據(jù):20有效值:0–4294967295說明:指定在偵聽的終結(jié)點(diǎn)上所允許的最小空閑連接數(shù)。如果空閑連接的數(shù)目低于該值,線程將被排隊(duì),以創(chuàng)建更多的空閑連接值名稱:MaximumDynamicBacklog建議的數(shù)值數(shù)據(jù):20000有效值:0–4294967295說明:指定空閑連接以及處于SYN_RCVD狀態(tài)的連接的最大總數(shù)。值名稱:DynamicBacklogGrowthDelta建議的數(shù)值數(shù)據(jù):10有效值:0–4294967295默認(rèn)情況下是否出現(xiàn):否說明:指定在需要增加連接時將要創(chuàng)建的空閑連接數(shù)。
使用表4中匯總的
值可以獲得最大程度的保護(hù)。
表4:建議值
值名稱
| 值(REG_DWORD)
|
EnableDynamicBacklog
| 1
|
MinimumDynamicBacklog
| 20
|
MaximumDynamicBacklog
| 20000
|
DynamicBacklogGrowthDelta
| 10
|
其他
這一部分的所有注冊表項(xiàng)和值都位于注冊表項(xiàng)HKLMSystemCurrentControlSetServicesTcpipParameters的下面。
保護(hù)屏蔽的網(wǎng)絡(luò)細(xì)節(jié)網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)用于將網(wǎng)絡(luò)與傳入連接屏蔽開來。攻擊者可能規(guī)避此屏蔽,以便使用IP源路由來確定網(wǎng)絡(luò)拓?fù)洹?br>
值:DisableIPSourceRouting建議的數(shù)值數(shù)據(jù):1有效值:0(轉(zhuǎn)發(fā)所有數(shù)據(jù)包),1(不轉(zhuǎn)發(fā)源路由數(shù)據(jù)包),2(丟棄所有傳入的源路由數(shù)據(jù)包)。說明:禁用IP源路由,后者允許發(fā)送者確認(rèn)數(shù)據(jù)報在網(wǎng)絡(luò)中應(yīng)采用的路由。
避免接受數(shù)據(jù)包片段處理數(shù)據(jù)包片段可以是高成本的。雖然拒絕服務(wù)很少來自外圍網(wǎng)絡(luò)內(nèi),但此設(shè)置能防止處理數(shù)據(jù)包片段。
值:EnableFragmentChecking建議的數(shù)值數(shù)據(jù):1有效值:0(禁用),1(啟用)說明:禁止IP堆棧接受數(shù)據(jù)包片段。
切勿轉(zhuǎn)發(fā)去往多臺主機(jī)的數(shù)據(jù)包多播數(shù)據(jù)包可能被多臺主機(jī)響應(yīng),從而導(dǎo)致響應(yīng)淹沒網(wǎng)絡(luò)。
值:EnableMulticastForwarding建議的數(shù)值數(shù)據(jù):0有效范圍:0(false),1(true)說明:路由服務(wù)使用此參數(shù)來控制是否轉(zhuǎn)發(fā)IP多播。此參數(shù)由路由和遠(yuǎn)程訪問服務(wù)創(chuàng)建。
只有防火墻可以在網(wǎng)絡(luò)間轉(zhuǎn)發(fā)數(shù)據(jù)包多主機(jī)服務(wù)器切勿在它所連接的網(wǎng)絡(luò)之間轉(zhuǎn)發(fā)數(shù)據(jù)包。明顯的例外是防火墻。
值:IPEnableRouter建議的數(shù)值數(shù)據(jù):0有效范圍:0(false),1(true)說明:將此參數(shù)設(shè)置為1(true)會使系統(tǒng)在它所連接的網(wǎng)絡(luò)之間路由IP數(shù)據(jù)包。
屏蔽網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)細(xì)節(jié)可以使用ICMP數(shù)據(jù)包請求主機(jī)的子網(wǎng)掩碼。只泄漏此信息是無害的;但是,可以利用多臺主機(jī)的響應(yīng)來了解內(nèi)部網(wǎng)絡(luò)的情況。
值:EnableAddrMaskReply建議的數(shù)值數(shù)據(jù):0有效范圍:0(false),1(true)說明:此參數(shù)控制計(jì)算機(jī)是否響應(yīng)ICMP地址屏蔽請求。
使用表5中匯總的值可以獲得最大程度的保護(hù)。
表5:建議值
值名稱
| 值(REG_DWORD)
|
DisableIPSourceRouting
| 1
|
EnableFragmentChecking
| 1
|
EnableMulticastForwarding
| 0
|
IPEnableRouter
| 0
|
EnableAddrMaskReply
| 0
|
缺陷
在測試這些值的變化時,請參照在產(chǎn)品中所期望的網(wǎng)絡(luò)流量進(jìn)行測試。這些設(shè)置會修改被認(rèn)為正常并偏離了測試默認(rèn)值的項(xiàng)目的閾值。一些閾值可能由于范圍太小而無法在客戶端的連接速度劇烈變化時可靠地支持客戶端。