JUNIPER 防火牆防禦DoS***詳細介紹

一.拒絕服務***DoS
1. 拒絕服務***的目的是用極大量的虛擬信息流耗盡受害者的資源,使其無法處理合法的信息流。***的目標可以是防火牆、防火牆所保護的網絡資源、個別主機的特定硬件平臺或操作系統等。通常DoS***中的源地址是欺騙性的。

2. 發自多個源地址的DoS***稱爲分佈式拒絕服務***(DDoS)。DDoS***中的源地址可以是欺騙性地址,也可以是被損害過的主機的實際地址,或者是***者目前正用作“zombie代理”且從中發起***的主機實際地址。

3. NetScreen防火牆提供了九種拒絕服務***的檢測和防禦:
   會話表氾濫***的檢測和防禦
   SYN-ACK-ACK代理氾濫***的檢測和防禦
   SYN氾濫***的檢測和防禦
   ICMP氾濫***的檢測和防禦
   UDP氾濫***的檢測和防禦
   陸地***的檢測和防禦。
   Ping of Death***的檢測和防禦
   Teardrop***的檢測和防禦
   WinNuke***的檢測和防禦。

二.會話表氾濫***的檢測和防禦
1.***者通過填滿防火牆的會話表,使防火牆不能產生任何新的會話,拒絕新的連接請求,從而產生DoS***。防火牆主要採用基於源和目標的會話限制和主動調整會話超時的主動失效機制兩種手段來減輕這類***。

2.選擇SCREEN選項“Source IP Based Session Limit”和“Destination IP Based Session Limit” 將啓動基於源和目標的會話限制功能。默認的基於源和目標的會話限制是每秒128個併發連接。

3.基於源的會話限制將限制來自相同源地址的併發會話數目,可以阻止像Nimda、衝擊波這樣的病毒和蠕蟲的DoS***。這類病毒會感染服務器,然後從服務器產生大量的信息流。由於所有由病毒產生的信息流都始發於相同的IP地址,因此基於源的會話限制可以保證防火牆能抑制這類巨量的信息流。當來自某個IP 地址的併發會話數達到最大限值後,防火牆開始封鎖來自該IP地址的所有其他連接嘗試。假如網絡發生了衝擊波病毒,我們可以將內網的基於源的會話限制設置爲一個比較低的值(比如設爲50),那些不能上網的機器,很可能就是中了毒,立刻隔離並進行查殺病毒和打補丁。

4.***者可以從上百個被他控制的主機上發起分佈式拒絕服務(DDoS)***。基於目標的會話限制可以確保防火牆只允許可接受數目的併發連接請求到達任意主機,而不管其來源。當訪問某服務器的併發會話數超限時,防火牆將封鎖到該服務器的所有其他的連接嘗試。

5.在默認情況下,最初的TCP三次握手的超時值爲20秒,會話建立後,超時值改變爲1800秒;對於HTTP和UDP,超時值分別爲300秒和60秒。當發生***時,併發會話數很快增長,但由於超時值的限制,那些沒有完成的連接會話就會迅速填滿會話表。防火牆提供了一種主動失效機制,當會話表的使用達到一個高限值時(比如最大併發會話數的80%),縮短會話超時值,提前刪除會話。當會話表的使用低於某個低限值時(比如最大併發會話數的60%),超時值恢復爲默認值,超時進程恢復正常。主動失效機制將以設定的會話主動失效速率縮短默認的會話超時值,加速會話失效。失效速率值可在2~10個單位間選擇(每個單位表示10秒)。該功能要通過命令來設置。
  set flow aging low-watermark 60
  set flow aging high-watermark 80
  set flow aging early-ageout 6
上述設置的作用是當會話表的使用達到最大併發會話數的80%時,啓動主動失效機制加速會話失效。此時,TCP的會話超時值由1800秒縮短爲1740秒, HTTP的會話超時值由300秒縮短爲240秒,而UDP的會話超時值縮短爲0。防火牆將自動刪除超時值超過1740秒的TCP會話和超時值超過240秒的HTTP會話,首先開始刪除最早的會話。提前60秒超時的設置導致所有的UDP會話超時,並在下一次垃圾清掃時被刪除。當會話表的使用下降到最大併發會話數的60%時,停止加速失效,會話超時值恢復爲原來的默認值。這樣可以有效地抑制使防火牆會話表氾濫的***。

 

