從正確看待DoS與DDoS說起
相信大家都一定不會對這兩個這個詞感到陌生,是的,拒絕服務(wù)攻擊(Denial of Service),以及分布式拒絕服務(wù)攻擊(Distributed Denial of Service)。
所謂拒絕服務(wù),是指在特定攻擊發(fā)生后, 被攻擊的對象不能及時提供應(yīng)有的服務(wù),例如本來應(yīng)提供網(wǎng)站服務(wù)(HTTP Service)而不能提供網(wǎng)站服務(wù),電子郵件服務(wù)器(SMTP,POP3)不能提供收發(fā)信件等等的功能,基本上,阻絕服務(wù)攻擊通常利用大量的網(wǎng)絡(luò)數(shù)據(jù)包,以癱瘓對方之網(wǎng)絡(luò)及主機,使得正常的使用者無法獲得主機及時的服務(wù)。
分布式拒絕服務(wù),簡單的說就是用遠超過目標處理能力的海量數(shù)據(jù)包消耗可用系統(tǒng),以及網(wǎng)絡(luò)帶寬,造成網(wǎng)絡(luò)服務(wù)癱瘓。
也許是和媒體的過分關(guān)注有關(guān),DoS攻擊特別是DDoS攻擊,似乎一夜之間就流行了起來,搞的大大小小的網(wǎng)管們,只要服務(wù)器一有故障,就異常興奮的高呼“我被DDoS了!”,臉上仿佛寫著無比的光榮和驕傲。
其實在我們的周圍,真正意義上的DDoS其實并不多,畢竟發(fā)動一次DDoS攻擊所需要的資源非常的多,但實實在在的攻擊卻又不停的發(fā)生著,這里面,絕大多數(shù),都是普通的拒絕服務(wù)攻擊。普通級別的攻擊,如何防護,也成為很多網(wǎng)絡(luò)管理員最頭疼的問題,于是到處打聽,結(jié)果往往千篇一律,“購買我們的硬件防火墻吧”。
硬件防火墻,包括專用抗拒絕服務(wù)攻擊產(chǎn)品的確是好,但基本價格都十分昂貴,效果雖然好,可從投資以及保護投資的角度來說,未免有些過火。
其實從操作系統(tǒng)角度來說,本身就藏有很多的功能,只是很多是需要我們慢慢的去挖掘的。這里我給大家簡單介紹一下如何在Win2000環(huán)境下修改注冊表,增強系統(tǒng)的抗DoS能力。
細節(jié):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
關(guān)閉無效網(wǎng)關(guān)的檢查。當服務(wù)器設(shè)置了多個網(wǎng)關(guān),這樣在網(wǎng)絡(luò)不通暢的時候系統(tǒng)會嘗試連接第二個網(wǎng)關(guān),通過關(guān)閉它可以優(yōu)化網(wǎng)絡(luò)。
"EnableDeadGWDetect"=dword:00000000
禁止響應(yīng)ICMP重定向報文。此類報文有可能用以攻擊,所以系統(tǒng)應(yīng)該拒絕接受ICMP重定向報文。
"EnableICMPRedirects"=dword:00000000
不允許釋放NETBIOS名。當攻擊者發(fā)出查詢服務(wù)器NETBIOS名的請求時,可以使服務(wù)器禁止響應(yīng)。
注意系統(tǒng)必須安裝SP2以上
"NoNameReleaseOnDemand"=dword:00000001
發(fā)送驗證保持活動數(shù)據(jù)包。該選項決定TCP間隔多少時間來確定當前連接還處于連接狀態(tài),不設(shè)該值,則系統(tǒng)每隔2小時對TCP是否有閑置連接進行檢查,這里設(shè)置時間為5分鐘。
"KeepAliveTime"=dword:000493e0
禁止進行最大包長度路徑檢測。該項值為1時,將自動檢測出可以傳輸?shù)臄?shù)據(jù)包的大小,可以用來提高傳輸效率,如出現(xiàn)故障或安全起見,設(shè)項值為0,表示使用固定MTU值576bytes。
"EnablePMTUDiscovery"=dword:00000000
啟動syn攻擊保護。缺省項值為0,表示不開啟攻擊保護,項值為1和2表示啟動syn攻擊保護,設(shè)成2之后安全級別更高,對何種狀況下認為是攻擊,則需要根據(jù)下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值設(shè)定的條件來觸發(fā)啟動了。這里需要注意的是,NT4.0必須設(shè)為1,設(shè)為2后在某種特殊數(shù)據(jù)包下會導致系統(tǒng)重啟。
"SynAttackProtect"=dword:00000002
同時允許打開的半連接數(shù)量。所謂半連接,表示未完整建立的TCP會話,用netstat命令可以看到呈SYN_RCVD狀態(tài)的就是。這里使用微軟建議值,服務(wù)器設(shè)為100,高級服務(wù)器設(shè)為500。建議可以設(shè)稍微小一點。
"TcpMaxHalfOpen"=dword:00000064
判斷是否存在攻擊的觸發(fā)點。這里使用微軟建議值,服務(wù)器為80,高級服務(wù)器為400。
"TcpMaxHalfOpenRetried"=dword:00000050
設(shè)置等待SYN-ACK時間。缺省項值為3,缺省這一過程消耗時間45秒。項值為2,消耗時間為21秒。項值為1,消耗時間為9秒。最低可以設(shè)為0,表示不等待,消耗時間為3秒。這個值可以根據(jù)遭受攻擊規(guī)模修改。微軟站點安全推薦為2。
"TcpMaxConnectResponseRetransmissions"=dword:00000001
設(shè)置TCP重傳單個數(shù)據(jù)段的次數(shù)。缺省項值為5,缺省這一過程消耗時間240秒。微軟站點安全推薦為3。
"TcpMaxDataRetransmissions"=dword:00000003
設(shè)置syn攻擊保護的臨界點。當可用的backlog變?yōu)?時,此參數(shù)用于控制syn攻擊保護的開啟,微軟站點安全推薦為5。
"TCPMaxPortsExhausted"=dword:00000005
禁止IP源路由。缺省項值為1,表示不轉(zhuǎn)發(fā)源路由包,項值設(shè)為0,表示全部轉(zhuǎn)發(fā),設(shè)置為2,表示丟棄所有接受的源路由包,微軟站點安全推薦為2。
"DisableIPSourceRouting"=dword:0000002
限制處于TIME_WAIT狀態(tài)的最長時間。缺省為240秒,最低為30秒,最高為300秒。建議設(shè)為30秒。
"TcpTimedWaitDelay"=dword:0000001e
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
增大NetBT的連接塊增加幅度。缺省為3,范圍1-20,數(shù)值越大在連接越多時提升性能。每個連接塊消耗87個字節(jié)。
"BacklogIncrement"=dword:00000003
最大NetBT的連接快的數(shù)目。范圍1-40000,這里設(shè)置為1000,數(shù)值越大在連接越多時允許更多連接。
"MaxConnBackLog"=dword:000003e8
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters]
配置激活動態(tài)Backlog。對于網(wǎng)絡(luò)繁忙或者易遭受SYN攻擊的系統(tǒng),建議設(shè)置為1,表示允許動態(tài)Backlog。
"EnableDynamicBacklog"=dword:00000001
配置最小動態(tài)Backlog。默認項值為0,表示動態(tài)Backlog分配的自由連接的最小數(shù)目。當自由連接數(shù)目低于此數(shù)目時,將自動的分配自由連接。默認值為0,對于網(wǎng)絡(luò)繁忙或者易遭受SYN攻擊的系統(tǒng),建議設(shè)置為20。
"MinimumDynamicBacklog"=dword:00000014
最大動態(tài)Backlog。表示定義最大"準"連接的數(shù)目,主要看內(nèi)存大小,理論每32M內(nèi)存最大可以增加5000個,這里設(shè)為20000。
"MaximumDynamicBacklog"=dword:00002e20
每次增加的自由連接數(shù)據(jù)。默認項值為5,表示定義每次增加的自由連接數(shù)目。對于網(wǎng)絡(luò)繁忙或者易遭受SYN攻擊的系統(tǒng),建議設(shè)置為10。
"DynamicBacklogGrowthDelta"=dword:0000000a
以下部分需要根據(jù)實際情況手動修改
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
啟用網(wǎng)卡上的安全過濾
"EnableSecurityFilters"=dword:00000001
同時打開的TCP連接數(shù),這里可以根據(jù)情況進行控制。
"TcpNumConnections"=
該參數(shù)控制 TCP 報頭表的大小限制。在有大量 RAM 的機器上,增加該設(shè)置可以提高 SYN 攻擊期間的響應(yīng)性能。
"TcpMaxSendFree"=
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
\Interfaces\{自己的網(wǎng)卡接口}]
禁止路由發(fā)現(xiàn)功能。ICMP路由通告報文可以被用來增加路由表紀錄,可以導致攻擊,所以禁止路由發(fā)現(xiàn)。
"PerformRouterDiscovery "=dword:00000000