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