三.SYN-ACK-ACK代理氾濫***的檢測和防禦
1.當認證用戶發起Telnet或FTP連接時,防火牆截取用戶發往Telnet或FTP服務器的SYN片段,在其會話表中創建一個條目,並代發一個 SYN-ACK片段給用戶,然後該用戶用ACK應答,從而完成最初的三次握手。之後,防火牆向用戶發出登陸提示。如果用戶是一個***者,他沒有響應登陸而是繼續發起SYN-ACK-ACK會話,由此引發了SYN-ACK-ACK代理氾濫,最終會填滿防火牆的會話表,從而拒絕合法用戶的連接請求。

2.爲阻擋這種***,可以啓動SCREEN的“SYN-ACK-ACK Proxy Protection”選項。在來自相同IP地址的連接數目達到SYN-ACK-ACK代理閥值後(默認是512,可選1-250000之間任何整數以適應不同的網絡環境)防火牆將拒絕來自該地址的更多其他連接請求。

 

四.SYN氾濫***的檢測和防禦
1. 利用欺騙性的IP源地址(不存在或不可到達)大量發送請求TCP連接的SYN片段,這些無法完成的TCP連接請求,造成受害主機的內存緩衝區被填滿,甚至操作系統被破壞,從而無法再處理合法的連接請求,此時就發生了SYN氾濫。

2.爲阻擋這種***,可以啓動SCREEN的“SYN Flood Protection”選項。防火牆設定每秒通過指定對象(目標地址和端口、僅目標地址或僅源地址)的SYN片段數的閥值,當來自相同源地址或發往相同目標地址的SYN片段數達到這些閥值之一時,防火牆就開始截取連接請求和代理回覆SYN/ACK片段,並將不完全的連接請求存儲到連接隊列中直到連接完成或請求超時。當防火牆中代理連接的隊列被填滿時,防火牆拒絕來自相同安全區域(zone)中所有地址的新SYN片段,避免網絡主機遭受不完整的三次握手的***。

3.設置下列檢測和防禦SYN氾濫***的閥值
Attack Threshold:每秒發往相同目標地址和端口號的SYN片段數目達到該閥值時將激活SYN代理(默認值是200)。如果設置Attack Threshold=1000pps,當***者每秒發送999個FTP封包和999個HTTP封包,由於每一組封包(具有相同目的地址和端口號的封包被視爲一組)都沒有超過1000pps的設定閥值,因此不會激活SYN代理。

Alarm Threshold:每秒代理的發往相同目標地址和端口號的未完成的連接請求數超過此閥值時將觸發警告(默認值是1024)。如果設定Attack Threshold=300,Alarm Threshold=1000,則每秒發往相同目標地址和端口號的前300個SYN片段可以通過防火牆,在同一秒內,防火牆代理後面的1000個SYN片段,第1001個代理連接請求(即該秒內第1301個連接請求)將會觸發警告。

Source Threshold:防火牆開始丟棄來自該源地址的連接請求之前,每秒從單個源IP地址接收的SYN片段數目(不管目標地址和端口號是什麼)。默認值是 4000pps。設置了此閥值時,不管目標地址和端口號是什麼,防火牆都將跟蹤SYN封包的源地址;當超過此閥值時,對於該秒的剩餘時間及下一秒內,防火牆將拒絕來自該源地址的所有其他SYN封包。

Distination Threshold:當每秒發往單個目標IP地址(不管目標端口號)的SYN片段數目超過此閥值時,防火牆將拒絕發往該目標地址的所有新連接請求。默認值是40000pps。如果設定Distination Threshold=1000pps,當***者每秒發送999個FTP封包和999個HTTP封包時,防火牆將發往同一目標的FTP和HTTP封包看成是一個組的成員,並拒絕發往該目標地址的第1001個封包(FTP或HTTP封包)。

Timeout:未完成的TCP連接被從代理連接隊列中丟棄前的最長等待時間。默認是20秒。

