05-攻擊防範
本章節下載: 05-攻擊防範 (543.83 KB)
本幫助主要介紹以下內容:
· 特性簡介
¡ 攻擊防範策略
¡ 客戶端驗證
¡ 黑名單
¡ 白名單
· 配置指南
¡ 攻擊防範
¡ 受保護IP
¡ 黑名單
¡ 白名單
¡ 安全域設置
攻擊防範是一個重要的網絡安全特性,它通過分析經過設備的報文的內容和行為,判斷報文是否具有攻擊特征,並根據配置對具有攻擊特征的報文執行一定的防範措施。
攻擊防範策略用於定義一個或多個用於檢測攻擊的特征項,以及對檢測到的攻擊報文所采取的防範措施,例如輸出告警日誌、丟棄報文、加入黑名單或進行客戶端驗證。設備可以支持定義用於掃描攻擊防範、泛洪攻擊防範和單包攻擊防範的策略。
攻擊防範策略應用在安全域上,對安全域上收到的報文生效。
掃描攻擊是指,攻擊者運用掃描工具對網絡進行主機地址或端口的掃描,通過準確定位潛在目標的位置,探測目標係統的網絡拓撲結構和開放的服務端口,為進一步侵入目標係統做準備。掃描攻擊主要分為地址掃描攻擊和端口掃描攻擊。
· 地址掃描攻擊
攻擊者發送大量目的IP地址變化的探測報文,通過收到的回應報文來確定活躍的目標主機,以便針對這些主機進行下一步的攻擊。
· 端口掃描攻擊
攻擊者獲取了活動目標主機的IP地址後,向目標主機發送大量目的端口變化的探測報文,通過收到的回應報文來確定目標主機開放的服務端口,然後針對活動目標主機開放的服務端口選擇合適的攻擊方式或攻擊工具進行進一步的攻擊。
掃描攻擊防範主要通過監測網絡使用者向目標係統發起連接的速率來檢測其探測行為,一般應用在設備連接外部網絡的安全域上,且僅對應用了攻擊防範策略的安全域上的入方向報文有效。若設備監測到某IP地址主動發起的連接速率達到或超過了一定閾值,則可以根據配置采取相應的動作(輸出告警日誌、丟棄攻擊者發送的報文,或者將攻擊者的源IP地址加入黑名單)。
在配置掃描攻擊防範策略時,需要指定掃描攻擊的檢測敏感度。當指定檢測敏感度為低、中、高級別時,掃描攻擊檢測的閾值和檢測周期為固定值;當指定檢測敏感度為自定義時,可以通過配置靈活指定掃描攻擊檢測的閾值和檢測周期。
若指定的掃描攻擊的處理行為為加入黑名單,則需要開啟安全域上的黑名單過濾功能來配合。
泛洪攻擊是指攻擊者在短時間內向目標係統發送大量的虛假請求,導致目標係統疲於應付無用信息,從而無法為合法用戶提供正常服務,即發生拒絕服務。
泛洪攻擊防範主要用於保護服務器,通過監測向服務器發起連接請求的速率來檢測各類泛洪攻擊,一般應用在設備連接外部網絡的安全域上,且僅對應用了攻擊防範策略的安全域上的入方向報文有效。在安全域上應用了泛洪攻擊防範策略後,安全域處於攻擊檢測狀態,當它監測到向某服務器發送報文的速率持續達到或超過了指定的觸發門限值時,即認為該服務器受到了攻擊,則進入攻擊防範狀態,並根據配置采取相應的動作(輸出告警日誌、丟棄攻擊者發送的報文或者進行客戶端驗證)。此後,當設備檢測到向該服務器發送報文的速率低於恢複門限值(觸發門限值的3/4)時,即認為攻擊結束,則由攻擊防範狀態恢複為攻擊檢測狀態,並停止執行防範措施。
泛洪攻擊防範策略中支持基於IP地址的攻擊防範配置,即對受保護IP地址單獨配置防範策略。對於所有非受保護IP地址,則可以選擇采用泛洪防範公共配置來進行保護。
在配置泛洪攻擊防範策略時,需要為各種類型的攻擊配置防範門限。門限的設置是否合理將直接影響攻擊防範的效果。係統提供了泛洪攻擊閾值學習功能,為泛洪攻擊防範門限值的設置提供參考。其實現原理是:係統對正常網絡環境下的各種流量按時間進行統計,得出此段時間內各種流量的最高值,從而以此為依據計算出各種攻擊類型對應的防範門限值。
閾值學習支持以下兩種學習模式:
· 單次學習:隻進行一次閾值學習。
· 周期學習:按周期學習間隔進行多次閾值學習。周期學習間隔是指從上次學習的結束時間到下次學習開始時間的間隔時間。
開啟閾值學習,會對所有類型的泛洪攻擊進行閾值學習。在周期學習模式下,最新一次的學習結果會覆蓋上一次學習結果。對於學習到的閾值,您可以開啟自動應用功能,也可以選擇隻學習不啟用自動應用功能。
在不清楚實際流量的情況下,配置泛洪攻擊防範參數時,建議使用缺省值,然後根據閾值學習功能進行調整。
單包攻擊也稱為畸形報文攻擊,主要包括以下三種類型:
· 攻擊者通過向目標係統發送帶有攻擊目的的IP報文,如分片重疊的IP報文、TCP標誌位非法的報文,使得目標係統在處理這樣的IP報文時出錯、崩潰;
· 攻擊者可以通過發送正常的報文,如ICMP報文、特殊類型的IP option報文,來幹擾正常網絡連接或探測網絡結構,給目標係統帶來損失;
· 攻擊者還可通過發送大量無用報文占用網絡帶寬,造成拒絕服務攻擊。
單包攻擊防範主要通過分析經過設備的報文特征來判斷報文是否具有攻擊性,一般應用在設備連接外部網絡的安全域上,且僅對應用了攻擊防範策略的安全域上的入方向報文有效。若設備檢測到某報文具有攻擊性,則根據配置采取相應的動作(輸出告警日誌、丟棄攻擊者發送的報文)。
設備除了支持對知名單包攻擊進行檢測之外,還支持對用戶自定義的報文特征進行檢測。
攻擊防範例外列表用於過濾不需要進行攻擊防範檢測的主機報文,與指定的“允許”類型的ACL規則匹配的報文將不會受到任何類型的攻擊防範檢測。該列表用於過濾某些被信任的安全主機發送的報文,可以有效的減小誤報率,並提高服務器處理效率。
需要注意的是,例外列表引用的ACL中的“允許”類型的規則中僅源地址、目的地址、源端口、目的端口、協議號、VRF和非首片分片標記參數用於匹配報文。
客戶端驗證功能用來防禦服務器受到的TCP、DNS、DNS reply、HTTP、SIP類型的泛洪攻擊。啟用了客戶端驗證功能的設備位於客戶端和受保護的服務器之間,能夠對客戶端發起的連接進行驗證,達到保護服務器免受各種泛洪攻擊的目的。
客戶端驗證功能有兩種工作方式:
· 手工添加受保護IP地址:在安全域上開啟指定類型的客戶端驗證功能,當設備檢測到來自某客戶端的首個目的地址為手工配置的受保護IP地址的報文後,將對該客戶端的新建連接的報文進行合法性檢查。
· 自動添加受保護IP地址:在安全域上應用指定類型的泛洪攻擊防範策略,當設備檢測到某服務器受到了泛洪攻擊時,若安全域上的策略采用的動作為源驗證,則設備會將該服務器IP地址添加到受保護IP表項中,並對後續新建連接的報文進行合法性檢查。
通過合法性檢查的客戶端的IP地址將被設備信任,之後設備將放行來自該IP地址的報文。
TCP客戶端驗證功能用來防禦服務器受到的SYN flood、ACK flood、SYN-ACK flood、FIN flood和RST flood等攻擊。
TCP客戶端驗證支持兩種驗證模式:
· Safe Reset:僅對TCP連接的正向握手報文進行處理,也稱為單向代理模式。該模式適合於從客戶端發出的報文經過TCP客戶端驗證設備,而從服務器端發出的報文不經過TCP客戶端驗證設備的組網。
· SYN Cookie:對TCP連接的正向和反向所有報文都進行處理,也稱為雙向代理模式。該模式適合於從客戶端發出的報文和從服務器端發出的報文都經過TCP客戶端驗證設備的組網。
1. Safe Reset
該模式下,設備收到某客戶端發來的與受保護服務器(匹配某個受保護IP地址表項)建立TCP連接的請求(SYN報文)後,先代替服務器向客戶端回應序號錯誤的SYN ACK報文。如果設備收到客戶端回應的正確RST報文,則認為該TCP連接請求通過TCP代理的驗證。此後一定時間內,設備收到來自該客戶端的TCP報文後,直接將其轉發給服務器,允許客戶端和服務器之間直接建立TCP連接。
一般而言,應用服務器不會主動對客戶端發起惡意連接,因此服務器響應客戶端的報文可以不需要經過驗證。設備僅需要對客戶端發往應用服務器的報文進行實時監控,服務器響應客戶端的報文可以根據實際需要選擇是否經過設備,因此Safe Reset模式能夠支持更靈活的組網方式。
由於設備對客戶端發起的TCP連接進行了幹預,因此Safe Reset模式的實現要求客戶端的實現嚴格遵守TCP協議棧的規定,如果客戶端的TCP協議棧實現不完善,即便是合法用戶,也可能由於未通過檢查而無法訪問服務器。而且,該方式依賴於客戶端向服務器發送RST報文後再次發起請求的功能,因此啟用TCP客戶端驗證功能後,客戶端發起的每個TCP連接的建立時間會有相應增加。
2. SYN Cookie
該模式下,設備收到某客戶端發來的與受保護服務器建立TCP連接的請求(SYN報文)後,先代替服務器向客戶端回應正常的SYN ACK報文(窗口值為0)。如果收到客戶端回應的ACK報文,則認為該TCP連接請求通過TCP代理的驗證。之後,設備再代替客戶端向服務器發送SYN報文,並通過三次握手與服務器建立TCP連接。因此,在客戶端和設備、設備和服務器之間會建立兩個TCP連接,而且兩個TCP連接使用的序號不同。
SYN Cookie模式下,設備作為虛擬的服務器與客戶端交互,同時也作為虛擬的客戶端與服務器交互,在為服務器過濾掉惡意連接報文的同時保證了常規業務的正常運行。但該方式要求客戶端驗證設備必須部署在所保護的服務器入口和出口的關鍵路徑上,且要保證所有客戶端向服務器發送的報文以及服務器向客戶端回應的報文都需要經過該設備。
DNS客戶端驗證功能用來防禦服務器受到的DNS flood攻擊。
DNS客戶端驗證過程為:
1. DNS客戶端驗證設備收到某客戶端發送的UDP類型的DNS Query報文(目的地址匹配受保護IP表項)後,先代替服務器向客戶端回應DNS Truncate(TC)報文,要求客戶端以TCP方式進行域名請求。
2. 如果是合法客戶端,則它收到DNS Truncate報文之後會向DNS客戶端驗證設備發送目的端口為53的TCP SYN報文。
3. DNS客戶端驗證設備收到此報文後,先代替服務器向客戶端回應序號錯誤的SYN ACK報文,之後,如果能夠收到客戶端回應的RST報文,則認為該客戶端通過了DNS客戶端驗證。對於通過了DNS驗證的客戶端,設備直接轉發其後續報文,不對報文進行處理。
由於設備對客戶端發起的DNS請求進行了幹預,因此要求客戶端的實現嚴格遵守TCP/IP協議棧以及DNS協議的規定,如果客戶端的協議棧實現不完善,即便是合法用戶,也可能由於未通過檢查而無法訪問服務器。而且,該方式依賴於客戶端向服務器發送RST報文後再次發起請求的功能,因此啟用DNS客戶端驗證功能後,正常客戶端發起的首個DNS請求的響應時間會有相應增加。
DNS reply驗證功能用來防禦DNS客戶端受到的DNS reply flood攻擊。
DNS reply驗證過程為:
1. DNS reply驗證設備收到某服務器發送的UDP類型的DNS reply報文(目的地址匹配受保護IP表項),代替DNS客戶端向服務器發送DNS query報文,該報文的Query ID和源端口號由驗證設備生成。
2. 如果是合法的服務器,則它收到含有新的Query ID和源端口號的DNS query報文後,會向驗證設備發送含有新的Query ID和目的端口號的DNS reply報文。
3. DNS reply驗證設備收到此報文後,提取Query ID和目的端口號,如果與驗證設備發送的DNS query報文的Query ID和源端口號一致,則認為服務器通過了DNS reply驗證。對於通過了DNS reply驗證的服務器,設備直接轉發其後續報文,不對報文進行處理。
HTTP客戶端驗證功能用來防禦服務器受到HTTP flood攻擊。
HTTP客戶端驗證支持對客戶端向服務器發起的GET和POST請求進行驗證。
HTTP客戶端GET請求驗證過程為:
1. HTTP客戶端驗證設備收到某客戶端發送的TCP連接請求報文(目的地址匹配受保護IP表項)後,首先以Syn Cookie方式進行驗證。客戶端的TCP連接通過驗證之後,設備將對客戶端發送的HTTP GET請求報文進行兩次重定向驗證。
2. 第一次重定向驗證:設備收到客戶端的HTTP GET請求之後向其發送HTTP Redirect報文,並在重定向報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會記錄該客戶端的信息。當前的TCP連接結束之後,客戶端與設備進行一輪新的TCP三次握手。
3. 第二次重定向驗證:設備收到客戶端向重定向地址發起的HTTP GET請求之後,向其發送HTTP Redirect報文,並在重定向報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會檢查客戶端是否經過了第一次重定向,以及本次HTTP訪問的URI是否是設備重定向的地址。如果檢查通過,設備會將該客戶端加入到信任IP表項中,該客戶端的後續HTTP GET請求報文將被直接進行透傳。
HTTP客戶端POST請求驗證過程為:
1. HTTP客戶端驗證設備收到某客戶端發送的TCP連接請求報文(目的地址匹配受保護IP表項)後,首先以Syn Cookie方式進行驗證。客戶端的TCP連接通過驗證之後,設備將對客戶端發送的HTTP POST請求報文依次進行重定向驗證和超時驗證。
2. 重定向驗證:設備收到客戶端的HTTP POST請求之後向其發送帶有Set-Cookie驗證字段的HTTP Redirect報文,並在重定向報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會記錄該客戶端的信息。當前的TCP連接結束之後,客戶端與設備進行一輪新的TCP三次握手。
3. 超時驗證:設備收到客戶端發起的帶有Cookie字段的HTTP POST請求之後,向其發送HTTP 408超時報文,並在報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會檢查客戶端是否經過了第一次重定向,以及本次HTTP報文中是否帶有有效的Cookie值。如果檢查通過,設備會將該客戶端加入到信任IP表項中,該客戶端的後續HTTP POST請求報文將被直接進行透傳。
SIP客戶端驗證功能用來防禦服務器受到的SIP flood攻擊。
SIP客戶端驗證過程為:
1. SIP客戶端驗證設備收到某客戶端發送的UDP類型的INVITE報文(目的地址匹配受保護IP表項)後,先代替服務器向客戶端回應OPTIONS報文。
2. 如果是合法客戶端,則它收到OPTIONS報文之後會向SIP客戶端驗證設備發送應答報文。
3. SIP客戶端驗證設備收到應答報文後,檢查OPTIONS應答報文中的branch值和發送的OPTIONS報文中的branch值是否相同,若相同,則認為該客戶端通過了SIP客戶端驗證。設備直接轉發其後續報文,不對報文進行處理。
由於SIP客戶端驗證對客戶端發送的報文進行了解析,因此,若客戶端發送的報文由於分片導致報文首部信息不完整,即便是合法用戶,也可能因未解析到對應的字段導致不能通過SIP客戶端驗證的檢查。
黑名單功能是根據報文的IP地址進行報文過濾的一種攻擊防範特性。同基於ACL的包過濾功能相比,黑名單進行報文匹配的方式更為簡單,可以實現報文的高速過濾和有效屏蔽。
黑名單可以由設備動態或由用戶手工進行添加、刪除,具體機製如下:
· 動態添加黑名單是與掃描攻擊防範功能配合實現的,動態生成的黑名單表項會在一定的時間之後老化。當設備根據報文的行為特征檢測到某特定IP地址的掃描攻擊企圖之後,便將攻擊者的IP地址自動加入黑名單,之後該IP地址發送的報文會被設備過濾掉。
· 手動配置的黑名單表項分為永久黑名單表項和非永久黑名單表項。永久黑名單表項建立後,一直存在,除非用戶手工刪除該表項。非永久黑名單表項的老化時間由用戶指定,超出老化時間後,設備會自動將該黑名單表項刪除。
白名單功能即將特定的源IP地址加入白名單後,設備對於該地址發送的報文會跳過安全檢查,而直接按照正常的轉發流程進行處理,從而實現了報文的高速轉發。
白名單不能直接指定IP地址,而需要通過引用地址對象組將IP地址加入白名單。白名單隻能引用一個地址對象組,且隻能由用戶手工添加或刪除。
攻擊防範功能的配置思路如下圖所示:
圖-1 攻擊防範配置指導圖
在配置攻擊防範之前,必須首先創建一個攻擊防範策略。在策略中根據實際的網絡安全需求來配置策略中的具體內容,主要包括針對攻擊類型指定檢測條件及采取的防範措施。
1. 單擊“策略 > 安全防護 > 攻擊防範”。
2. 在“攻擊防範”頁麵單擊<新建>按鈕。
3. 新建攻擊防範策略。
表-1 攻擊防範策略配置
參數 |
說明 |
策略名稱 |
攻擊防範策略名稱,不區分大小寫。合法取值包括大寫字母、小寫字母、數字、特殊字符“_”和“-” |
應用於 |
在指定安全域上應用當前攻擊防範策略。一個安全域上隻能應用一個攻擊防範策略,但一個攻擊防範策略可應用於多個安全域上 下拉列表中顯示的安全域包括設備缺省的安全域和用戶在“網絡 > 安全域”頁麵已經配置的安全域 |
表-2 掃描防範配置
參數 |
說明 |
檢測敏感度 |
掃描攻擊防範的檢測級別,包括關閉、低、中、高和自定義。關閉表示關閉掃描攻擊防範功能;低表示低防範級別,該級別提供基本的掃描攻擊檢測,有很低的誤報率,但對於一些掃描攻擊類型不能檢出;中表示中防範級別,該級別有適中的攻擊檢出率與誤報率;高表示高防範級別,該級別能檢測出大部分的掃描攻擊,但對活躍主機誤報率較高,即將可提供服務的主機的報文錯誤判斷為攻擊報文的概率比較高;自定義表示用戶自定義防範級別,該級別的掃描攻擊防範閾值可以由用戶指定 · 開啟端口掃描:開啟/關閉端口掃描功能。檢測敏感度為低、中、高級別時,該功能處於開啟狀態;檢測敏感度為自定義時,該功能是否開啟可以由用戶指定 閾值:端口掃描攻擊的閾值。當檢測敏感度為低時,閾值為100000;當檢測敏感度為中時,閾值為40000;當檢測敏感度為高時,閾值為5000;當檢測敏感度為自定義時,可以通過配置靈活指定端口掃描攻擊閾值;當檢測敏感度為關閉時,不顯示本參數 · 開啟地址掃描:開啟/關閉地址掃描功能。檢測敏感度為低、中、高級別時,該功能處於開啟狀態;檢測敏感度為自定義時,該功能是否開啟可以由用戶指定 閾值:地址掃描攻擊的閾值。當檢測敏感度為低時,閾值為100000;當檢測敏感度為中時,閾值為40000;當檢測敏感度為高時,閾值為5000;當檢測敏感度為自定義時,可以通過配置靈活指定地址掃描攻擊閾值;當檢測敏感度為關閉時,不顯示本參數 · 檢測周期:掃描攻擊防範的檢測周期。當檢測敏感度為低、中、高時,檢測周期為10秒;當檢測敏感度為自定義時,可通過配置靈活指定掃描攻擊防範的檢測閾值;當檢測敏感度為關閉時,不顯示本參數 |
行為 |
對掃描攻擊的處理行為,包括: · 輸出告警日誌 · 丟棄攻擊者發送的報文 · 將發起攻擊的源IP地址添加到黑名單 · X分鍾後老化:動態添加的黑名單表項的老化時間。隻有勾選“將發起攻擊的源IP地址添加到黑名單”時,才會顯示該參數 當“檢測敏感度”選擇“關閉”時,不顯示本參數 |
參數 |
說明 |
攻擊類型 |
設備支持的泛洪攻擊類型,包括: · ACK:ACK flood攻擊。ACK報文為隻有ACK標誌位置位的TCP報文,服務器收到ACK報文時,需要查找對應的連接。若攻擊者發送大量這樣的報文,服務器需要進行大量的查詢工作,消耗正常處理的係統資源,影響正常的報文處理 · DNS:DNS flood攻擊。DNS服務器收到任何DNS Query報文時都會試圖進行域名解析並且回複該DNS報文。攻擊者通過構造並向DNS服務器發送大量虛假DNS Query報文,占用DNS服務器的帶寬或計算資源,使得正常的DNS Query得不到處理 · DNS reply:DNS reply flood攻擊。DNS客戶端收到任何DNS reply報文時都會進行處理。攻擊者在一定條件下將大量偽造的DNS reply報文發送給某個DNS客戶端,消耗大量DNS客戶端的資源,使得正常的DNS reply報文得不到處理 · FIN:FIN flood攻擊。FIN報文用於關閉TCP連接。若攻擊者向服務器發送大量的偽造的FIN報文,可能會使服務器關閉掉正常的連接。同時,服務器收到FIN報文時,需要查找對應的連接,大量的無效查詢操作會消耗係統資源,影響正常的報文處理 · HTTP:HTTP flood攻擊。HTTP服務器收到HTTP GET命令時可能進行一係列複雜的操作,包括字符串搜索、數據庫遍曆、數據組裝、格式化轉換等等,這些操作會消耗大量係統資源,因此當HTTP請求的速率超過了服務器的處理能力時,服務器就無法正常提供服務。攻擊者通過構造並發送大量虛假HTTP GET請求,使服務器崩潰,無法響應正常的用戶請求 · ICMP:ICMP flood攻擊。攻擊者在短時間內向特定目標發送大量的ICMP請求報文(例如ping報文),使其忙於回複這些請求,致使目標係統負擔過重而不能處理正常的業務 · ICMPv6:ICMPv6 flood攻擊。攻擊者在短時間內向特定目標發送大量的ICMPv6請求報文(例如ping報文),使其忙於回複這些請求,致使目標係統負擔過重而不能處理正常的業務 · RST:RST flood攻擊。RST報文為TCP連接的複位報文,用於在異常情況下關閉TCP連接。如果攻擊者向服務器發送大量偽造的RST報文,可能會使服務器關閉正常的TCP連接。另外,服務器收到RST報文時,需要查找對應的連接,大量的無效查詢操作會消耗係統資源,影響正常的報文處理 · SIP:SIP flood攻擊。SIP服務器收到SIP INVITE連接請求時,服務器需要分配一定的資源用於跟蹤和建立會話,因此當SIP請求的速率超過了服務器的處理能力時,服務器就無法正常提供服務。攻擊者通過構造並發送大量虛假的SIP INVITE請求報文,導致服務器崩潰,無法響應正常的用戶請求 · SYN:SYN flood攻擊。根據TCP協議工作原理,服務器收到SYN報文後需要建立半連接並回應SYN ACK報文,然後等待客戶端的ACK報文來建立正式連接。由於資源的限製,操作係統的TCP/IP協議棧隻能允許有限個TCP連接。攻擊者向服務器發送大量偽造源地址的SYN報文後,由於攻擊報文是偽造的,服務器不會收到客戶端的ACK報文,從而導致服務器上遺留了大量無效的半連接,耗盡其係統資源,使正常的用戶無法訪問,直到半連接超時 · SYN-ACK:SYN-ACK flood攻擊。由於SYN ACK報文為SYN報文的後續報文,服務器收到SYN ACK報文時,需要查找對應的SYN報文。若攻擊者發送大量這樣的報文,服務器需要進行大量的查詢工作,消耗正常處理的係統資源,影響正常的報文處理 · UDP:UDP flood攻擊。攻擊者在短時間內向特定目標發送大量的UDP報文,占用目標主機的帶寬,致使目標主機不能處理正常的業務 |
門限值(pps) |
泛洪攻擊防範的全局觸發閾值,取值範圍為1~1000000,ACK flood攻擊防範的全局觸發閾值缺省為40000,其餘flood攻擊防範的全局觸發閾值缺省為10000 配置了泛洪攻擊防範後,設備處於攻擊檢測狀態,當它監測到向某IP地址發送報文的速率持續達到或超過了該觸發閾值時,即認為該IP地址受到了泛洪攻擊,則進入攻擊防範狀態,並根據配置啟動相應的防範措施 對於未專門配置泛洪防範受保護IP的IP地址,設備采用全局的閾值設置來進行保護。閾值的取值需要根據實際網絡應用場景進行調整,對於被保護對象的報文流量較大的應用場景,建議調大觸發閾值,以免閾值太小對正常的業務流量造成影響;對於網絡狀況較差,且對攻擊流量比較敏感的場景,可以適當調小觸發閾值 |
日誌 |
泛洪攻擊的處理行為是輸出告警日誌。即設備檢測到攻擊發生時,生成告警信息,生成的告警信息將被發送到日誌係統 |
檢測所有IP地址 |
對所有非受保護IP開啟泛洪攻擊檢測 |
客戶端驗證 |
泛洪攻擊的處理行為是客戶端驗證。若客戶端驗證功能已開啟,設備自動將受到攻擊的IP地址添加到受保護IP列表中,並對客戶端與受保護IP之間的連接進行代理 |
丟包 |
泛洪攻擊的處理行為是丟包。即設備檢測到攻擊發生後,向被攻擊者發送的後續所有同類型的報文都會被丟棄 |
檢測端口 |
泛洪攻擊防範的全局檢測端口號。設備隻對指定檢測端口上收到的報文進行攻擊檢測 表示方式為port1-port2或port,port取值範圍為1~65535,port2的值要大於或等於port1的值,相鄰檢測端口之間以“,”分隔。例如:1-10,80。port1-port2或port參數最多可以輸入32次 對於所有非受保護IP地址,或未指定檢測端口的受保護IP,設備采用全局的檢測端口進行泛洪攻擊檢測。對於所有指定檢測端口的受保護IP,設備針對為每個受保護IP指定的端口進行泛洪攻擊檢測 僅當“攻擊類型”為“DNS”、“DNS reply”、“HTTP”或“SIP”時,才能配置本參數 |
配置學習參數 |
學習參數用於對閾值學習功能進行配置,請參考表-4進行相關參數配置 要使用閾值學習功能,必須先完成攻擊防範策略的配置,然後在編輯頁麵進行學習參數的配置 |
應用學習結果 |
將泛洪攻擊閾值學習結果設置為防範門限值 此功能僅對已啟用“檢測所有IP地址”且已有學習結果的攻擊類型生效 |
參數 |
說明 |
學習功能 |
閾值學習功能用於為泛洪攻擊防範閾值的設置提供參考值。建議開啟閾值學習功能,合理設置閾值 |
每次學習時長 |
學習時長是係統完成一次閾值學習的時間長度。係統會統計該段時間內各種流量的最高值並以此為依據計算出各種攻擊類型對應的防範閾值 |
學習模式 |
學習模式如下兩種類型: · 單次學習:隻進行一次閾值學習 · 周期學習:按周期間隔進行多次閾值學習 |
自動應用 |
係統在完成閾值學習後自動根據最新的學習結果更新門限值 該功能僅對已啟用“檢測所有IP地址”且已有學習結果的攻擊類型生效 |
學習容忍度 |
學習容忍度會在應用學習結果之前將閾值擴大指定的範圍,然後再應用到門限中。該機製可以使閾值學習功能更好的應對網絡流量的波動 |
用戶可在“泛洪防範受保護IP”頁麵,單擊<新建>按鈕,新建泛洪防範受保護IP。
參數 |
說明 |
IP地址類型 |
· IPv4 · IPv6 |
攻擊類型 |
|
VRF |
受保護IP地址所屬的VPN實例 可選擇已創建的VRF,也可以新創建VRF。此處新建的VRF,可在“網絡 > VRF”頁麵查看 |
IP地址 |
受保護的IP地址 當“IP地址類型”為“IPv4”時,IP地址不能為255.255.255.255或0.0.0.0 |
門限值(pps) |
攻擊防範的觸發閾值,缺省情況下使用公共配置 |
檢測端口 |
泛洪攻擊防範的檢測端口號。設備隻對指定檢測端口上收到的報文進行攻擊檢測 表示方式為port1-port2或port,port取值範圍為1~65535,port2的值要大於或等於port1的值,相鄰檢測端口之間以“,”分隔。例如:1-10,80 僅當“攻擊類型”為“DNS”、“DNS reply”、“HTTP”或“SIP”時,才能配置本參數 |
公共配置 |
泛洪攻擊的處理行為與“泛洪防範公共配置”一致 |
日誌 |
泛洪攻擊的處理行為是輸出告警日誌。即設備檢測到攻擊發生時,生成告警信息,生成的告警信息將被發送到日誌係統 |
丟包 |
泛洪攻擊的處理行為是丟包。即設備檢測到攻擊發生後,向被攻擊者發送的後續所有同類型的報文都會被丟棄 |
客戶端驗證 |
泛洪攻擊的處理行為是客戶端驗證。表示自動將受到攻擊的IP地址添加到泛洪防範受保護IP列表中。若客戶端驗證功能已開啟,則對客戶端與受保護IP之間的連接進行代理 |
表-6 知名單包攻擊防範配置
參數 |
說明 |
||
攻擊類型 |
設備支持的知名單包攻擊類型,包括: · IP fragment:攻擊者通過向目標主機發送分片偏移小於5的分片報文,導致主機對分片報文進行重組時發生錯誤而造成係統崩潰 · IP impossible:攻擊者通過向目標主機發送源IP地址和目的IP地址相同的報文,造成主機係統處理異常 · Teardrop:攻擊者通過發送大量分片重疊的報文,致使服務器對這些報文進行重組時造成重疊,因而丟失有效的數據 · Tiny fragment:攻擊者構造一種特殊的IP分片來進行微小分片的攻擊,這種報文首片很小,未能包含完整的傳輸層信息,因此能夠繞過某些包過濾防火牆的過濾規則,達到攻擊目標網絡的目的 · IP option abnormal:攻擊者利用IP報文中的異常選項的設置,達到探測網絡結構的目的,也可由於係統缺乏對錯誤報文的處理而造成係統崩潰 · Smurf:攻擊者向目標網絡發送ICMP應答請求,該請求包的目的地址設置為目標網絡的廣播地址,這樣該網絡中的所有主機都會對此ICMP應答請求作出答複,導致網絡阻塞,從而達到令目標網絡中主機拒絕服務的攻擊目的 · Traceroute:攻擊者連續發送TTL從1開始遞增的目的端口號較大的UDP報文,報文每經過一個路由器,其TTL都會減1,當報文的TTL為0時,路由器會給報文的源IP設備發送一個TTL超時的ICMP報文,攻擊者借此來探測網絡的拓撲結構 · Ping of death:攻擊者構造標誌位為最後一片且長度大於65535的ICMP報文發送給目標主機,可能導致係統處理數據時越界訪問非法內存,造成係統錯誤甚至係統崩潰 · Large ICMP:某些主機或設備收到超大的報文,會引起內存分配錯誤而導致協議棧崩潰。攻擊者通過發送超大ICMP報文,讓目標主機崩潰,達到攻擊目的 · Large ICMPv6:某些主機或設備收到超大的報文,會引起內存分配錯誤而導致協議棧崩潰。攻擊者通過發送超大ICMPv6報文,讓目標主機崩潰,達到攻擊目的 · TCP invalid flags:攻擊者通過發送TCP 標誌位非法的報文探測目標主機的操作係統,可能導致目標主機係統崩潰 · TCP null flag:攻擊者通過發送TCP 標誌位為零的報文探測目標主機的操作係統,可能導致目標主機係統崩潰 · TCP all flags:攻擊者通過發送TCP所有標誌位均置位的報文探測目標主機的操作係統,可能導致目標主機係統崩潰 · TCP SYN-FIN:攻擊者通過發送TCP SYN和FIN標誌位被同時置位的報文探測目標主機的操作係統,可能導致目標主機係統崩潰 · TCP FIN only flag:攻擊者通過發送TCP僅FIN標誌被置位的報文探測目標主機的操作係統,可能導致目標主機係統崩潰 · TCP Land:攻擊者向目標主機發送大量源IP地址和目的IP地址都是目標主機自身的TCP SYN報文,使得目標主機的半連接資源耗盡,最終不能正常工作 · WinNuke:攻擊者向安裝(或使用)Windows係統的特定目標的NetBIOS端口(139)發送OOB(Out-Of-Band,帶外)數據包,這些攻擊報文的指針字段與實際的位置不符,從而引起一個NetBIOS片斷重疊,致使已與其他主機建立連接的目標主機在處理這些數據的時候係統崩潰 · UDP Bomb:攻擊者發送畸形的UDP報文,其IP首部中的報文總長度大於IP首部長度與UDP首部中標識的UDP報文長度之和,可能造成收到此報文的係統處理數據時越界訪問非法內存,導致係統異常 · UDP snork:攻擊者向Windows係統發送目的端口為135(Windows定位服務)源端口為135、7或19(UDP Chargen服務)的報文,使被攻擊係統不斷應答報文,最終耗盡CPU資源 · UDP fraggle:攻擊者通過向目標網絡發送源UDP端口為7且目的UDP端口為19的Chargen報文,令網絡產生大量無用的應答報文,占滿網絡帶寬,達到攻擊目的 · IPv6擴展頭異常:攻擊者向目標係統發送擴展頭順序不符合IPv6協議規定或擴展頭重複的IPv6報文 · IPv6擴展頭數目超限:攻擊者向目標係統發送擴展頭數目超出限製的IPv6報文
|
||
日誌 |
單包攻擊的處理行為是輸出告警日誌。即設備檢測到攻擊發生時,生成告警信息,生成的告警信息將被發送到日誌係統 |
||
丟包 |
單包攻擊的處理行為是丟包。即設備檢測到攻擊發生後,向被攻擊者發送的後續所有同類型的報文都會被丟棄 |
||
門限值(pps) |
· “攻擊類型”為“Large ICMP”時,表示ICMP報文長度的最大值,取值範圍為28~65534 · “攻擊類型”為“Large ICMPv6”時,表示ICMPv6報文長度的最大值,取值範圍為48~65534 |
用戶可在“自定義單包攻擊防範”頁麵,單擊<新建>按鈕,新建自定義單包攻擊防範。
表-7 自定義單包攻擊防範配置
參數 |
說明 |
特征 |
單包攻擊檢測的特征,包括: · IP選項:IP選項類型的報文攻擊 · ICMP類型:ICMP類型的報文攻擊 · ICMPv6類型:ICMPv6類型的報文攻擊 · IPv6擴展頭類型:IPv6擴展頭類型的報文攻擊 |
數值 |
特征的數值,取值範圍為0~255 · “特征”為“IP選項”時,表示IP選項代碼值 · “特征”為“ICMP類型”時,表示ICMP報文類型的數值 · “特征”為“ICMPv6類型”時,表示ICMPv6報文類型的數值 · “特征”為“IPv6擴展頭類型”時,表示IPv6擴展頭參數值 |
日誌 |
單包攻擊的處理行為是輸出告警日誌。即設備檢測到攻擊發生時,生成告警信息,生成的告警信息將被發送到日誌係統 |
丟包 |
單包攻擊的處理行為是丟包。即設備檢測到攻擊發生後,向被攻擊者發送的後續所有同類型的報文都會被丟棄 |
表-8 例外列表配置
參數 |
說明 |
IPv4例外規則 |
使用IPv4 ACL過濾不需要進行攻擊防範檢測的主機報文。可選擇已創建的IPv4 ACL,也可以新創建IPv4 ACL。此處新建的IPv4 ACL,可在“對象 > ACL > IPv4”頁麵查看 如果配置的攻擊防範例外列表中引用的ACL中未定義任何規則,例外列表不會生效 |
IPv6例外規則 |
使用IPv6 ACL過濾不需要進行攻擊防範檢測的主機報文。可選擇已創建的IPv6 ACL,也可以新創建IPv6 ACL。此處新建的IPv6 ACL,可在“對象 > ACL > IPv6”頁麵查看 如果配置的攻擊防範例外列表中引用的ACL中未定義任何規則,例外列表不會生效 |
4. 單擊<確定>按鈕,新建的攻擊防範策略會在“攻擊防範”頁麵顯示。
通過手工添加受客戶端驗證保護的IP地址,對向該目的地址發送的連接請求進行代理。
受保護IP除了可以手工添加之外,還可以通過泛洪攻擊防範自動添加。具體來講就是,在客戶端驗證功能使能的前提下,若配置了泛洪攻擊防範策略及相應的客戶端驗證功能,則設備檢測到某服務器受到了指定類型的攻擊時,設備會將該服務器IP地址添加到受保護IP列表中,並對後續指定類型的的報文進行合法性檢查。
1. 單擊“策略 > 安全防護 > 受保護IP”。
2. 在“受保護IP”頁麵單擊<新建>按鈕。
3. 新建受保護IP。
表-9 受保護IP配置
參數 |
說明 |
協議類型 |
客戶端驗證的協議類型,包括: · TCP:TCP客戶端驗證功能 · DNS:DNS客戶端驗證功能 · DNS reply:DNS reply客戶端驗證功能 · HTTP:HTTP客戶端驗證功能 · SIP:SIP客戶端驗證功能 |
VRF |
受客戶端驗證保護的IP地址所屬的VPN實例 可選擇已創建的VRF,也可以新創建VRF。此處新建的VRF,可在“網絡 > VRF”頁麵查看 |
IP地址類型 |
· IPv4 · IPv6 |
IP地址 |
受客戶端驗證保護的IP地址,即會對向該目的地址發送的連接請求進行代理 對於受TCP客戶端驗證保護的IP地址,發送的是TCP連接請求;對於受DNS客戶端驗證保護的IP地址,發送的是DNS query請求;對於受DNS reply客戶端驗證保護的IP地址,發送的是DNS reply響應;對於受HTTP客戶端驗證保護的IP地址,發送的是HTTP GET/POST連接請求;對於受SIP客戶端驗證保護的IP地址,發送的是UDP類型的INVITE請求 |
端口號 |
受客戶端驗證保護的端口號。缺省情況下,對於DNS客戶端驗證的受保護IP,則表示對端口53的DNS query連接請求做代理;對於HTTP客戶端驗證的受保護IP,則表示對端口80的HTTP GET/POST連接請求做代理;對於SIP客戶端驗證的受保護IP,則表示對端口5060的INVITE連接請求進行代理;對於TCP客戶端驗證的受保護IP,則表示對所有端口的TCP連接請求做代理 |
4. 單擊<確定>按鈕,新建的受保護IP會在“受保護IP”頁麵顯示,該頁麵還會顯示泛洪攻擊防範自動添加的受保護IP。
通過配置黑名單功能可以對來自指定IP地址的報文進行過濾。
黑名單表項除了可以手工添加之外,還可以通過掃描攻擊防範自動添加。具體來講就是,在黑名單功能使能的前提下,若配置了掃描攻擊防範策略及相應的黑名單添加功能,則可以將檢測到的掃描攻擊方地址添加到黑名單中。掃描攻擊防範添加的黑名單必定會老化,老化時間可在“策略 > 安全防護 > 攻擊防範 > 掃描防範”頁麵配置。
1. 單擊“策略 > 安全防護 > 黑名單”。
2. 在“黑名單”頁麵單擊<新建>按鈕。
3. 手工添加黑名單。
表-10 黑名單配置
參數 |
說明 |
VRF |
黑名單所屬的VPN實例 可選擇已創建的VRF,也可以新創建VRF。此處新建的VRF,可在“網絡 > VRF”頁麵查看 |
IP地址類型 |
· IPv4 · IPv6 |
IP地址方向 |
· 源地址 · 目的地址 |
IP地址 |
黑名單的IP地址,用於匹配報文的源IP地址或目的IP地址 |
DS-Lite對端地址 |
黑名單的IPv4地址所屬的DS-Lite隧道B4端IPv6地址 僅當“IP地址類型”選擇“IPv4”時,支持配置本參數 僅當“IP地址方向”選擇“源地址”時,支持配置本參數 |
剩餘老化時間(秒) |
黑名單表項的剩餘老化時間。若不配置,那麼該IP黑名單表項永不老化,除非用戶手動將其刪除 |
4. 單擊<確定>按鈕,新建的黑名單會在“黑名單”頁麵顯示。
通過配置白名單功能可以使來自指定IP地址的報文跳過設備的安全檢查。
白名單隻能通過引用地址對象組進行添加,當一個IP地址加入白名單後,直到用戶手工將其刪除,否則一直存在。地址對象組在“對象 > 對象組”頁麵配置。
1. 單擊“策略 > 安全防護 > 白名單”。
2. 在“白名單”頁麵單擊<新建>按鈕。
3. 手工添加白名單。
表-11 白名單配置
參數 |
說明 |
對象組類型 |
· IPv4 · IPv6 |
對象組名稱 |
可以選擇已創建的地址對象組,也可以新創建地址對象組。此處新建的地址對象組,可在“對象 > 對象組”頁頁麵查看 |
4. 單擊<確定>按鈕,新建的白名單會在“白名單”頁麵顯示。
客戶端驗證的配置包括添加受保護IP和在指定安全域上開啟客戶端驗證功能。
黑名單的配置包括開啟黑名單過濾功能和添加黑名單表項。若全局的黑名單過濾功能處於開啟狀態,則所有安全域上的黑名單過濾功能均處於開啟狀態。若全局的黑名單過濾功能處於關閉狀態,則需要開啟指定安全域上的黑名單過濾功能。全局黑名單功能在“策略 > 安全防護 > 黑名單”頁麵開啟。
白名單的配置包括添加白名單和開啟白名單功能。若全局的白名單功能處於開啟狀態,則所有安全域上的白名單功能均處於開啟狀態。若全局的白名單功能處於關閉狀態,則需要開啟指定安全域上的白名單功能。全局白名單功能在“策略 > 安全防護 > 白名單”頁麵開啟。
1. 單擊“策略 > 安全防護 > 安全域設置”。
2. 在“安全域設置”頁麵開啟指定安全域的客戶端驗證功能或黑名單功能。
表-12 安全域設置
參數 |
說明 |
安全域 |
已創建的安全域名稱,可在“網絡 > 安全域”頁麵新建安全域 |
TCP客戶端驗證 |
在指定安全域上開啟/關閉TCP客戶端驗證功能,包括: · 關閉:關閉TCP客戶端驗證 · SYN Cookie:開啟雙向代理模式的TCP客戶端驗證 · Safe Reset:開啟單向代理模式的TCP客戶端驗證 |
DNS客戶端驗證 |
在指定安全域上開啟/關閉DNS客戶端驗證功能 |
DNS reply客戶端驗證 |
在指定安全域上開啟/關閉DNS reply客戶端驗證功能 |
HTTP客戶端驗證 |
在指定安全域上開啟/關閉HTTP客戶端驗證功能 |
SIP客戶端驗證 |
在指定安全域上開啟/關閉SIP客戶端驗證功能 |
黑名單 |
在指定安全域上開啟/關閉黑名單功能 |
白名單 |
在指定安全域上開啟/關閉白名單功能 |
3. 單擊左上方的<應用>按鈕,將配置應用在指定的安全域。
· 對於分布式設備,當設備上安裝了多塊業務板時,每種泛洪攻擊防範策略中門限值為每塊業務板上的門限值,因而整機的該類泛洪攻擊的門限值即為每塊業務板上的門限值與業務板數目的乘積。
· 所有的黑名單隻有在安全域上的黑名單功能處於開啟狀態的情況下才生效。
· 攻擊防範策略中的客戶端驗證動作隻有在安全域上的客戶端驗證功能處於開啟狀態的情況下才生效。
· 泛洪攻擊防範的門限取值需要根據實際網絡應用場景進行調整,對於被保護對象的報文流量較大的應用場景,建議調大門限值,以免門限值太小對正常的業務流量造成影響;對於網絡狀況較差,且對攻擊流量比較敏感的場景,可以適當調小門限值。
· 如果攻擊防範例外列表中引用的ACL不存在,或引用的ACL中未定義任何規則,例外列表不會生效。
· 例外列表引用的ACL規則中僅源地址、目的地址、源端口、目的端口、協議號、VRF和非首片分片標記參數用於匹配報文。
· 對於如下攻擊類型,防範閾值自學習功能僅對缺省檢測端口生效:
¡ DNS flood攻擊
¡ DNS reply flood攻擊
¡ SIP flood攻擊
¡ HTTP flood攻擊
· 若用戶將指定泛洪攻擊類型的源門限值或目的門限值手工置零,那麼開啟防範閾值學習功能後,無論是否開啟自動應用功能,設備都不會應用置零類型的門限值學習結果,並且用戶無法手工應用該學習結果。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!