Queue size:防火牆開始拒絕新連接請求前,代理連接隊列中最大存放代理連接請求的數量。默認值是10240.

 

五. ICMP氾濫***的檢測和防禦
1. 受害者耗盡所有資源來響應ICMP迴應請求,直至無法處理有效的網絡信息時,就發生ICMP氾濫。

2.啓用SCREEN的“ICMP Flood Protection”選項可以抵禦ICMP氾濫***。一旦超過設定的閥值(默認爲每秒1000個封包),防火牆在該秒餘下的時間和下一秒內拒絕來自相同安全區域(zone)所有地址的更多ICMP迴應請求。

 

六.UDP氾濫***的檢測和防禦
1. 當***者大量發送含有UDP數據報的IP封包以減慢受害者的操作速度,以致於受害者無法處理有效的連接時,就發生UDP氾濫。

2.啓用SCREEN的“UDP Flood Protection”選項可以抵禦UDP氾濫***。如果發送給單個目標的UDP數據報數目超過設定的閥值(默認爲每秒1000個封包),防火牆在該秒餘下的時間和下一秒內拒絕來自相同安全區域(zone)併發往該目標地址的更多UDP數據報。

 

七.陸地(Land)***的檢測和防禦
1. Land***將SYN氾濫***和IP地址欺騙結合在一起。當***者大量發送以被***者的IP地址作爲源和目的地址的SYN封包時,就發生Land***。被***者向自己發送SYN-ACK封包進行響應,創建一個空的連接,該連接一直保持到連接超時爲止。大量的這種空連接將耗盡系統的資源,導致DoS發生。

2.啓用SCREEN的“Land Attack Protection”選項可以封鎖Land***。防火牆將SYN氾濫防禦和IP地址欺騙防禦技術有機地相結合,防禦這種***。

 

八. Ping of Death***的檢測和防禦
1.IP協議規定最大IP封包長度是65535字節,其中包括長度通常爲20字節的封包包頭。ICMP迴應請求是一個含有8字節ICMP包頭的IP封包,因此ICMP迴應請求數據區最大長度是65507字節(65535-20-8)。

2.許多ping程序允許用戶指定大於65507字節的封包大小,在發送過大的ICMP封包時,它將被分解成許多碎片,重組過程可能導致接受系統崩潰。

3.啓用SCREEN的“Ping of Death Attack Protection”選項,防火牆將檢測並拒絕這些過大且不規則的封包,即便是***者通過故意分段來隱藏總封包大小。

 

九. Teardrop***的檢測和防禦
1. IP包頭的碎片偏移字段表示封包碎片包含的數據相對原始未分段封包數據的開始位置或偏移。當一個封包碎片的開始位置與前一個封包的結束位置發生重疊時(例如,一個封包的偏移是0,長度是820,下一個封包的偏移是800),將會導致有些系統在重組封包時引起系統崩潰,特別是含有漏洞的系統。 Teardrop***就是利用了IP封包碎片重組的特性。

2.啓用SCREEN的“Teardrop Attack Protection”選項,只要防火牆檢測到封包碎片中這種差異就丟棄該封包。

十. WinNuke***的檢測和防禦
1. WinNuke***是針對互聯網上運行Windows系統的計算機。***者將TCP片段發送給已建立連接的主機(通常發送給設置了緊急標誌URG的 NetBIOS端口139),這樣就產生NetBIOS碎片重疊,從而導致運行Windows系統的機器崩潰。重新啓動遭受***的機器後,會顯示下面的信息:
An exception OE has occurred at 0028:[address] in VxD MSTCP(01) 
000041AE. This was called from 0028:[address] in VxD NDIS(01) 
00008660.It may be possible to continue normally.
Press any key to attempt to continue.
Press CTRL ALT DEL to restart your computer. You will lose any unsaved information in all applications.
Press any key to continue.

2.啓用SCREEN的“WinNuke Attack Protection”選項,防火牆掃描所有流入139端口(NetBIOS會話服務)的封包,如果發現其中一個封包設置了URG標誌,防火牆將取消該 URG標誌,清除URG指針,轉發修改後的指針,然後在事件日誌中寫入一個條目,說明其已封鎖了一個WinNuke***的嘗試。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章