19-攻擊檢測與防範配置
本章節下載: 19-攻擊檢測與防範配置 (865.92 KB)
目 錄
1.5.1 TCP客戶端驗證功能(TCP Client verify)
1.5.2 DNS客戶端驗證(DNS Client verify)
1.5.3 DNS reply驗證(DNS reply verify)
1.5.4 HTTP客戶端驗證(HTTP Client verify)
1.5.5 SIP客戶端驗證(SIP Client verify)
攻擊檢測及防範是一個重要的網絡安全特性,它通過分析經過設備的報文的內容和行為,判斷報文是否具有攻擊特征,並根據配置對具有攻擊特征的報文執行一定的防範措施,例如輸出告警日誌、丟棄報文、加入黑名單或客戶端驗證列表。
設備能夠檢測單包攻擊、掃描攻擊和泛洪攻擊等多種類型的網絡攻擊,並能對各類型攻擊采取合理的防範措施。
單包攻擊也稱為畸形報文攻擊,主要包括以下三種類型:
· 攻擊者通過向目標係統發送帶有攻擊目的的IP報文,如分片重疊的IP報文、TCP標誌位非法的報文,使得目標係統在處理這樣的IP報文時出錯、崩潰;
· 攻擊者可以通過發送正常的報文,如ICMP報文、特殊類型的IP option報文,來幹擾正常網絡連接或探測網絡結構,給目標係統帶來損失;
· 攻擊者還可通過發送大量無用報文占用網絡帶寬,造成拒絕服務攻擊。
設備可以對表1-1中所列的各單包攻擊行為進行有效防範。
表1-1 單包攻擊類型及說明列表
單包攻擊類型 |
說明 |
ICMP redirect |
攻擊者向用戶發送ICMP重定向報文,更改用戶主機的路由表,幹擾用戶主機正常的IP報文轉發。 |
ICMP unreachable |
某些係統在收到不可達的ICMP報文後,對於後續發往此目的地的報文判斷為不可達並切斷對應的網絡連接。攻擊者通過發送ICMP不可達報文,達到切斷目標主機網絡連接的目的。 |
ICMP type |
ICMP報文中,不同type值表示不同的報文類型,接收者需要根據不同的類型進行響應,攻擊者通過構造特定type類型的ICMP報文來達到影響係統正常處理報文等目的。 |
ICMPv6 type |
ICMPv6報文中,不同type值表示不同的報文類型,接收者需要根據不同的類型進行響應,攻擊者通過構造特定type類型的ICMPv6報文來達到影響係統正常處理報文等目的。 |
Land |
攻擊者向目標主機發送大量源IP地址和目的IP地址都是目標主機自身的TCP SYN報文,使得目標主機的半連接資源耗盡,最終不能正常工作。 |
Large ICMP |
某些主機或設備收到超大的報文,會引起內存分配錯誤而導致協議棧崩潰。攻擊者通過發送超大ICMP報文,讓目標主機崩潰,達到攻擊目的。 |
Large ICMPv6 |
某些主機或設備收到超大的報文,會引起內存分配錯誤而導致協議棧崩潰。攻擊者通過發送超大ICMPv6報文,讓目標主機崩潰,達到攻擊目的。 |
IP option |
攻擊者通過構造指定選項類型的IP報文,達到探測網絡結構的目的。 |
IP option abnormal |
攻擊者利用IP報文中的異常選項的設置,達到探測網絡結構的目的,也可由於係統缺乏對錯誤報文的處理而造成係統崩潰。 |
Fragment |
攻擊者通過向目標主機發送分片偏移小於等於5的分片報文,導致主機對分片報文進行重組時發生錯誤而造成係統崩潰。 |
Impossible |
攻擊者通過向目標主機發送源IP地址和目的IP地址相同的報文,造成主機係統處理異常。 |
Tiny fragment |
攻擊者構造一種特殊的IP分片來進行微小分片的攻擊,這種報文首片很小,未能包含完整的傳輸層信息,因此能夠繞過某些包過濾防火牆的過濾規則,達到攻擊目標網絡的目的。 |
Smurf |
攻擊者向目標網絡發送ICMP應答請求,該請求包的目的地址設置為A、B、C類子網的網絡地址或廣播地址,這樣該網絡中的所有主機都會對此ICMP應答請求作出答複,導致網絡阻塞,從而達到令目標網絡中主機拒絕服務的攻擊目的。 |
TCP Flag |
不同操作係統對於非常規的TCP標誌位有不同的處理。攻擊者通過發送帶有非常規TCP標誌的報文探測目標主機的操作係統類型,若操作係統對這類報文處理不當,攻擊者便可達到使目標主機係統崩潰的目的。 |
Traceroute |
攻擊者連續發送TTL從1開始遞增的目的端口號較大的UDP報文,報文每經過一個路由器,其TTL都會減1,當報文的TTL為0時,路由器會給報文的源IP設備發送一個TTL超時的ICMP報文,攻擊者借此來探測網絡的拓撲結構。 |
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報文,令網絡產生大量無用的應答報文,占滿網絡帶寬,達到攻擊目的。 |
Teardrop |
攻擊者通過發送大量分片重疊的報文,致使服務器對這些報文進行重組時造成重疊,因而丟失有效的數據。 |
Ping of death |
攻擊者構造標誌位為最後一片且長度大於65535的ICMP報文發送給目標主機,可能導致係統處理數據時越界訪問非法內存,造成係統錯誤甚至係統崩潰。 |
IPv6 ext-header |
攻擊者通過構造包含特定類型IPv6擴展頭的報文對目標主機進行攻擊。 |
IPv6擴展頭異常 |
攻擊者向目標係統發送擴展頭順序不符合IPv6協議規定或擴展頭重複的IPv6報文。 |
IPv6擴展頭數目超限 |
攻擊者向目標係統發送擴展頭數目超出限製的IPv6報文。 |
掃描攻擊是指,攻擊者運用掃描工具對網絡進行主機地址或端口的掃描,通過準確定位潛在目標的位置,探測目標係統的網絡拓撲結構和開放的服務端口,為進一步侵入目標係統做準備。
攻擊者發送大量目的IP地址變化的探測報文,通過收到的回應報文來確定活躍的目標主機,以便針對這些主機進行下一步的攻擊。
攻擊者獲取了活動目標主機的IP地址後,向目標主機發送大量目的端口變化的探測報文,通過收到的回應報文來確定目標主機開放的服務端口,然後針對活動目標主機開放的服務端口選擇合適的攻擊方式或攻擊工具進行進一步的攻擊。
攻擊者控製多台主機,分別向特定目標主機發送探測報文,通過收集所有被控製的主機的回應報文,確定目標主機開啟的服務端口,以便進一步實施攻擊。
泛洪攻擊是指攻擊者在短時間內向目標係統發送大量的虛假請求,導致目標係統疲於應付無用信息,從而無法為合法用戶提供正常服務,即發生拒絕服務。
設備支持對以下幾種泛洪攻擊進行有效防範:
根據TCP協議工作原理,服務器收到SYN報文後需要建立半連接並回應SYN ACK報文,然後等待客戶端的ACK報文來建立正式連接。由於資源的限製,操作係統的TCP/IP協議棧隻能允許有限個TCP連接。攻擊者向服務器發送大量偽造源地址的SYN報文後,由於攻擊報文是偽造的,服務器不會收到客戶端的ACK報文,從而導致服務器上遺留了大量無效的半連接,耗盡其係統資源,使正常的用戶無法訪問,直到半連接超時。
ACK報文為隻有ACK標誌位置位的TCP報文,服務器收到ACK報文時,需要查找對應的連接。若攻擊者發送大量這樣的報文,服務器需要進行大量的查詢工作,消耗正常處理的係統資源,影響正常的報文處理。
由於SYN ACK報文為SYN報文的後續報文,服務器收到SYN ACK報文時,需要查找對應的SYN報文。若攻擊者發送大量這樣的報文,服務器需要進行大量的查詢工作,消耗正常處理的係統資源,影響正常的報文處理。
FIN報文用於關閉TCP連接。若攻擊者向服務器發送大量的偽造的FIN報文,可能會使服務器關閉掉正常的連接。同時,服務器收到FIN報文時,需要查找對應的連接,大量的無效查詢操作會消耗係統資源,影響正常的報文處理。
RST報文為TCP連接的複位報文,用於在異常情況下關閉TCP連接。如果攻擊者向服務器發送大量偽造的RST報文,可能會使服務器關閉正常的TCP連接。另外,服務器收到RST報文時,需要查找對應的連接,大量的無效查詢操作會消耗係統資源,影響正常的報文處理。
DNS服務器收到任何DNS Query報文時都會試圖進行域名解析並且回複該DNS報文。攻擊者通過構造並向DNS服務器發送大量虛假DNS Query報文,占用DNS服務器的帶寬或計算資源,使得正常的DNS Query得不到處理。
DNS客戶端收到任何DNS reply報文時都會進行處理。攻擊者在一定條件下將大量偽造的DNS reply報文發送給某個DNS客戶端,消耗大量DNS客戶端的資源,使得正常的DNS reply報文得不到處理。
HTTP服務器收到HTTP GET/POST命令時可能進行一係列複雜的操作,包括字符串搜索、數據庫遍曆、數據組裝、格式化轉換等等,這些操作會消耗大量係統資源,因此當HTTP請求的速率超過了服務器的處理能力時,服務器就無法正常提供服務。攻擊者通過構造並發送大量虛假HTTP GET/POST請求,使服務器崩潰,無法響應正常的用戶請求。
SIP服務器收到SIP INVITE報文後,服務器需要分配一定的資源用於跟蹤和建立會話。當SIP請求的速率超過了服務器的處理能力時,SIP服務器就無法正常提供服務。攻擊者通過構造並發送大量虛假的SIP INVITE請求,大量消耗SIP服務器的係統資源,影響正常的報文處理。
ICMP flood攻擊是指,攻擊者在短時間內向特定目標發送大量的ICMP請求報文(例如ping報文),使其忙於回複這些請求,致使目標係統負擔過重而不能處理正常的業務。
ICMPv6 flood攻擊是指,攻擊者在短時間內向特定目標發送大量的ICMPv6請求報文(例如ping報文),使其忙於回複這些請求,致使目標係統負擔過重而不能處理正常的業務。
UDP flood攻擊是指,攻擊者在短時間內向特定目標發送大量的UDP報文,占用目標主機的帶寬,致使目標主機不能處理正常的業務。
DoS(Denial of Service,拒絕服務)攻擊的目的是使被攻擊對象無法提供正常的網絡服務。Login用戶DoS攻擊是指,攻擊者通過偽造登錄賬戶在短時間內向設備連續發起大量登錄請求,占用係統認證處理資源,造成設備無法處理正常Login用戶的登錄請求。
為防範這類攻擊,可以在設備上配置Login用戶攻擊防範功能,對發起惡意認證並多次嚐試失敗的用戶報文進行丟棄。
字典序攻擊是指攻擊者通過收集用戶密碼可能包含的字符,使用各種密碼組合逐一嚐試登錄設備,以達到猜測合法用戶密碼的目的。
為防範這類攻擊,可以在設備上配置Login用戶延時認證功能,在用戶認證失敗之後,延時期間不接受此用戶的登錄請求。
HTTP慢速攻擊是指攻擊者利用HTTP自身合法機製與服務器建立HTTP連接後,長時間保持連接不釋放,達成消耗HTTP服務器係統資源的目的。常見的HTTP慢速攻擊有兩種:
· Slow headers:攻擊者通過HTTP GET或者HTTP POST方法與服務器建立連接,但是發送的HTTP報文的頭部末尾沒有HTTP協議所規定的頭部結束符(連續兩個CRLF)。之後每隔一段時間,攻擊者通過發送HTTP報文頭部的其他字段進行連接保活,導致服務器一直處於等待攻擊者發送頭部結束符的狀態,造成連接長時間不釋放。
· Slow POST:
¡ 攻擊者通過發送HTTP POST請求向服務器提交數據,並將HTTP報文頭部Content-Length字段的值設置為一個很大的數值,但是在隨後的載荷數據發送中,每次隻發送極小規模的數據,導致服務器一直處於等待攻擊者發送載荷數據的狀態,造成連接長時間不釋放。
¡ 對於通過chunk編碼方式傳輸的HTTP報文,如果報文末尾沒有標明長度為0的chunk結束符,服務器將一直處於等待攻擊者發送載荷數據的狀態,造成連接長時間不釋放。
為防範這類攻擊,可以在設備上配置HTTP慢速攻擊防範功能,將攻擊者的IP地址加入IP黑名單中,屏蔽所有來自該IP地址的報文。
新建會話限速是針對接口入方向的新建會話速率進行限製的功能,可以防止DDoS攻擊造成的大量新建連接消耗設備的處理資源,進而影響設備的正常業務。
IP黑名單功能是根據報文的IP地址進行報文過濾的一種攻擊防範特性。根據報文過濾條件的不同,該特性可分為源IP黑名單和目的IP黑名單。源IP黑名單根據報文的源IP地址進行報文過濾,目的IP黑名單根據報文的目的IP地址進行報文過濾。同基於ACL(Access Control List,訪問控製列表)的包過濾功能相比,黑名單進行報文匹配的方式更為簡單,可以實現報文的高速過濾和有效屏蔽。
用戶黑名單功能是基於用戶進行報文過濾的一種攻擊防範特性。該特性需要和用戶身份識別功能配合使用,由後者為其提供用戶身份和用戶IP地址的對應關係。有關用戶身份識別功能的詳細介紹,請參見“安全配置指導”中的“用戶身份識別與管理”。同IP黑名單的包過濾功能相比,用戶黑名單可以從用戶級進行訪問控製,提高了過濾策略的易用性。
地址對象組黑名單功能是基於地址對象組進行報文過濾的一種攻擊防範特性。該特性需要和地址對象組功能配合使用,由後者為其提供地址對象組和IP地址的對應關係。有關地址對象組功能的詳細介紹,請參見“安全配置指導”中的“對象組”。同IP黑名單的包過濾功能相比,地址組黑名單可以對網段進行訪問控製,提高了易用性。
地址對象組白名單功能需要和地址對象組功能配合使用,由後者為其提供地址對象組和IP地址的對應關係。有關地址組功能的詳細介紹,請參見“安全配置指導”中的“對象組”。
配置地址對象組白名單功能後,無論來自該地址對象組的報文是否存在攻擊,設備都將其直接轉發。
TCP客戶端驗證功能用來防禦服務器受到的SYN flood,ACK flood,SYN-ACK flood,FIN flood,RST flood等攻擊。啟用了TCP客戶端驗證功能的設備稱為TCP proxy,它位於客戶端和服務器之間,能夠對客戶端與服務器之間的TCP連接進行代理。當設備檢測到有服務器受到相關泛洪攻擊時,TCP proxy即將該服務器IP地址添加為動態受保護的IP地址,並對所有向該受保護服務器發起的TCP連接的協商報文進行處理,通過對客戶端發起的TCP連接進行驗證,達到保護服務器免受各種TCP泛洪攻擊的目的。
TCP客戶端驗證支持兩種驗證模式:
· Safe Reset:是指僅對TCP連接的正向握手報文進行處理,也稱為單向代理模式。
· SYN Cookie:是指對TCP連接的正向和反向所有報文都進行處理,也稱為雙向代理模式。
用戶可以根據實際的組網情況選擇不同的代理模式。例如:在如圖1-1所示的組網中,從客戶端發出的報文經過TCP proxy,而從服務器端發出的報文不經過TCP proxy,此時隻能使用Safe Reset方式;在如圖1-2所示的組網中,從客戶端發出的報文和從服務器端發出的報文都經過TCP proxy,此時兩種驗證模式都可以使用。
TCP Client verify處理流程:
Safe Reset代理模式下,TCP Client verify的處理流程如圖1-3所示。
圖1-3 Safe Reset模式的TCP Client verify處理流程
TCP proxy收到某客戶端發來的與受保護服務器(匹配某個受保護IP地址表項)建立TCP連接的請求(SYN報文)後,先代替服務器向客戶端回應序號錯誤的SYN ACK報文。如果TCP proxy收到客戶端回應的正確RST報文,則認為該TCP連接請求通過TCP代理的驗證。此後一定時間內,TCP proxy收到來自該客戶端的TCP報文後,直接將其向轉發給服務器,允許客戶端和服務器之間直接建立TCP連接。
一般而言,應用服務器不會主動對客戶端發起惡意連接,因此服務器響應客戶端的報文可以不需要經過TCP proxy的檢查。TCP Client verify僅需要對客戶端發往應用服務器的報文進行實時監控,服務器響應客戶端的報文可以根據實際需要選擇是否經過TCP proxy,因此Safe Reset模式能夠支持更靈活的組網方式。
由於TCP proxy對客戶端發起的TCP連接進行了幹預,因此Safe Reset模式的實現要求客戶端的實現嚴格遵守TCP協議棧的規定,如果客戶端的TCP協議棧實現不完善,即便是合法用戶,也可能由於未通過TCP proxy的嚴格檢查而無法訪問服務器。而且,該方式依賴於客戶端向服務器發送RST報文後再次發起請求的功能,因此啟用TCP Client verify後,客戶端發起的每個TCP連接的建立時間會有相應增加。
SYN Cookie模式下,TCP Client verify的處理流程如圖1-4所示。
圖1-4 SYN Cookie模式的TCP Client verify處理流程
TCP proxy收到某客戶端發來的與受保護服務器建立TCP連接的請求(SYN報文)後,先代替服務器向客戶端回應正常的SYN ACK報文(窗口值為0)。如果收到客戶端回應的ACK報文,則認為該TCP連接請求通過TCP代理的驗證。然後,TCP Client verify再代替客戶端向服務器發送SYN報文,並通過三次握手與服務器建立TCP連接。因此,在客戶端和TCP proxy、TCP proxy和服務器之間會建立兩個TCP連接,而且兩個TCP連接使用的序號不同。
SYN Cookie模式下,TCP proxy作為虛擬的服務器與客戶端交互,同時也作為虛擬的客戶端與服務器交互,在為服務器過濾掉惡意連接報文的同時保證了常規業務的正常運行。但該方式要求TCP proxy必須部署在所保護的服務器入口和出口的關鍵路徑上,且要保證所有客戶端向服務器發送的報文以及服務器向客戶端回應的報文都需要經過該設備。
DNS客戶端驗證功能用來防禦服務器受到的DNS flood攻擊。啟用了DNS客戶端驗證功能的設備位於客戶端和服務器之間,能夠對客戶端與服務器之間的DNS連接進行代理。當設備檢測到有服務器受到DNS flood攻擊時,即將該服務器IP地址添加為動態受保護的IP地址,並對所有向該受保護服務器發起的DNS Query進行處理,通過對客戶端發起的DNS連接進行驗證,達到保護服務器免受DNS flood攻擊的目的。
DNS Client verify的處理流程如圖1-5所示。
DNS客戶端驗證設備收到某客戶端發送的UDP類型的DNS Query報文(目的地址匹配受保護IP表項)後,先代替服務器向客戶端回應DNS Truncate(TC)報文,要求客戶端以TCP方式進行域名請求。如果是合法客戶端,則它收到DNS Truncate報文之後會向DNS客戶端驗證設備發送目的端口為53的TCP SYN報文。DNS客戶端驗證設備收到此報文後,先代替服務器向客戶端回應序號錯誤的SYN ACK報文,之後,如果能夠收到客戶端回應的RST報文,則認為該客戶端通過了DNS客戶端驗證。對於通過了DNS驗證的客戶端,設備直接轉發其後續報文,不對報文進行處理。
由於DNS Client verify對客戶端發起的DNS請求進行了幹預,因此要求客戶端的實現嚴格遵守TCP/IP協議棧以及DNS協議的規定,如果客戶端的協議棧實現不完善,即便是合法用戶,也可能由於未通過DNS Client verify的嚴格檢查而無法訪問服務器。而且,該方式依賴於客戶端向服務器發送RST報文後再次發起請求的功能,因此啟用DNS Client verify後,正常客戶端發起的首個DNS請求的響應時間會有相應增加。
DNS reply驗證功能用來防禦DNS客戶端受到的DNS reply flood攻擊。啟用了DNS reply驗證功能的設備位於客戶端和服務器之間,能夠對客戶端與服務器之間的DNS reply報文進行代理。當設備檢測到有客戶端受到DNS reply flood攻擊時,即將該客戶端IP地址添加為動態受保護的IP地址,並對所有向該受保護客戶端發送的DNS reply報文進行驗證,達到保護客戶端免受DNS reply flood攻擊的目的。
DNS reply verify的處理流程如圖1-6所示,DNS Reply驗證設備收到某服務器發送的UDP類型的DNS reply報文(目的地址匹配受保護IP表項),代替DNS客戶端向服務器發送DNS query報文,該報文的Query ID和源端口號由驗證設備生成。如果是合法的服務器,則它收到含有新的Query ID和源端口號的DNS query報文後,會向驗證設備發送含有新的Query ID和目的端口號的DNS reply報文。DNS reply驗證設備收到此報文後,提取Query ID和目的端口號,如果與驗證設備發送的DNS query報文的Query ID和源端口號一致,則認為服務器通過了DNS reply驗證。對於通過了DNS reply驗證的服務器,設備直接轉發其後續報文,不對報文進行處理。
HTTP客戶端驗證功能用來防禦服務器受到HTTP flood攻擊。啟用了HTTP客戶端驗證功能的設備位於客戶端和服務器之間,能夠對客戶端與服務器之間的HTTP GET/POST請求進行代理。當設備檢測到有服務器受到HTTP flood攻擊時,即將該服務器IP地址添加為動態受保護的IP地址,並對所有向該受保護服務器發起的HTTP GET/POST請求報文進行處理,通過對客戶端發起的HTTP GET/POST請求進行兩次驗證的方式,達到保護服務器免受HTTP flood攻擊的目的。
HTTP GET Client verify的處理流程如圖1-7所示:
圖1-7 HTTP GET Client verify處理流程
HTTP客戶端驗證設備收到某客戶端發送的TCP連接請求報文(目的地址匹配受保護IP表項)後,首先以TCP Proxy的Syn Cookie方式進行驗證(詳見“1.5.1 TCP客戶端驗證功能(TCP Client verify)”)。客戶端的TCP連接通過驗證之後,設備將對客戶端發送的HTTP GET請求報文進行兩次重定向驗證,具體流程如下所述。
(1) 第一次重定向驗證:設備收到客戶端的HTTP GET請求之後向其發送HTTP Redirect報文,並在重定向報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會記錄該客戶端的信息。當前的TCP連接結束之後,客戶端與設備進行一輪新的TCP三次握手。
(2) 第二次重定向驗證:設備收到客戶端向重定向地址發起的HTTP GET請求之後,向其發送HTTP Redirect報文,並在重定向報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會檢查客戶端是否經過了第一次重定向,以及本次HTTP訪問的URI是否是設備重定向的地址。如果檢查通過,設備會將該客戶端加入到信任IP表項中,該客戶端的後續HTTP GET請求報文將被直接進行透傳。
圖1-8 HTTP Client POST verify處理流程
HTTP客戶端驗證設備收到某客戶端發送的TCP連接請求報文(目的地址匹配受保護IP表項)後,首先以TCP Proxy的Syn Cookie方式進行驗證(詳見“1.5.1 TCP客戶端驗證功能(TCP Client verify)”)。客戶端的TCP連接通過驗證之後,設備將對客戶端發送的HTTP POST請求報文依次進行重定向驗證和超時驗證,具體流程如下所述。
(2) 重定向驗證:設備收到客戶端的HTTP POST請求之後向其發送帶有Set-Cookie驗證字段的HTTP Redirect報文,並在重定向報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會記錄該客戶端的信息。當前的TCP連接結束之後,客戶端與設備進行一輪新的TCP三次握手。
(3) 超時驗證:設備收到客戶端發起的帶有Cookie字段的HTTP POST請求之後,向其發送HTTP 超時報文,並在報文中設置標記位要求客戶端結束本次TCP連接。該過程中,設備會檢查客戶端是否經過了第一次重定向,以及本次HTTP報文中是否帶有有效的Cookie值。如果檢查通過,設備會將該客戶端加入到信任IP表項中,該客戶端的後續HTTP POST請求報文將被直接進行透傳。
SIP客戶端驗證功能用來防禦服務器受到SIP flood攻擊。啟用了SIP客戶端驗證功能的設備位於客戶端和服務器之間,能夠對客戶端與服務器之間SIP協議的INVITE請求進行代理。當設備檢測到有服務器受到SIP flood攻擊時,即將該服務器IP地址添加為動態受保護的IP地址,並對所有向該受保護服務器發起的SIP INVITE請求報文進行處理,通過對客戶端發起的SIP INVITE請求進行驗證的方式,達到保護服務器免受SIP flood攻擊的目的。
SIP Client verify的處理流程如圖1-9所示。
SIP客戶端驗證設備收到某客戶端發送的UDP類型的INVITE報文(目的地址匹配受保護IP表項)後,先代替服務器向客戶端回應OPTIONS報文,該報文中攜帶branch值信息。如果是合法客戶端,則它收到OPTIONS報文之後會向SIP客戶端驗證設備發送OPTIONS ACK報文。SIP客戶端驗證設備收到此報文後,檢查OPTIONS ACK報文中的branch值和發送的OPTIONS報文中的branch值是否相同,若相同,則認為該客戶端通過了SIP客戶端驗證。對於通過了SIP驗證的客戶端,設備直接轉發其後續報文,不對報文進行處理。若branch值不相同,則認為該客戶端未通過了SIP客戶端驗證,直接丟棄報文。
攻擊檢測與防範配置任務如下:
(1) 配置並應用攻擊防範策略
b. 配置攻擊防範策略
各類型的攻擊防範功能之間沒有先後順序,可根據實際組網需求,配置其中的一種或多種:
c. (可選)配置攻擊防範例外列表
(2) (可選)開啟全局單包攻擊檢測與防範功能
(3) (可選)配置單包攻擊防範日誌的非聚合輸出功能
(4) (可選)配置攻擊排名的Top統計功能
(5) (可選)配置客戶端驗證(可單獨使用,也可與泛洪攻擊防範配合使用)
(6) (可選)配置黑名單(可單獨使用,也可與掃描攻擊防範配合使用)
¡ 配置IP黑名單
¡ 配置用戶黑名單
(7) (可選)配置地址對象組白名單
(8) (可選)配置Login用戶攻擊防範(通常單獨使用)
(9) (可選)配置新建會話限速功能(通常單獨使用)
(10) (可選)配置CPU核的攻擊防範功能
攻擊防範策略主要包括針對攻擊類型指定的檢測條件及采取的防範措施。
在配置攻擊防範之前,必須首先創建一個攻擊防範策略,並進入該攻擊防範策略視圖。在該視圖下,可以定義一個或多個用於檢測攻擊的特征項,以及對檢測到的攻擊報文所采取的防範措施。
攻擊防範的缺省觸發閾值對於現網環境而言可能過小,這會導致用戶上網慢或者網頁打不開等情況,請根據實際網絡環境配置合理的觸發閾值。
(1) 進入係統視圖。
system-view
(2) 創建一個攻擊防範策略,並進入攻擊防範策略視圖。
attack-defense policy policy-name
單包攻擊防範主要通過分析經過設備的報文特征來判斷報文是否具有攻擊性,一般應用在設備連接外部網絡的安全域上,且僅對應用了攻擊防範策略的安全域上的入方向報文有效。若設備檢測到某報文具有攻擊性,則默認會輸出告警日誌,另外還可以根據配置將檢測到的攻擊報文做丟棄處理。
若指定的單包攻擊的處理行為中配置了logging參數,生成的日誌信息不會輸出到控製台和監視終端。此時如需獲取該日誌,可通過執行display logbuffer命令進行查看。有關display logbuffer命令的詳細介紹,請參見“網絡管理和監控命令參考”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 開啟指定類型單包攻擊報文的特征檢測,並設置攻擊防範的處理行為。請至少選擇其中一項進行配置。
¡ 開啟指定類型的知名單包攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect { fraggle | fragment | impossible | land | large-icmp | large-icmpv6 | smurf | snork | tcp-all-flags | tcp-fin-only | tcp-invalid-flags | tcp-null-flag | tcp-syn-fin | tiny-fragment | traceroute | udp-bomb | winnuke } [ action { { drop | logging } * | none } ]
signature detect { ip-option-abnormal | ping-of-death | teardrop } action { drop | logging } *
¡ 開啟ICMP類型的單包攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect icmp-type { icmp-type-value | address-mask-reply | address-mask-request | destination-unreachable | echo-reply | echo-request | information-reply | information-request | parameter-problem | redirect | source-quench | time-exceeded | timestamp-reply | timestamp-request } [ action { { drop | logging } * | none } ]
¡ 開啟ICMPv6類型的單包攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect icmpv6-type { icmpv6-type-value | destination-unreachable | echo-reply | echo-request | group-query | group-reduction | group-report | packet-too-big | parameter-problem | time-exceeded } [ action { { drop | logging } * | none } ]
¡ 開啟IP選項類型的單包攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect ip-option { option-code | internet-timestamp | loose-source-routing | record-route | route-alert | security | stream-id | strict-source-routing } [ action { { drop | logging } * | none } ]
¡ 開啟IPv6擴展頭類型的單包攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect ipv6-ext-header ext-header-value [ action { { drop | logging } * | none } ]
¡ 開啟IPv6擴展頭異常攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect ipv6-ext-header-abnormal [ action { { drop | logging } * | none } ]
¡ 開啟IPv6擴展頭數目超限攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect ipv6-ext-header-exceed [ limit limit-value ] [ action { { drop | logging } * | none } ]
缺省情況下,所有類型的單包攻擊的特征檢測均處於關閉狀態。
(4) (可選)配置啟動Large ICMP攻擊防範的ICMP報文長度的最大值。
signature { large-icmp | large-icmpv6 } max-length length
缺省情況下,ICMP報文和ICMPv6報文長度的最大值均為4000字節。
(5) (可選)配置對不同級別的單包攻擊報文的處理方式。
signature level { high | info | low | medium } action { { drop | logging } * | none }
缺省情況下,對info和low級別的單包攻擊的處理行為是發送日誌;對medium和high級別的單包攻擊的處理行為是發送日誌並丟包。
(6) (可選)開啟指定級別單包攻擊報文的特征檢測。
signature level { high | info | low | medium } detect
缺省情況下,未開啟任何級別的單包攻擊報文的特征檢測。
掃描攻擊防範主要通過監測網絡使用者向目標係統發起連接的速率來檢測其探測行為,一般應用在設備連接外部網絡的安全域上,且僅對應用了攻擊防範策略的安全域上的入方向報文有效。若設備監測到某IP地址主動發起的連接速率達到或超過了一定閾值,則可以根據配置輸出告警日誌、丟棄來自該IP地址的後續報文,或者將檢測到的攻擊者的源IP地址加入IP黑名單。
若配置掃描攻擊的處理行為為輸出告警日誌,且端口掃描和地址掃描同時達到掃描閾值,則僅輸出地址掃描的告警日誌。
若指定的掃描攻擊的處理行為中配置了加入IP黑名單,則需要開啟全局或安全域上的黑名單過濾功能來配合。關於黑名單過濾功能的相關配置請參見“1.16 配置IP黑名單”。
若指定的掃描攻擊的處理行為中配置了logging參數,生成的日誌信息不會輸出到控製台和監視終端。此時如需獲取該日誌,可通過執行display logbuffer命令進行查看。有關display logbuffer命令的詳細介紹,請參見“網絡管理和監控命令參考”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 開啟指定級別的掃描攻擊防範。
scan detect level { { high | low | medium } | user-defined { port-scan-threshold threshold-value | ip-sweep-threshold threshold-value } * [ period period-value ] } action { { block-source [ timeout minutes ] | drop } | logging } *
缺省情況下,掃描攻擊防範處於關閉狀態。
泛洪攻擊防範主要用於保護服務器,通過監測向服務器發起連接請求的速率來檢測各類泛洪攻擊,可分為基於源IP統計與基於目的IP統計的泛洪攻擊防範兩種類型。
· 基於源IP統計的泛洪攻擊防範:此方式監測源自某IP地址的報文速率,當該速率持續達到或超過了指定的觸發閾值時,即認為有服務器受到了攻擊,設備隨即進入攻擊防範狀態,並根據配置啟動相應的防範措施(輸出告警日誌或對後續報文進行丟棄處理)。此後,當設備監測到源自該IP地址的報文速率低於恢複閾值(觸發閾值的3/4)時,即認為攻擊結束,設備由攻擊防範狀態恢複為攻擊檢測狀態,並停止執行防範措施。
· 基於目的IP統計的泛洪攻擊防範:此方式監測向某服務器發送報文的速率,當該速率持續達到或超過了指定的觸發閾值時,即認為該服務器受到了攻擊,設備隨即進入攻擊防範狀態,並根據配置啟動相應的防範措施(輸出告警日誌、對後續報文進行丟棄處理或者進行客戶端驗證)。此後,當設備監測到向該服務器發送報文的速率低於恢複閾值(觸發閾值的3/4)時,即認為攻擊結束,設備由攻擊防範狀態恢複為攻擊檢測狀態,並停止執行防範措施。
泛洪攻擊防範一般應用在設備連接外部網絡的安全域上,且僅對應用了攻擊防範策略的安全域上的入方向報文有效。
在泛洪攻擊防範策略中,閾值是觸發係統執行防範動作的條件,因此,閾值的設置是否合理將直接影響攻擊防範的效果。
· 如果防範閾值設置過低則在沒有發生攻擊時,係統就啟動攻擊防範功能,影響設備性能或者造成正常流量被丟棄。
· 如果防範閾值設置過高則即使發生了攻擊,係統也無法感知,不能及時啟動防範功能。
因此在配置攻擊防範前,應該先了解正常網絡中的流量,然後根據正常網絡中的流量來設置各攻擊類型對應的閾值。在不了解網絡正常流量大小時,可以啟用流量閾值學習功能並根據學習結果進行閾值配置。流量閾值學習功能的原理是:係統對正常網絡環境下的各種流量按時間進行統計,得出此段時間內各種流量的最高值,從而以此為依據計算出各種攻擊類型對應的防範門限值。
閾值學習有單次學習和周期學習兩種學習模式:
· 單次學習:隻進行一次閾值學習。
· 周期學習:按周期學習間隔進行多次閾值學習。其中,周期學習間隔是指從上次學習的結束時間到下次學習開始時間的間隔時間。
開啟閾值學習功能後,會對所有類型的泛洪攻擊進行閾值學習。在周期學習模式下,最新一次的學習結果會覆蓋上一次學習結果。對於學習到的閾值,係統還支持自動應用功能。您可以啟用自動應用功能,也可以選擇隻學習不啟用自動應用功能。
當設備上安裝了多塊業務板時,每種泛洪攻擊防範策略中配置的全局觸發閾值為每塊業務板上的全局觸發閾值,因而整機的該類泛洪攻擊的全局觸發閾值即為每塊業務板上的全局觸發閾值與業務板數目的乘積。
為保護指定IP地址,攻擊防範策略中支持基於IP地址的攻擊防範配置,目前僅支持為基於目的IP統計的泛洪攻擊防範指定受保護IP地址。對於所有非受保護IP地址,可以統一開啟攻擊防範檢測,並采用全局的參數設置來進行保護。
若指定的泛洪攻擊的處理行為中配置了logging參數,生成的日誌信息不會輸出到控製台和監視終端。此時如需獲取該日誌,可通過執行display logbuffer命令進行查看。有關display logbuffer命令的詳細介紹,請參見“網絡管理和監控命令參考”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟SYN flood攻擊防範檢測。
syn-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟SYN flood攻擊防範檢測。
(4) 配置SYN flood攻擊防範基於源IP統計的全局觸發閾值。
syn-flood source-threshold threshold-value
缺省情況下,SYN flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置SYN flood攻擊防範基於目的IP統計的全局觸發閾值。
syn-flood threshold threshold-value
缺省情況下,SYN flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置SYN flood攻擊防範的全局處理行為。
syn-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的SYN flood攻擊采取任何措施。
(7) 開啟對IP地址的SYN flood攻擊防範檢測,並配置觸發閾值和處理行為。
syn-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置SYN flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟ACK flood攻擊防範檢測。
ack-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟ACK flood攻擊防範檢測。
(4) 配置ACK flood攻擊防範基於源IP統計的全局觸發閾值。
ack-flood source-threshold threshold-value
缺省情況下,ACK flood攻擊防範基於源IP統計的全局觸發閾值為40000。
(5) 配置ACK flood攻擊防範基於目的IP統計的全局觸發閾值。
ack-flood threshold threshold-value
缺省情況下,ACK flood攻擊防範基於目的IP統計的全局觸發閾值為40000。
(6) 配置ACK flood攻擊防範的全局處理行為。
ack-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的ACK flood攻擊采取任何措施。
(7) 開啟對IP地址的ACK flood攻擊防範檢測,並配置觸發閾值和處理行為。
ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置ACK flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟SYN-ACK flood攻擊防範檢測。
syn-ack-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟SYN-ACK flood攻擊防範檢測。
(4) 配置SYN-ACK flood攻擊防範基於源IP統計的全局觸發閾值。
syn-ack-flood source-threshold threshold-value
缺省情況下,SYN-ACK flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置SYN-ACK flood攻擊防範基於目的IP統計的全局觸發閾值。
syn-ack-flood threshold threshold-value
缺省情況下,SYN-ACK flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置SYN-ACK flood攻擊防範的全局處理行為。
syn-ack-flood action { client-verify | drop | logging }*
缺省情況下,不對檢測到的SYN-ACK flood攻擊采取任何措施。
(7) 開啟對IP地址的SYN-ACK flood攻擊防範檢測,並配置觸發閾值和處理行為。
syn-ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置SYN-ACK flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟FIN flood攻擊防範檢測。
fin-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟FIN flood攻擊防範檢測。
(4) 配置FIN flood攻擊防範基於源IP統計的全局觸發閾值。
fin-flood source-threshold threshold-value
缺省情況下,FIN flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置FIN flood攻擊防範基於目的IP統計的全局觸發閾值。
fin-flood threshold threshold-value
缺省情況下,FIN flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置FIN flood攻擊防範的全局處理行為。
fin-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的FIN flood攻擊采取任何措施。
(7) 開啟對IP地址的FIN flood攻擊防範檢測,並配置觸發閾值和處理行為。
fin-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置FIN flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟RST flood攻擊防範檢測。
rst-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟RST flood攻擊防範檢測。
(4) 配置RST flood攻擊防範基於源IP統計的全局觸發閾值。
rst-flood source-threshold threshold-value
缺省情況下,RST flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置RST flood攻擊防範基於目的IP統計的全局觸發閾值。
rst-flood threshold threshold-value
缺省情況下,RST flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置全局的RST flood攻擊防範的全局處理行為。
rst-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的RST flood攻擊采取任何措施。
(7) 開啟對IP地址的RST flood攻擊防範檢測,並配置觸發閾值和處理行為。
rst-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置RST flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IPv4地址開啟ICMP flood攻擊防範檢測。
icmp-flood detect non-specific
缺省情況下,未對任何非受保護IPv4地址開啟ICMP flood攻擊防範檢測。
(4) 配置ICMP flood攻擊防範基於源IP統計的全局觸發閾值。
icmp-flood source-threshold threshold-value
缺省情況下,ICMP flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置ICMP flood攻擊防範基於目的IP統計的全局觸發閾值。
icmp-flood threshold threshold-value
缺省情況下,ICMP flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置ICMP flood攻擊防範的全局處理動作。
icmp-flood action { drop | logging } *
缺省情況下,不對檢測到的ICMP flood攻擊采取任何措施。
(7) 開啟對IPv4地址的ICMP flood攻擊防範檢測,並配置觸發閾值和處理行為。
icmp-flood detect ip ip-address [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IPv4地址配置ICMP flood 攻擊防範觸發閾值。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IPv6地址開啟ICMPv6 flood攻擊防範檢測。
icmpv6-flood detect non-specific
缺省情況下,未對任何非受保護IPv6地址開啟ICMPv6 flood攻擊防範檢測。
(4) 配置ICMPv6 flood攻擊防範基於源IP統計的全局觸發閾值。
icmpv6-flood source-threshold threshold-value
缺省情況下,ICMPv6 flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置ICMPv6 flood攻擊防範基於目的IP統計的全局觸發閾值。
icmpv6-flood threshold threshold-value
缺省情況下,ICMPv6 flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置ICMPv6 flood攻擊防範的全局處理行為。
icmpv6-flood action { drop | logging } *
缺省情況下,不對檢測到的ICMPv6 flood攻擊采取任何防範措施。
(7) 開啟對IPv6地址的ICMPv6 flood攻擊防範檢測,並配置觸發閾值和處理行為。
icmpv6-flood detect ipv6 ipv6-address [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IPv6地址配置ICMPv6 flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟UDP flood攻擊防範檢測。
udp-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟UDP flood攻擊防範檢測。
(4) 配置UDP flood攻擊防範基於源IP統計的全局觸發閾值。
udp-flood source-threshold threshold-value
缺省情況下,UDP flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置UDP flood攻擊防範基於目的IP統計的全局觸發閾值。
udp-flood threshold threshold-value
缺省情況下,UDP flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置UDP flood攻擊防範檢測的全局處理行為。
udp-flood action { drop | logging } *
缺省情況下,不對檢測到的UDP flood攻擊進行任何處理。
(7) 開啟對IP地址的UDP flood攻擊防範檢測,並配置觸發閾值和處理行為。
udp-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置UDP flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟DNS flood攻擊防範檢測。
dns-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟DNS flood攻擊防範檢測。
(4) 配置DNS flood攻擊防範基於源IP統計的全局觸發閾值。
dns-flood source-threshold threshold-value
缺省情況下,DNS flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置DNS flood攻擊防範基於目的IP統計的全局觸發閾值。
dns-flood threshold threshold-value
缺省情況下,DNS flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) (可選)配置DNS flood攻擊防範的全局檢測端口號。
dns-flood port port-list
缺省情況下,DNS flood攻擊防範的全局檢測端口號為53。
(7) 配置對DNS flood攻擊防範的全局處理行為。
dns-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的DNS flood攻擊采取任何措施。
(8) 開啟對IP地址的DNS flood攻擊防範檢測,並配置觸發閾值和處理行為。
dns-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置DNS flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟DNS reply flood攻擊防範檢測。
dns-reply-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟DNS reply flood攻擊防範檢測。
(4) 配置DNS reply flood攻擊防範基於源IP統計的全局觸發閾值。
dns-reply-flood source-threshold threshold-value
缺省情況下,DNS reply flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置DNS reply flood攻擊防範基於目的IP統計的全局觸發閾值。
dns-reply-flood threshold threshold-value
缺省情況下,DNS reply flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) 配置DNS reply flood攻擊防範的全局檢測端口號。
dns-reply-flood port port-list
缺省情況下,DNS reply flood攻擊防範的全局檢測端口號為53。
(7) 配置對DNS reply flood攻擊防範的全局處理行為。
dns-reply-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的DNS reply flood攻擊采取任何措施。
(8) 開啟對IP地址的DNS reply flood攻擊防範檢測,並配置觸發閾值和處理行為。
dns-reply-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置DNS reply flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟HTTP flood攻擊防範檢測。
http-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟HTTP flood攻擊防範檢測。
(4) 配置HTTP flood攻擊防範基於源IP統計的全局觸發閾值。
http-flood source-threshold threshold-value
缺省情況下,HTTP flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置HTTP flood攻擊防範基於目的IP統計的全局觸發閾值。
http-flood threshold threshold-value
缺省情況下,HTTP flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) (可選)配置HTTP flood攻擊防範的全局檢測端口號。
http-flood port port-list
缺省情況下,HTTP flood攻擊防範的全局檢測端口號為80。
(7) 配置對HTTP flood攻擊防範的全局處理行為。
http-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的HTTP flood攻擊采取任何措施。
(8) 開啟對IP地址的HTTP flood攻擊防範檢測,並配置觸發閾值和處理行為。
http-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置HTTP flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟SIP flood攻擊防範檢測。
sip-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟SIP flood攻擊防範檢測。
(4) 配置SIP flood攻擊防範基於源IP統計的全局觸發閾值。
sip-flood source-threshold threshold-value
缺省情況下,SIP flood攻擊防範基於源IP統計的全局觸發閾值為10000。
(5) 配置SIP flood攻擊防範基於目的IP統計的全局觸發閾值。
sip-flood threshold threshold-value
缺省情況下,SIP flood攻擊防範基於目的IP統計的全局觸發閾值為10000。
(6) (可選)配置SIP flood攻擊防範的全局檢測端口號。
sip-flood port port-list
缺省情況下,SIP flood攻擊防範的全局檢測端口號為5060。
(7) 配置對SIP flood攻擊防範的全局處理行為。
sip-flood action { client-verify | drop | logging } *
缺省情況下,不對檢測到的SIP flood攻擊采取任何措施。
(8) 開啟對IP地址的SIP flood攻擊防範檢測,並配置觸發閾值和處理行為。
sip-flood detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold threshold-value ] [ action { { client-verify | drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置SIP flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 開啟泛洪攻擊閾值學習功能。
threshold-learn enable
缺省情況下,未開啟閾值學習功能。
(4) (可選)配置閾值學習模式。
¡ 單次學習模式
threshold-learn mode once
¡ 周期學習模式
threshold-learn mode periodic
缺省情況下,學習模式為單次學習模式。
(5) (可選)配置學習時長。
threshold-learn duration duration
缺省情況下,閾值學習時長為1440分鍾。
(6) (可選)配置學習間隔。
threshold-learn interval interval
缺省情況下,閾值學習間隔為1440分鍾。
單次學習模式請跳過本步驟。
(7) (可選)配置學習容忍度。
threshold-learn tolerance-value tolerance-value
缺省情況下,閾值學習容忍度為50%。
未開啟自動應用功能時請跳過本步驟。
(8) (可選)開啟閾值學習結果自動應用功能。
threshold-learn auto-apply enable
缺省情況下,閾值學習結果自動應用功能處於關閉狀態。
(9) 應用最近一次的閾值學習結果。
threshold-learn apply
在閾值學習結果自動應用功能開啟時,此命令不生效。
HTTP慢速攻擊防範策略能夠有效檢測和防範HTTP慢速攻擊。具體而言,當設備的HTTP並發連接數達到HTTP慢速攻擊檢測的觸發閾值時,觸發HTTP慢速攻擊檢測功能。防範策略將符合HTTP慢速攻擊的報文視作異常報文,當設備在一個檢測周期內檢測到某源IP到達一個目的IP的異常報文數目超過所配置的異常報文防範閾值,則執行相應的HTTP慢速攻擊防範處理動作。
HTTP慢速攻擊防範處理動作包括上報日誌和將攻擊者的IP地址加入IP黑名單。
若慢速攻擊的處理動作包含將攻擊者的IP地址加入IP黑名單,則需要開啟黑名單過濾功能來配合。
一般情況下,建議盡量使用缺省端口號80作為慢速攻擊防範的全局檢測端口號。如果需要通過http-slow-attack port命令指定非缺省端口作為慢速攻擊防範的全局檢測端口號,需確保配置的端口號為HTTP協議的通信端口號。否則會給設備帶來大量無效的HTTP慢速攻擊檢測,嚴重耗費係統資源。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 對所有非受保護IP地址開啟HTTP慢速攻擊防範。
http-slow-attack detect non-specific
缺省情況下,未對任何非受保護IP地址開啟HTTP慢速攻擊防範。
(4) 配置慢速攻擊防範的全局觸發閾值,包括HTTP並發連接數閾值、Content-Length閾值、報文實際載荷閾值和異常報文防範閾值。
http-slow-attack threshold [ alert-number alert-number | content-length content-length | payload-length payload-length | packet-number packet-number ]*
缺省情況下,HTTP並發連接數閾值為5000,Content-Length閾值為10000,報文實際載荷閾值為50,異常報文防範閾值為10。
(5) 配置HTTP慢速攻擊防範的全局檢測周期。
http-slow-attack period period
缺省情況下,HTTP慢速攻擊檢測周期為60秒。
(6) (可選)配置HTTP flood攻擊防範的全局檢測端口號。
http-slow-attack port port-list
缺省情況下,HTTP慢速攻擊防範的全局檢測端口號為80。
(7) 配置對HTTP慢速攻擊防範的全局處理行為。
http-slow-attack action { block-source [ timeout minutes ] | logging } *
缺省情況下,不對檢測到的HTTP慢速攻擊采取任何措施。
(8) 對指定IP地址開啟HTTP慢速攻擊防範,並配置HTTP慢速攻擊防範的檢測端口號、觸發閾值、檢測周期和處理行為。
http-slow-attack detect { ip ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-list ] [ threshold { alert-number alert-number | content-length content-length | payload-length payload-length | packet-number packet-number }* ] [ period period ] [ action { block-source [ timeout minutes ] | logging }* ]
缺省情況下,未對任何指定IP地址配置HTTP慢速攻擊防範。
攻擊防範例外列表用於過濾不需要進行攻擊防範檢測的主機報文,與指定的ACL permit規則匹配的報文將不會受到任何類型的攻擊防範檢測。該配置用於過濾某些被信任的安全主機發送的報文,可以有效的減小誤報率,並提高服務器處理效率。例如:攻擊防範功能可能將源IP地址相同,目的地址不同的組播報文(如OSPF、PIM等協議報文)檢測為掃描攻擊,此時可以通過配置例外列表放行組播報文來消除誤報。
例外列表引用的ACL的permit規則中僅源地址、目的地址、源端口、目的端口、協議號、L3VPN和非首片分片標記參數用於匹配報文。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-name
(3) 配置攻擊防範例外列表。
exempt acl [ ipv6 ] { acl-number | name acl-name }
缺省情況下,未配置攻擊防範例外列表。
(1) 進入係統視圖。
system-view
(2) 進入安全域視圖。
security-zone name zone-name
(3) 配置在安全域上應用攻擊防範策略。
attack-defense apply policy policy-name
缺省情況下,安全域上未應用任何攻擊防範策略。
開啟本功能後,設備將對各接口收到的所有TCP ALL flags、TCP FIN only flags、TCP Invalid flags、TCP NULL flags、TCP SYN&FIN flags、Land、Winnuke、UDP Fraggle、UDP Bomb和UDP Snork單包攻擊報文進行識別並直接丟棄。
對於上述攻擊類型,本功能的執行效率比“1.7.2 配置單包攻擊防範策略”所配置的單包攻擊檢測與防範功能更高。因此,開啟本功能後,無需在單包攻擊防範策略中配置針對上述單包攻擊的檢測與防範功能。
(1) 進入係統視圖。
system-view
(2) 開啟畸形報文檢測與防範功能。
attack-defense malformed-packet defend enable
缺省情況下,畸形報文檢測與防範功能處於開啟狀態。
對日誌進行聚合輸出是指,在一定時間內,對在本機或同一個同一個安全域上檢測到的相同攻擊類型、相同攻擊防範動作、相同的源/目的地址以及屬於相同VPN的單包攻擊的所有日誌聚合成一條日誌輸出。
通常不建議開啟單包攻擊防範的日誌非聚合輸出功能,因為在單包攻擊較為頻繁的情況下,它會導致大量日誌信息輸出,占用控製台的顯示資源。
(1) 進入係統視圖。
system-view
(2) 開啟對單包攻擊防範日誌的非聚合輸出功能。
attack-defense signature log non-aggregate
缺省情況下,單包攻擊防範的日誌信息經係統聚合後再輸出。
開啟了攻擊排名的Top統計功能後,設備將基於攻擊者、被攻擊者和攻擊類型對丟包數量進行統計。用戶可以通過display attack-defense top-attack-statistics命令查看攻擊排名的Top統計信息,以便采取有效的攻擊防範措施。
(1) 進入係統視圖。
system-view
(2) 開啟攻擊排名的Top統計功能。
attack-defense top-attack-statistics enable
缺省情況下,攻擊排名的Top統計功能處於關閉狀態。
通過在設備連接外部網絡的安全域上開啟TCP客戶端驗證功能,可以保護內部網絡中的應用服務器免受SYN flood、SYN-ACK flood、RST flood、FIN flood或ACK flood攻擊。TCP客戶端驗證功能有兩種工作方式:
· 手工添加受保護IP地址:當設備檢測到來自某客戶端的首個目的地址為配置的受保護IP地址的SYN報文後,將對該客戶端的新建TCP連接的協商報文進行合法性檢查。
· 自動添加受保護IP地址:當設備檢測到某服務器受到了SYN flood、SYN-ACK flood、RST flood、FIN flood、ACK flood攻擊時,會根據配置啟動相應的防範措施。若防範措施配置為對攻擊報文進行TCP客戶端驗證,則設備會將該服務器IP地址添加到受保護IP表項中,並按照指定的TCP客戶端驗證代理模式,對後續新建TCP連接的協商報文進行合法性檢查。
單向代理模式時,通過合法性檢查的TCP客戶端的IP地址將被加入信任IP地址列表中,之後設備將放行來自該IP地址的TCP報文。
(1) 進入係統視圖。
system-view
(2) (可選)配置TCP客戶端驗證的受保護IP地址。
client-verify tcp protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]
(3) 進入安全域視圖。
security-zone name zone-name
(4) 開啟TCP客戶端驗證功能。
¡ 配置單向代理模式。
client-verify tcp enable mode safe-reset
¡ 配置雙向代理模式。
client-verify tcp enable [ mode syn-cookie ]
缺省情況下,TCP客戶端驗證功能處於關閉狀態。
通過在設備連接外部網絡的安全域上開啟DNS客戶端驗證功能,可以保護內部網絡中的應用服務器免受DNS flood攻擊。DNS客戶端驗證功能有兩種工作方式:
· 手工添加受保護IP地址:當設備檢測到來自某客戶端的首個目的地址為配置的受保護IP地址的DNS Query報文時,對該客戶端發送的DNS報文進行合法性檢查。
· 自動添加受保護IP地址:當設備檢測到某服務器受到了DNS flood攻擊時,會根據配置啟動相應的防範措施。若防範措施配置為對攻擊報文進行DNS客戶端驗證,則設備會將該服務器IP地址添加到受保護IP表項中,並對後續的DNS Query請求報文進行合法性檢查。
通過合法性檢查的DNS客戶端的IP地址將被加入信任IP地址列表中,之後設備將放行來自該IP地址的DNS報文。
(1) 進入係統視圖。
system-view
(2) (可選)配置DNS客戶端驗證的受保護IP地址。
client-verify dns protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]
(3) 進入安全域視圖。
security-zone name zone-name
(4) 開啟DNS 客戶端驗證功能。
client-verify dns enable
缺省情況下,DNS客戶端驗證功能處於關閉狀態。
通過在設備連接外部網絡的接口或安全域上開啟DNS reply驗證功能,可以保護內部網絡中的DNS客戶端免受DNS reply flood攻擊。DNS reply驗證功能有兩種工作方式:
· 手工添加受保護IP地址:當設備檢測到來自某服務器的首個目的地址為配置的受保護IP地址的DNS reply報文時,對該服務器發送的DNS reply報文進行合法性檢查。
· 自動添加受保護IP地址:當設備檢測到某客戶端受到了DNS reply flood攻擊時,會根據配置啟動相應的防範措施。若防範措施配置為對攻擊報文進行DNS reply驗證,則設備會將該客戶端IP地址添加到受保護IP表項中,並對後續的DNS reply請求報文進行合法性檢查。
通過合法性檢查的DNS服務器的IP地址將被加入信任IP地址列表中,之後設備將放行來自該IP地址的DNS reply報文。
由於DNS reply驗證對服務器發送的DNS應答進行了幹預,因此要求服務器的實現嚴格遵守TCP/IP協議棧以及DNS協議的規定,如果服務器的協議棧實現不完善,即便是合法DNS reply報文,也可能會檢查不通過。
(1) 進入係統視圖。
system-view
(2) (可選)配置DNS reply驗證的受保護IP地址。
client-verify dns-reply protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]
(3) 進入接口/安全域視圖。
interface interface-type interface-number
security-zone name zone-name
(4) 開啟DNS reply驗證功能。
client-verify dns-reply enable
缺省情況下,DNS reply驗證功能處於關閉狀態。
通過在設備連接外部網絡的安全域上開啟HTTP客戶端驗證功能,可以保護內部網絡中的應用服務器免受HTTP flood攻擊。HTTP客戶端驗證功能有兩種工作方式:
· 手工添加受保護IP地址:當設備檢測到來自某客戶端的首個目的地址為配置的受保護IP地址的HTTP GET/POST報文時,對該客戶端發送的HTTP報文進行合法性檢查。
· 自動添加受保護IP地址:當設備監測到某服務器受到了HTTP flood攻擊時,會根據配置啟動相應的防範措施。若防範措施配置為對攻擊報文進行HTTP客戶端驗證,則設備會將該服務器IP地址添加到受保護IP表項中,並對後續的HTTP GET/POST請求報文進行合法性檢查。
通過合法性檢查的HTTP客戶端的IP地址將被加入信任IP地址列表中,之後設備將放行來自該IP地址的HTTP報文。
(1) 進入係統視圖。
system-view
(2) (可選)配置HTTP客戶端驗證的受保護IP地址。
client-verify http protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]
(3) 進入安全域視圖。
security-zone name zone-name
(4) 開啟HTTP客戶端驗證功能。
client-verify http enable
缺省情況下,HTTP客戶端驗證功能處於關閉狀態。
通過在設備連接外部網絡的安全域上開啟SIP客戶端驗證功能,可以保護內部網絡中的SIP應用服務器免受SIP flood攻擊。SIP客戶端驗證功能有兩種工作方式:
· 手工添加受保護IP地址:當設備檢測到來自某客戶端的首個目的地址為配置的受保護IP地址的INVITE報文時,對該客戶端發送的SIP報文進行合法性檢查。
· 自動添加受保護IP地址:當設備檢測到某服務器受到了SIP flood攻擊時,會根據配置啟動相應的防範措施。若防範措施配置為對攻擊報文進行SIP客戶端驗證,則設備會將該服務器IP地址添加到受保護IP表項中,並對後續的INVITE請求報文進行合法性檢查。
通過合法性檢查的SIP客戶端的IP地址將被加入信任IP地址列表中,之後設備將直接轉發來自該IP地址的SIP協議的INVITE報文。
如果客戶端發送的報文首部信息不完整,即便是合法用戶,也可能由於未解析到對應的字段導致未通過SIP客戶端驗證的嚴格檢查而無法訪問服務器。
(1) 進入係統視圖。
system-view
(2) (可選)配置SIP客戶端驗證的受保護IP地址。
client-verify sip protected { ip destination-ip-address | ipv6 destination-ipv6-address } [ vpn-instance vpn-instance-name ] [ port port-number ]
(3) 進入安全域視圖
security-zone name zone-name
(4) 開啟SIP客戶端驗證功能
client-verify sip enable
缺省情況下,SIP客戶端驗證功能處於關閉狀態。
通過配置IP黑名單功能可以對來自或發往指定IP地址的報文進行過濾。
IP黑名單的配置包括開啟黑名單過濾功能和添加IP黑名單表項。若全局的黑名單過濾功能處於開啟狀態,則所有安全域上的IP黑名單過濾功能均處於開啟狀態。若全局的黑名單過濾功能處於關閉狀態,則需要開啟指定安全域上的黑名單過濾功能。添加IP黑名單表項的同時可以選擇配置IP黑名單表項的老化時間,若不配置,那麼該IP黑名單表項永不老化,除非用戶手動將其刪除。
IP黑名單表項除了可以用戶手工添加之外,還可以通過其他方式自動添加。對於源IP黑名單,在黑名單功能使能的前提下,若配置了掃描攻擊防範策略及相應的IP黑名單添加功能,則可以將檢測到的掃描攻擊方IP地址添加到源IP黑名單中。掃描攻擊防範添加的源IP黑名單表項必定會老化,老化時間可配。關於掃描攻擊防範的相關配置請參見“1.7.3 配置掃描攻擊防範策略”。
(1) 進入係統視圖。
system-view
(2) (可選)添加IP黑名單表項。
¡ 添加源IPv4黑名單表項。
blacklist ip source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] [ timeout minutes ]
¡ 添加源IPv6黑名單表項。
blacklist ipv6 source-ipv6-address [ vpn-instance vpn-instance-name ] [ timeout minutes ]
¡ 添加目的IPv4黑名單表項。
blacklist destination-ip destination-ip-address [ vpn-instance vpn-instance-name ] [ timeout minutes ]
¡ 添加目的IPv6黑名單表項。
blacklist destination-ipv6 destination -ipv6-address [ vpn-instance vpn-instance-name ] [ timeout minutes ]
(3) (可選)使能黑名單日誌功能。
blacklist logging enable
缺省情況下,黑名單日誌功能處於關閉狀態。
(4) 開啟黑名單過濾功能。請選擇其中一項進行配置。
¡ 開啟全局黑名單過濾功能。
blacklist global enable
缺省情況下,全局黑名單功能處於關閉狀態。
¡ 請依次執行以下命令開啟安全域上的黑名單過濾功能。
security-zone name zone-name
blacklist enable
缺省情況下,安全域上的黑名單功能處於關閉狀態。
通過配置用戶黑名單功能可以對指定用戶的報文進行過濾。
用戶黑名單的配置包括開啟全局黑名單過濾功能和添加用戶黑名單表項。添加用戶黑名單表項的同時可以選擇配置用戶黑名單表項的老化時間,若不配置,那麼該用戶黑名單表項永不老化,除非用戶手動將其刪除。
用戶黑名單功能需要配合用戶身份識別功能使用,有關用戶身份識別功能的詳細介紹,請參見“安全配置指導”中的“用戶身份識別與管理”。
(1) 進入係統視圖。
system-view
(2) 開啟全局黑名單過濾功能。
blacklist global enable
缺省情況下,全局黑名單功能處於關閉狀態。
(3) 添加用戶黑名單表項。
blacklist user user-name [ domain domain-name ] [ timeout minutes ]
(4) (可選)開啟黑名單日誌功能。
blacklist logging enable
缺省情況下,黑名單日誌功能處於關閉狀態。
通過配置地址對象組黑名單功能可以對指定地址網段的報文進行過濾。
地址對象組黑名單目前僅支持由管理員手工進行配置、刪除。
地址對象組黑名單功能需要配合地址對象組功能使用,有關地址對象組功能的詳細介紹,請參見“安全配置指導”中的“對象組”。
(1) 進入係統視圖。
system-view
(2) 通過引用地址對象組配置黑名單。
blacklist object-group object-group-name
缺省情況下,未引用地址對象組。
(3) 開啟黑名單過濾功能。請選擇其中一項進行配置。
¡ 開啟全局黑名單過濾功能。
blacklist global enable
缺省情況下,全局黑名單功能處於關閉狀態。
¡ 請依次執行以下命令開啟安全域上的黑名單過濾功能。
security-zone name zone-name
blacklist enable
缺省情況下,安全域上的黑名單功能處於關閉狀態。
通過配置地址對象組白名單功能可以放行指定地址網段的報文。
地址對象組白名單目前僅支持由管理員手工進行配置、刪除。
地址對象組白名單功能需要配合地址對象組功能使用,有關地址組功能的詳細介紹,請參見“安全配置指導”中的“對象組”。
(1) 進入係統視圖。
system-view
(2) 通過引用地址對象組配置白名單。
whitelist object-group object-group-name
缺省情況下,未引用地址對象組。
(3) 開啟白名單過濾功能。請選擇其中一項進行配置。
¡ 開啟全局白名單過濾功能。
whitelist global enable
缺省情況下,全局白名單功能處於關閉狀態。
¡ 請依次執行以下命令開啟安全域上的白名單過濾功能。
security-zone name zone-name
whitelist enable
缺省情況下,安全域上的白名單功能處於關閉狀態。
Login用戶攻擊防範功能處於開啟狀態時,如果用戶登錄設備連續失敗的次數達到指定次數,則此用戶IP地址將被加入黑名單,在全局黑名單功能開啟的情況下,來自該IP地址的用戶報文將被阻斷指定的時長。
通過Login攻擊防範功能與全局黑名單功能相配合,可以有效防範Login用戶DoS攻擊。
Login用戶攻擊防範功能支持對以HTTP/HTTPS(包含WEB、NETCONF和RESTful)、Telnet、Terminal、SSH和FTP方式登錄設備的用戶進行攻擊防範,不支持對使用SNMP登錄設備的用戶進行攻擊防範。
Login用戶攻擊防範功能對采用本地認證或遠程AAA服務器認證的登錄方式均有效。
當用戶登錄設備連續失敗的次數達到指定次數後,為了確保設備可以將用戶的IP地址加入黑名單,請注意如下配置:
· 若設備采用本地認證方式進行登錄用戶認證,用戶名對應的本地用戶在設備上必須已存在,否則加入黑名單失敗。
· 若設備采用遠程AAA認證方式進行登錄用戶認證,AAA服務器必須可達且已正確配置,否則加入黑名單失敗。
(1) 進入係統視圖。
system-view
(2) 開啟Login用戶攻擊防範功能。
attack-defense login enable
缺省情況下,Login用戶攻擊防範功能處於關閉狀態。
(3) 配置Login用戶登錄失敗的最大次數。
attack-defense login max-attempt max-attempt
缺省情況下,Login用戶登錄失敗的最大次數為3次。
(4) 配置Login用戶登錄失敗後阻斷時長。
attack-defense login block-timeout minutes
缺省情況下,Login用戶登錄失敗後阻斷時長為60分鍾。
(5) 開啟全局黑名單過濾功能。
blacklist global enable
缺省情況下,全局黑名單功能處於關閉狀態。
Login用戶登錄失敗後,若設備上配置了重新進行認證的等待時長,則係統將會延遲一定的時長之後再允許用戶進行認證,可以有效地避免設備受到Login用戶字典序攻擊。
Login用戶延遲認證功能與Login用戶攻擊防範功能無關,隻要配置了延遲認證等待時間,即可生效。
(1) 進入係統視圖。
system-view
(2) 配置Login用戶登錄失敗後重新進行認證的等待時長。
attack-defense login reauthentication-delay seconds
缺省情況下,Login用戶登錄失敗後重新進行認證不需要等待。
新建會話限速功能可以將設備入方向的新建會話速率限製在指定閾值下。該功能包括如下四種限速類型,用戶可針對不同的限速類型分別指定限速閾值和處理行為:
· 基於會話源IPv4地址進行統計和限速。
· 基於會話源IPv6地址進行統計和限速。
· 基於會話目的IPv4地址進行統計和限速。
· 基於會話目的IPv6地址進行統計和限速。
在接口上開啟指定類型的新建會話限速功能後,設備將使用該限速類型所對應的限速閾值和處理行為對接口入方向的新建會話進行相應處理,該閾值對不同接口分別生效。
同一個接口上,基於源IP地址的新建會話限速功能與基於目的IP地址的新建會話限速功能不能同時開啟。
(1) 進入係統視圖。
system-view
(2) 配置指定新建會話限速類型的限速閾值和處理行為。
attack-defense ipcar { destination | source } { ip | ipv6 } [ threshold threshold ] action { { drop | logging } * | none }
缺省情況下,所有新建會話限速類型的限速閾值為5000,處理行為為不采取任何動作。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟指定類型的新建會話限速功能。
attack-defense ipcar { destination | source } { ip | ipv6 } session-rate-limit enable
缺省情況下,所有類型的新建會話限速功能處於關閉狀態。
當某CPU核的利用率達到攻擊防範閾值(通過context-capability inbound unicast total命令配置),並且驅動公共隊列已滿,係統則認為該CPU核受到了攻擊。這時,係統將按照配置的單核CPU攻擊防範動作對報文進行相應的處理。其動作包括如下四種:
· 丟棄:當某CPU核受到攻擊時,此CPU核將按照CPU最高主頻的百分比的能力進行處理報文,超出此處理能力的報文將被驅動直接丟棄,以達到將此CPU核利用率降低至閾值以下的目的。當某CPU核受到攻擊時,此方式也會對正常業務處理產生一定的影響。
· 逐包負載分擔:當某CPU核受到攻擊時,此CPU核將按照CPU最高主頻的百分比的能力進行處理報文,超出此處理能力的報文將被驅動逐包負載分擔給其他CPU核進行處理。此方式在一定程度上可以保證業務的正常處理,同時也有導致其他CPU核被攻擊的風險。
· 隔離:當某CPU核受到攻擊時,驅動會識別出當前消耗CPU最多的一條流量,然後將此條流量後續上送此CPU核的報文放在驅動隔離隊列,降低這些報文被處理的優先級。當驅動公共隊列中沒有需要待處理的報文後,再將驅動隔離隊列中的報文上送此CPU核繼續處理,在一定程度上可以保證業務的正常處理。但是因為驅動公共隊列中的報文仍會被分配到此CPU核進行處理,所以此種方式不利於降低此CPU核的利用率。
· 不限製:當某CPU核受到攻擊時,驅動不做任何處理,依舊按照正常報文處理流程上送此CPU核進行業務處理。
有關context-capability inbound unicast total命令詳細介紹,請參見“虛擬化技術命令參考”中的“Context”。
本功能的支持情況與設備型號有關,請以設備的實際情況為準。
F1000係列 |
型號 |
說明 |
F1000-X-G5係列 |
F1000-A-G5、F1000-S-G5、F1000-E-G5、F1000-H-G5 |
支持 |
F1000-C-G5、F1000-C-G5-LI |
不支持 |
|
F1000-X-G3係列 |
F1000-A-G3、F1000-C-G3、F1000-E-G3、F1000-S-G3 |
支持 |
F1000-X-G2係列 |
F1000-A-G2、F1000-C-G2、F1000-E-G2、F1000-S-G2 |
不支持 |
F1000-9X0-AI係列 |
F1000-9370-AI、F1000-9380-AI、F1000-9390-AI、F1000-9385-AI |
支持 |
F1000-9305-AI、F1000-9310-AI、F1000-9320-AI、F1000-9330-AI、F1000-9350-AI、F1000-9360-AI、F1000-990-AI、F1000-980-AI、F1000-970-AI、F1000-960-AI、F1000-950-AI、F1000-930-AI、F1000-920-AI、F1000-910-AI、F1000-905-AI |
不支持 |
|
F1000-C83X0係列 |
F1000-C8395、F1000-C8390、F1000-C8385、F1000-C8380 |
支持 |
F1000-C8370、F1000-C8360、F1000-C8350、F1000-C8330、F1000-C8320、F1000-C8310、F1000-C8305 |
不支持 |
|
F1000-C81X0係列 |
F1000-C8180、F1000-C8170、F1000-C8160、F1000-C8150、F1000-C8130、F1000-C8120、F1000-C8110 |
不支持 |
F1000-7X0-HI係列 |
F1000-770-HI |
支持 |
F1000-750-HI、F1000-740-HI、F1000-730-HI、F1000-720-HI、F1000-710-HI |
不支持 |
|
F1000-C-X係列 |
F1000-C-EI、F1000-C-HI、F1000-C-XI |
不支持 |
F1000-E-XI |
支持 |
|
F1000-V係列 |
F1000-E-VG、F1000-S-VG |
不支持 |
SecBlade IV |
LSPM6FWD8、LSQM2FWDSC8 |
支持 |
F100係列 |
型號 |
說明 |
F100-X-G5係列 |
F100-A-G5、F100-C-G5、F100-C-G5-EI、F100-C-G5-SI、F100-E-G5、F100-M-G5、F100-M-G5-EI、F100-S-G5 |
不支持 |
F100-X-G3係列 |
F100-A-G3、F100-E-G3、F100-C-G3F100-M-G3、F100-S-G3 |
不支持 |
F100-X-G2係列 |
F100-A-G2、F100-E-G2、F100-C-G2、F100-M-G2、F100-S-G2 |
不支持 |
F100- WiNet係列 |
F100-A80-WiNet、F100-C80-WiNet、F100-C60-WiNet、F100-C50-WiNet、F100-S80-WiNet、F100-A81-WiNet、F100-A91-WiNet |
不支持 |
F100-C-A係列 |
F100-C-A6、F100-C-A5、F100-C-A3、F100-C-A2、F100-C-A1、F100-C-A6-WL、F100-C-A5-W、F100-C-A3-W |
不支持 |
F100-X-XI係列 |
F100-A-EI、F100-A-HI、F100-A-XI、F100-A-SI、F100-C-EI、F100-C-HI、F100-C-XI、F100-E-EI、F100-S-HI、F100-S-XI |
不支持 |
(1) 進入係統視圖。
system-view
(2) 配置CPU核的攻擊防範動作
attack-defense cpu-core action { bypass | drop | isolate | per-packet-balance }
缺省情況下,CPU核的攻擊防範動作為丟棄。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後攻擊檢測及防範的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除攻擊檢測及防範的統計信息。
表1-2 攻擊檢測及防範配置的顯示和維護
操作 |
命令 |
顯示IPv4 flood攻擊防範統計信息 |
display attack-defense { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } statistics ip [ ip-address [ vpn vpn-instance-name ] ] [ count ] [ security-zone zone-name ] [ slot slot-number ] [ count ] |
顯示IPv6 flood攻擊防範統計信息 |
display attack-defense { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } statistics ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ security-zone zone-name ] [ slot slot-number ] [ count ] |
顯示IPv4 慢速攻擊防範統計信息 |
display attack-defense http-slow-attack statistics ip [ ip-address [ vpn-instance vpn-instance-name ] ] [ security-zone zone-name ] [ slot slot-number ] [ count ] |
顯示IPv6 慢速攻擊防範統計信息 |
display attack-defense http-slow-attack statistics ipv6 [ ipv6-address [ vpn-instance vpn-instance-name ] ] [ security-zone zone-name ] [ slot slot-number ] [ count ] |
顯示畸形報文丟棄統計信息 |
display attack-defense malformed-packet statistics [ slot slot-number ] |
顯示攻擊防範策略的配置信息 |
display attack-defense policy [ policy-name ] |
顯示flood攻擊防範的IPv4類型的受保護IP表項 |
display attack-defense policy policy-name { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } ip [ ip-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
顯示flood攻擊防範的IPv6類型的受保護IP表項 |
display attack-defense policy policy-name { ack-flood | dns-flood | dns-reply-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | sip-flood | syn-ack-flood | syn-flood | udp-flood } ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
顯示掃描攻擊者的IPv4地址表項 |
display attack-defense scan attacker ip [ security-zone zone-name [ slot slot-number ] ] [ count ] |
顯示掃描攻擊者的IPv6地址表項 |
display attack-defense scan attacker ipv6 [ security-zone zone-name [ slot slot-number ] ] [ count ] |
顯示安全域上的攻擊防範統計信息 |
display attack-defense statistics security-zone zone-name [ slot slot-number ] |
顯示Top10的攻擊排名統計信息 |
display attack-defense top-attack-statistics { last-1-hour | last-24-hours | last-30-days } [ by-attacker | by-type | by-victim ] |
顯示目的IPv4黑名單表項 |
display blacklist destination-ip [ destination-ip-address [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ count ] |
顯示目的IPv6黑名單表項 |
display blacklist destination-ipv6 [ destination-ipv6-address [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ count ] |
顯示源IPv4黑名單表項 |
display blacklist ip [ source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] ] [ slot slot-number ] [ count ] |
顯示源IPv6黑名單表項 |
display blacklist ipv6 [ source-ipv6-address [ vpn-instance vpn-instance-name ] ] [ slot slot-number ] [ count ] |
顯示用戶黑名單表項信息 |
display blacklist user [ user-name ] [ domain domain-name ] [ count ] |
顯示客戶端驗證的IPv4類型的受保護IP表項 |
display client-verify { dns | dns-reply | http | sip | tcp } protected ip [ ip-address [ vpn vpn-instance-name ] ] [ port port-number ] [ slot slot-number ] [ count ] |
顯示客戶端驗證的IPv6類型的受保護IP表項 |
display client-verify { dns | dns-reply | http | sip | tcp } protected ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ port port-number ] [ slot slot-number ] [ count ] |
顯示客戶端驗證的IPv4類型的信任IP表項 |
display client-verify { dns | dns-reply | http | sip | tcp } trusted ip [ ip-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
顯示客戶端驗證的IPv6類型的信任IP表項 |
display client-verify { dns | dns-reply | http | sip | tcp } trusted ipv6 [ ipv6-address [ vpn vpn-instance-name ] ] [ slot slot-number ] [ count ] |
顯示白名單引用的地址對象組的報文統計信息 |
display whitelist object-group [ object-group-name ] [ slot slot-number ] |
清除畸形報文統計信息 |
reset attack-defense malformed-packet statistics |
清除flood攻擊防範受保護IP表項的統計信息 |
reset attack-defense policy policy-name flood protected { ip | ipv6 } statistics |
清除安全域上的攻擊防範統計信息 |
reset attack-defense statistics security-zone zone-name |
清除Top10的攻擊排名統計信息 |
reset attack-defense top-attack-statistics |
清除目的IPv4動態黑名單表項 |
reset blacklist destination-ip { destination-ip-address [ vpn-instance vpn-instance-name ] | all } |
清除目的IPv6動態黑名單表項 |
reset blacklist destination-ipv6{ destination-ipv6-address [ vpn-instance vpn-instance-name ] | all } |
清除源IPv4動態黑名單表項 |
reset blacklist ip { source-ip-address [ vpn-instance vpn-instance-name ] [ ds-lite-peer ds-lite-peer-address ] | all } |
清除源IPv6動態黑名單表項 |
reset blacklist ipv6 { source-ipv6-address [ vpn-instance vpn-instance-name ] | all } |
清除黑名單表項的統計信息 |
reset blacklist statistics |
清除客戶端驗證的受保護IP地址的統計信息 |
reset client-verify { dns | dns-reply | http | sip | tcp } protected { ip | ipv6 } statistics |
清除客戶端驗證的信任IP表項 |
reset client-verify { dns | dns-reply | http | sip | tcp } trusted { ip | ipv6 } |
清除白名單引用的地址對象組的報文統計信息 |
reset whitelist statistics |
Device上的接口GigabitEthernet1/0/1與內部網絡連接,接口GigabitEthernet1/0/2與外部網絡連接,接口GigabitEthernet1/0/3與一台內部服務器連接。現有如下安全需求:
· 為防範外部網絡對內部網絡的Smurf攻擊和掃描攻擊,需要在接口GigabitEthernet1/0/2所在的Untrust安全域上開啟Smurf攻擊防範和掃描攻擊防範。具體要求為:低防範級別的掃描攻擊防範;將掃描攻擊者添加到黑名單中(老化時間為10分鍾);檢測到Smurf攻擊或掃描攻擊後,輸出告警日誌。
· 為防範外部網絡對內部服務器的SYN flood攻擊,需要在接口GigabitEthernet1/0/2所在的Untrust安全域上開啟SYN flood攻擊防範。具體要求為:當設備監測到向內部服務器每秒發送的SYN報文數持續達到或超過5000時,輸出告警日誌並丟棄攻擊報文。
圖1-10 安全域上的攻擊檢測與防範配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.0.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
[Device] security-zone name dmz
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/3
[Device-security-zone-DMZ] quit
(3) 配置安全策略
# 配置名稱為trust-untrust的安全策略,保證Trust安全域內的主機可以訪問Internet,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.0.0 16
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
# 配置名稱為untrust-dmz的安全策略,保證Internet中的主機可以訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-dmz
[Device-security-policy-ip-2-untrust-dmz] source-zone untrust
[Device-security-policy-ip-2-untrust-dmz] destination-zone dmz
[Device-security-policy-ip-2-untrust-dmz] destination-ip-host 10.1.1.2
[Device-security-policy-ip-2-untrust-dmz] action pass
[Device-security-policy-ip-2-untrust-dmz] quit
[Device-security-policy-ip] quit
(4) 配置攻擊防範策略
# 創建攻擊防範策略a1。
[Device] attack-defense policy a1
# 開啟Smurf單包攻擊報文的特征檢測,配置處理行為為輸出告警日誌。
[Device-attack-defense-policy-a1] signature detect smurf action logging
# 開啟低防範級別的掃描攻擊防範,配置處理行為輸出告警日誌以及阻斷並將攻擊者的源IP地址加入黑名單表項(老化時間為10分鍾)。
[Device-attack-defense-policy-a1] scan detect level low action logging block-source timeout 10
# 為保護IP地址為10.1.1.2的內部服務器,配置針對IP地址10.1.1.2的SYN flood攻擊防範參數,觸發閾值為5000,處理行為輸出告警日誌並丟棄攻擊報文。
[Device-attack-defense-policy-a1] syn-flood detect ip 10.1.1.2 threshold 5000 action logging drop
[Device-attack-defense-policy-a1] quit
# 在安全域Untrust上應用攻擊防範策略a1。
[Device] security-zone name untrust
[Device-security-zone-Untrust] attack-defense apply policy a1
[Device-security-zone-Untrust] quit
# 開啟全局黑名單過濾功能。
[Device] blacklist global enable
· 完成以上配置後,可以通過display attack-defense policy命令查看配置的攻擊防範策略a1的具體內容。
# 查看攻擊防範策略a1的配置信息。
[Device] display attack-defense policy a1
Attack-defense Policy Information
--------------------------------------------------------------------------
Policy name : a1
Applied list : Untrust
--------------------------------------------------------------------------
Exempt IPv4 ACL : Not configured
Exempt IPv6 ACL : Not configured
--------------------------------------------------------------------------
Actions: CV-Client verify BS-Block source L-Logging D-Drop N-None
Signature attack defense configuration:
Signature name Defense Level Actions
Fragment Disabled low L
Impossible Disabled medium L,D
Teardrop Disabled medium L,D
Tiny fragment Disabled low L
IP option abnormal Disabled medium L,D
Smurf Enabled medium L
Traceroute Disabled low L
Ping of death Disabled medium L,D
Large ICMP Disabled info L
Max length 4000 bytes
Large ICMPv6 Disabled info L
Max length 4000 bytes
TCP invalid flags Disabled medium L,D
TCP null flag Disabled medium L,D
TCP all flags Disabled medium L,D
TCP SYN-FIN flags Disabled medium L,D
TCP FIN only flag Disabled medium L,D
TCP Land Disabled medium L,D
Winnuke Disabled medium L,D
UDP Bomb Disabled medium L,D
UDP Snork Disabled medium L,D
UDP Fraggle Disabled medium L,D
IP option record route Disabled info L
IP option internet timestamp Disabled info L
IP option security Disabled info L
IP option loose source routing Disabled info L
IP option stream ID Disabled info L
IP option strict source routing Disabled info L
IP option route alert Disabled info L
ICMP echo request Disabled info L
ICMP echo reply Disabled info L
ICMP source quench Disabled info L
ICMP destination unreachable Disabled info L
ICMP redirect Disabled info L
ICMP time exceeded Disabled info L
ICMP parameter problem Disabled info L
ICMP timestamp request Disabled info L
ICMP timestamp reply Disabled info L
ICMP information request Disabled info L
ICMP information reply Disabled info L
ICMP address mask request Disabled info L
ICMP address mask reply Disabled info L
ICMPv6 echo request Disabled info L
ICMPv6 echo reply Disabled info L
ICMPv6 group membership query Disabled info L
ICMPv6 group membership report Disabled info L
ICMPv6 group membership reduction Disabled info L
ICMPv6 destination unreachable Disabled info L
ICMPv6 time exceeded Disabled info L
ICMPv6 parameter problem Disabled info L
ICMPv6 packet too big Disabled info L
IPv6 extension header abnormal Disabled Info L
IPv6 extension header exceeded Disabled Info L
Limit 7
Scan attack defense configuration:
Defense : Enabled
Level : low
Actions : L,BS(10)
Flood attack defense configuration:
Flood type Global thres(pps) Global actions Service ports Non-specific
DNS flood 1000 - 53 Disabled
HTTP flood 1000 - 80 Disabled
SIP flood 1000 - 5060 Disabled
SYN flood 5000 L,D - Enabled
ACK flood 1000 - - Disabled
SYN-ACK flood 1000 - - Disabled
RST flood 1000 - - Disabled
FIN flood 1000 - - Disabled
UDP flood 1000 - - Disabled
ICMP flood 1000 - - Disabled
ICMPv6 flood 1000 - - Disabled
Flood attack defense for protected IP addresses:
Address VPN instance Flood type Thres(pps) Actions Ports
10.1.1.2 -- SYN-FLOOD 5000 L,D -
如果安全域Untrust上收到Smurf攻擊報文,設備輸出告警日誌;如果安全域Untrust上收到掃描攻擊報文,設備會輸出告警日誌,並將攻擊者的IP地址加入黑名單;如果安全域Untrust上收到的SYN flood攻擊報文超過觸發閾值,則設備會輸出告警日誌,並將受到攻擊的主機地址添加到TCP客戶端驗證的受保護IP列表中,同時丟棄攻擊報文。
· 可以通過display attack-defense statistics security-zone命令查看各安全域上攻擊防範的統計信息。
# 查看安全域Untrust上攻擊防範的統計信息。
[Device] display attack-defense statistics security-zone untrust
Attack policy name: a1
Scan attack defense statistics:
AttackType AttackTimes Dropped
Port scan 2 0
IP sweep 3 0
Flood attack defense statistics:
AttackType AttackTimes Dropped
SYN flood 1 5000
Signature attack defense statistics:
AttackType AttackTimes Dropped
Smurf 1 0
· 若有掃描攻擊發生,還可以通過display blacklist命令查看由掃描攻擊防範自動添加的黑名單信息。
# 查看由掃描攻擊防範自動添加的黑名單信息。
[Device] display blacklist ip
IP address VPN instance DS-Lite tunnel peer Type TTL(sec) Dropped
5.5.5.5 -- -- Dynamic 600 353452
網絡管理員通過流量分析發現外部網絡中存在一個攻擊者Host D,需要將來自Host D的報文在Device上永遠過濾掉。另外,網絡管理員為了暫時控製內部網絡Host C的訪問行為,需要將Device上收到的Host C的報文阻止50分鍾。
圖1-11 源IP黑名單配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.0.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
[Device] security-zone name dmz
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/3
[Device-security-zone-DMZ] quit
(3) 配置安全策略
# 配置名稱為trust-untrust的安全策略,保證Trust安全域內的主機可以訪問Internet,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.0.0 16
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
# 配置名稱為untrust-dmz的安全策略,保證Internet中的主機可以訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-dmz
[Device-security-policy-ip-2-untrust-dmz] source-zone untrust
[Device-security-policy-ip-2-untrust-dmz] destination-zone dmz
[Device-security-policy-ip-2-untrust-dmz] destination-ip-host 10.1.1.2
[Device-security-policy-ip-2-untrust-dmz] action pass
[Device-security-policy-ip-2-untrust-dmz] quit
[Device-security-policy-ip] quit
(4) 配置源IP黑名單功能
# 將Host D的IP地址5.5.5.5添加到源IP黑名單中,老化時間使用缺省情況(永不老化)。
[Device] blacklist ip 5.5.5.5
# 將Host C的IP地址192.168.1.4添加到源IP黑名單中,老化時間為50分鍾。
[Device] blacklist ip 192.168.1.4 timeout 50
# 開啟全局黑名單過濾功能。
[Device] blacklist global enable
# 完成以上配置後,可以通過display blacklist ip命令查看已添加的源IP黑名單信息。
[Device] display blacklist ip
IP address VPN instance DS-Lite tunnel peer Type TTL(sec) Dropped
5.5.5.5 -- -- Manual Never 0
192.168.1.4 -- -- Manual 2989 0
配置生效後,Device對來自Host D的報文一律進行丟棄處理,除非管理員認為Host D不再是攻擊者,通過undo blacklist ip 5.5.5.5將其從黑名單中刪除;如果Device接收到來自Host C的報文,則在50分鍾之內,一律對其進行丟棄處理,50分鍾之後,才進行正常轉發。
網絡管理員通過流量分析發現內部網絡Server正在遭受嚴重攻擊,需要將發往Server的報文在Device上永遠過濾掉。另外,網絡管理員為了暫時控製對外部網絡Host D的訪問,需要將Device上收到的發往Host D的報文阻止50分鍾。
圖1-12 目的IP黑名單配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.0.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
[Device] security-zone name dmz
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/3
[Device-security-zone-DMZ] quit
(3) 配置安全策略
# 配置名稱為trust-untrust的安全策略,保證Trust安全域內的主機可以訪問Internet,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.0.0 16
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
# 配置名稱為untrust-dmz的安全策略,保證Internet中的主機可以訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-dmz
[Device-security-policy-ip-2-untrust-dmz] source-zone untrust
[Device-security-policy-ip-2-untrust-dmz] destination-zone dmz
[Device-security-policy-ip-2-untrust-dmz] destination-ip-host 10.1.1.2
[Device-security-policy-ip-2-untrust-dmz] action pass
[Device-security-policy-ip-2-untrust-dmz] quit
[Device-security-policy-ip] quit
(4) 配置目的IP黑名單功能
# 將Server的IP地址10.1.1.2添加到目的IP黑名單中,老化時間使用缺省情況(永不老化)。
[Device] blacklist destination-ip 10.1.1.2
# 將Host D的IP地址6.6.6.6添加到目的IP黑名單中,老化時間為50分鍾。
[Device] blacklist destination-ip 6.6.6.6 timeout 50
# 開啟全局黑名單過濾功能。
[Device] blacklist global enable
# 完成以上配置後,可以通過display blacklist destination-ip命令查看已添加的目的IP黑名單信息。
[Device] display blacklist destination-ip
IP address VPN instance Type TTL(sec) Dropped
10.1.1.2 -- Manual Never 0
6.6.6.6 -- Manual 2989 0
配置生效後,Device對發往Server的報文一律進行丟棄處理,除非管理員認為Server不再受到攻擊,通過undo blacklist destination-ip 10.1.1.2將其從目的黑名單中刪除;如果Device接收到發往Host D的報文,則在50分鍾之內,一律對其進行丟棄處理,50分鍾之後,才進行正常轉發。
網絡管理員為了暫時控製內部網絡用戶User C的訪問行為,需要將Device上收到的User C的報文阻止50分鍾。User C的IP地址為1.2.3.4,MAC地址為0001-0001-0001。
圖1-13 用戶黑名單配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.0.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名稱為trust-untrust的安全策略,保證Trust安全域內的主機可以訪問Internet,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.0.0 16
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
[Device-security-policy-ip] quit
(4) 配置用戶黑名單功能
# 創建網絡接入類本地用戶userc。
[Device] local-user userc class network
[Device-luser-network-userc] quit
# 配置一個靜態類型的身份識別用戶:IP地址為1.2.3.4,MAC地址為0001-0001-0001、用戶名為userc。
[Device] user-identity static-user userc bind ipv4 1.2.3.4 mac 0001-0001-0001
# 將用戶User C添加到黑名單列表中,老化時間為50分鍾。
[Device] blacklist user userc timeout 50
# 開啟用戶身份識別功能。
[Device] user-identity enable
# 開啟全局黑名單過濾功能。
[Device] blacklist global enable
# 完成以上配置後,可以通過display blacklist user命令查看已添加的用戶黑名單信息。
[Device] display blacklist user
User name Domain name Type TTL(sec) Dropped
userc Manual 2987 0
如果接收到來自User C的報文,則在50分鍾之內,一律對其進行丟棄處理,50分鍾之後,才進行正常轉發。
網絡管理員通過流量分析發現外部網絡中存在來自網段5.5.5.0/24的一組攻擊者,需要將這組攻擊者的報文在Device上永遠過濾掉。
圖1-14 地址對象組黑名單配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.0.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
[Device] security-zone name dmz
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/3
[Device-security-zone-DMZ] quit
(3) 配置安全策略
# 配置名稱為trust-untrust的安全策略,保證Trust安全域內的主機可以訪問Internet,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.0.0 16
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
# 配置名稱為untrust-dmz的安全策略,保證Internet中的主機可以訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-dmz
[Device-security-policy-ip-2-untrust-dmz] source-zone untrust
[Device-security-policy-ip-2-untrust-dmz] destination-zone dmz
[Device-security-policy-ip-2-untrust-dmz] destination-ip-host 10.1.1.2
[Device-security-policy-ip-2-untrust-dmz] action pass
[Device-security-policy-ip-2-untrust-dmz] quit
[Device-security-policy-ip] quit
(4) 配置地址對象組黑名單功能
# 創建地址對象組obj1,並將5.5.5.0/24加入地址對象組。
[Device] object-group ip address obj1
[Device-obj-grp-ip-obj1] network subnet 5.5.5.0 24
[Device-obj-grp-ip-obj1] quit
# 通過引用地址對象組obj1配置黑名單。
[Device] blacklist object-group obj1
# 開啟全局黑名單過濾功能。
[Device] blacklist global enable
完成以上配置後,Device對來自網段5.5.5.0/24的攻擊者的報文一律進行丟棄處理,除非管理員認為網段5.5.5.0/24不再是攻擊者,通過undo blacklist object-group將其從黑名單中刪除。
網絡管理員需要將外部網絡中的一組網段地址為5.5.5.0/24的用戶報文在Device上永遠放行。
圖1-15 地址組白名單配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.0.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
[Device] security-zone name dmz
[Device-security-zone-DMZ] import interface gigabitethernet 1/0/3
[Device-security-zone-DMZ] quit
(3) 配置安全策略
# 配置名稱為trust-untrust的安全策略,保證Trust安全域內的主機可以訪問Internet,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name trust-untrust
[Device-security-policy-ip-1-trust-untrust] source-zone trust
[Device-security-policy-ip-1-trust-untrust] destination-zone untrust
[Device-security-policy-ip-1-trust-untrust] source-ip-subnet 192.168.0.0 16
[Device-security-policy-ip-1-trust-untrust] action pass
[Device-security-policy-ip-1-trust-untrust] quit
# 配置名稱為untrust-dmz的安全策略,保證Internet中的主機可以訪問Server,具體配置步驟如下。
[Device-security-policy-ip] rule name untrust-dmz
[Device-security-policy-ip-2-untrust-dmz] source-zone untrust
[Device-security-policy-ip-2-untrust-dmz] destination-zone dmz
[Device-security-policy-ip-2-untrust-dmz] destination-ip-host 10.1.1.2
[Device-security-policy-ip-2-untrust-dmz] action pass
[Device-security-policy-ip-2-untrust-dmz] quit
[Device-security-policy-ip] quit
(4) 配置地址對象組白名單功能
# 創建地址對象組obj1,並將5.5.5.0/24加入地址對象組。
[Device] object-group ip address obj1
[Device-obj-grp-ip-obj1] network subnet 5.5.5.0 24
[Device-obj-grp-ip-obj1] quit
# 通過引用地址對象組obj1配置白名單。
[Device] whitelist object-group obj1
# 開啟全局白名單過濾功能。
[Device] whitelist global enable
完成以上配置後,Device對來自網段地址為5.5.5.0/24的用戶報文一律進行放行處理,除非管理員認為這組用戶不再為信任網段,通過undo whitelist object-group將其從白名單中刪除。
在Device上配置TCP客戶端驗證功能,保護內網服務器不會受到外網非法用戶的SYN flood攻擊,並要求在客戶端與服務器之間進行雙向代理。
圖1-16 安全域上的TCP客戶端驗證配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名稱為untrust-trust的安全策略,保證Internet中的主機可以訪問內網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.10
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.11
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.12
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置TCP客戶端驗證功能
# 創建攻擊防範策略a1。
[Device] attack-defense policy a1
# 對所有非受保護IP地址開啟SYN flood攻擊防範檢測。
[Device-attack-defense-policy-a1] syn-flood detect non-specific
# 配置SYN flood攻擊防範的全局觸發閾值為10000。
[Device-attack-defense-policy-a1] syn-flood threshold 10000
# 配置SYN flood攻擊防範的全局處理行為為添加到TCP客戶端驗證的受保護IP列表中以及輸出告警日誌。
[Device-attack-defense-policy-a1] syn-flood action logging client-verify
[Device-attack-defense-policy-a1] quit
# 在安全域Untrust上應用攻擊防範策略a1。
[Device] security-zone name untrust
[Device-security-zone-Untrust] attack-defense apply policy a1
# 在安全域Untrust上開啟TCP客戶端驗證的雙向代理功能。
[Device-security-zone-Untrust] client-verify tcp enable mode syn-cookie
[Device-security-zone-Untrust] quit
# 以上配置完成之後,若有針對服務器的SYN flood攻擊發生時,可以通過display client-verify tcp protected ip命令查看受攻擊的服務器的IP地址被添加為動態受保護IP。
[Device] display client-verify tcp protected ip
IP address VPN instance Port Type Requested Trusted
192.168.1.10 -- any Dynamic 20 12
在Device上配置DNS客戶端驗證功能,保護內網服務器不會受到外網非法用戶的DNS flood攻擊。
圖1-17 安全域上的DNS客戶端驗證配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名稱為untrust-trust的安全策略,保證Internet中的主機可以訪問內網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.10
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.11
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.12
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置DNS客戶端驗證功能
# 創建攻擊防範策略a1。
[Device] attack-defense policy a1
# 對所有非受保護IP地址開啟DNS flood攻擊防範檢測。
[Device-attack-defense-policy-a1] dns-flood detect non-specific
# 配置DNS flood攻擊防範的全局觸發閾值為10000。
[Device-attack-defense-policy-a1] dns-flood threshold 10000
# 配置DNS flood攻擊防範的全局處理行為為添加到DNS客戶端驗證的受保護IP列表中以及輸出告警日誌。
[Device-attack-defense-policy-a1] dns-flood action logging client-verify
[Device-attack-defense-policy-a1] quit
# 在安全域Untrust上應用攻擊防範策略a1。
[Device] security-zone name untrust
[Device-security-zone-Untrust] attack-defense apply policy a1
# 在安全域Untrust 上開啟DNS客戶端驗證功能。
[Device-security-zone-untrust] client-verify dns enable
[Device-security-zone-Untrust] quit
# 以上配置完成之後,若有針對服務器的DNS flood攻擊發生時,可以通過display client-verify dns protected ip命令查看受攻擊的服務器的IP地址被添加為動態受保護IP。
[Device] display client-verify dns protected ip
IP address VPN instance Port Type Requested Trusted
192.168.1.10 -- 53 Dynamic 20 12
在Device上配置HTTP客戶端驗證功能,保護內網服務器不會受到外網非法用戶的HTTP flood攻擊。
圖1-18 安全域上的HTTP客戶端驗證配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名稱為untrust-trust的安全策略,保證Internet中的主機可以訪問內網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.10
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.11
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.12
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置HTTP客戶端驗證功能
# 創建攻擊防範策略a1。
[Device] attack-defense policy a1
# 對所有非受保護IP地址開啟HTTP flood攻擊防範檢測。
[Device-attack-defense-policy-a1] http-flood detect non-specific
# 配置HTTP flood攻擊防範的全局觸發閾值為10000。
[Device-attack-defense-policy-a1] http-flood threshold 10000
# 配置HTTP flood攻擊防範的全局處理行為添加到HTTP客戶端驗證的受保護IP列表中以及輸出告警日誌。
[Device-attack-defense-policy-a1] http-flood action logging client-verify
[Device-attack-defense-policy-a1] quit
# 在安全域Untrust上應用攻擊防範策略a1。
[Device] security-zone name untrust
[Device-security-zone-Untrust] attack-defense apply policy a1
# 在安全域Untrust上開啟HTTP客戶端驗證功能。
[Device-security-zone-Untrust] client-verify http enable
[Device-security-zone-Untrust] quit
# 以上配置完成之後,若有針對服務器的HTTP flood攻擊發生時,可以通過display client-verify http protected ip命令查看受攻擊的服務器的IP地址被添加為動態受保護IP。
[Device] display client-verify http protected ip
IP address VPN instance Port Type Requested Trusted
192.168.1.10 -- 8080 Dynamic 20 12
在Device上配置SIP客戶端驗證功能,保護內網服務器不會受到外網非法用戶的SIP flood攻擊。
圖1-19 安全域上的SIP客戶端驗證配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名稱為untrust-trust的安全策略,保證Internet中的主機可以訪問內網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.10
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.11
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.12
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置SIP客戶端驗證功能
# 創建攻擊防範策略a1。
[Device] attack-defense policy a1
# 對所有非受保護IP地址開啟SIP flood攻擊防範檢測。
[Device-attack-defense-policy-a1] sip-flood detect non-specific
# 配置SIP flood攻擊防範的全局觸發閾值為10000。
[Device-attack-defense-policy-a1] sip-flood threshold 10000
# 配置SIP flood攻擊防範的全局處理行為添加到SIP客戶端驗證的受保護IP列表中以及輸出告警日誌。
[Device-attack-defense-policy-a1] sip-flood action logging client-verify
[Device-attack-defense-policy-a1] quit
# 在安全域Untrust上應用攻擊防範策略a1。
[Device] security-zone name untrust
[Device-security-zone-Untrust] attack-defense apply policy a1
# 在安全域Untrust上開啟SIP客戶端驗證功能。
[Device-security-zone-Untrust] client-verify sip enable
[Device-security-zone-Untrust] quit
# 以上配置完成之後,若有針對服務器的SIP flood攻擊發生時,可以通過display client-verify sip protected ip命令查看受攻擊的服務器的IP地址被添加為動態受保護IP。
[Device] display client-verify sip protected ip
IP address VPN instance Port Type Requested Trusted
192.168.1.10 -- 5060 Dynamic 20 12
在Device上配置閾值學習功能,保護內網服務器不會收到外網非法用戶的SYN flood攻擊。
圖1-20 閾值學習配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名稱為untrust-trust的安全策略,保證Internet中的主機可以訪問內網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.10
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.11
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.12
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置閾值學習功能
# 創建攻擊防範策略a1。
[Device] attack-defense policy a1
# 配置閾值學習時長為60分鍾。
[Device-attack-defense-policy-a1] threshold-learn duration 60
# 配置閾值學習模式為周期學習。
[Device-attack-defense-policy-a1] threshold-learn mode periodic
# 配置閾值學習周期間隔為120分鍾。
[Device-attack-defense-policy-a1] threshold-learn interval 120
# 開啟閾值學習結果自動應用功能。
[Device-attack-defense-policy-a1] threshold-learn auto-apply enable
# 配置流量閾值學習容忍度為100。
[Device-attack-defense-policy-a1] threshold-learn tolerance-value 100
# 開啟流量閾值學習功能。
[Device-attack-defense-policy-a1] threshold-learn enable
# 對所有非受保護IP地址開啟SYN flood攻擊防範檢測。
[Device-attack-defense-policy-a1] syn-flood detect non-specific
# 配置SYN flood攻擊防範的全局處理行為為輸出告警日誌並丟棄攻擊報文。
[Device-attack-defense-policy-a1] syn-flood action drop logging
[Device-attack-defense-policy-a1] quit
# 在安全域Untrust上應用攻擊防範策略a1。
[Device] security-zone name untrust
[Device-security-zone-Untrust] attack-defense apply policy a1
以上配置完成且至少一個學習周期之後,可以通過display attack-defense policy命令查看配置的攻擊防範策略a1應用的SYN flood攻擊防範閾值。
# 查看攻擊防範策略a1的配置信息。
[Device]display attack-defense policy a1
Attack-defense Policy Information
--------------------------------------------------------------------------
Policy name : a1
Applied list : Untrust
--------------------------------------------------------------------------
Exempt IPv4 ACL : Not configured
Exempt IPv6 ACL : Not configured
--------------------------------------------------------------------------
Actions: CV-Client verify BS-Block source L-Logging D-Drop N-None
Signature attack defense configuration:
Signature name Defense Level Actions
Fragment Disabled low L
Impossible Disabled medium L,D
Teardrop Disabled medium L,D
Tiny fragment Disabled low L
IP option abnormal Disabled medium L,D
Smurf Disabled medium L,D
Traceroute Disabled low L
Ping of death Disabled medium L,D
Large ICMP Disabled info L
Max length 4000 bytes
Large ICMPv6 Disabled info L
Max length 4000 bytes
TCP invalid flags Disabled medium L,D
TCP null flag Disabled medium L,D
TCP all flags Disabled medium L,D
TCP SYN-FIN flags Disabled medium L,D
TCP FIN only flag Disabled medium L,D
TCP Land Disabled medium L,D
Winnuke Disabled medium L,D
UDP Bomb Disabled medium L,D
UDP Snork Disabled medium L,D
UDP Fraggle Disabled medium L,D
IP option record route Disabled info L
IP option internet timestamp Disabled info L
IP option security Disabled info L
IP option loose source routing Disabled info L
IP option stream ID Disabled info L
IP option strict source routing Disabled info L
IP option route alert Disabled info L
ICMP echo request Disabled info L
ICMP echo reply Disabled info L
ICMP source quench Disabled info L
ICMP destination unreachable Disabled info L
ICMP redirect Disabled info L
ICMP time exceeded Disabled info L
ICMP parameter problem Disabled info L
ICMP timestamp request Disabled info L
ICMP timestamp reply Disabled info L
ICMP information request Disabled info L
ICMP information reply Disabled info L
ICMP address mask request Disabled info L
ICMP address mask reply Disabled info L
ICMPv6 echo request Disabled info L
ICMPv6 echo reply Disabled info L
ICMPv6 group membership query Disabled info L
ICMPv6 group membership report Disabled info L
ICMPv6 group membership reduction Disabled info L
ICMPv6 destination unreachable Disabled info L
ICMPv6 time exceeded Disabled info L
ICMPv6 parameter problem Disabled info L
ICMPv6 packet too big Disabled info L
IPv6 extension header abnormal Disabled Info L
IPv6 extension header exceeded Disabled Info L
Limit 7
Scan attack defense configuration:
Defense : Disabled
Level : -
Actions : -
Flood attack defense configuration:
Flood type Global thres(pps) Global actions Service ports Non-specific
DNS flood 1000 - 53 Disabled
HTTP flood 1000 - 80 Disabled
SIP flood 1000 - 5060 Disabled
SYN flood 1000 L,D - Enabled
ACK flood 1000 - - Disabled
SYN-ACK flood 1000 - - Disabled
RST flood 1000 - - Disabled
FIN flood 1000 - - Disabled
UDP flood 1000 - - Disabled
ICMP flood 1000 - - Disabled
ICMPv6 flood 1000 - - Disabled
Flood attack defense for protected IP addresses:
Address VPN instance Flood type Thres(pps) Actions Ports
在Device上配置新建會話限速功能,以防止來自外網的DDoS攻擊造成的大量新建連接消耗設備的處理資源,影響正常業務。
圖1-21 新建會話限速配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 192.168.1.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 將接口加入安全域
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/1
[Device-security-zone-Trust] quit
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/2
[Device-security-zone-Untrust] quit
(3) 配置安全策略
# 配置名稱為untrust-trust的安全策略,保證Internet中的主機可以訪問內網服務器,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name untrust-trust
[Device-security-policy-ip-1-untrust-trust] source-zone untrust
[Device-security-policy-ip-1-untrust-trust] destination-zone trust
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.10
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.11
[Device-security-policy-ip-1-untrust-trust] destination-ip-host 192.168.1.12
[Device-security-policy-ip-1-untrust-trust] action pass
[Device-security-policy-ip-1-untrust-trust] quit
[Device-security-policy-ip] quit
(4) 配置新建會話限速功能
# 配置基於源IPv4地址的新建會話限速的閾值為10,處理行為為發送日誌並丟棄報文。
[Device] attack-defense ipcar source ip threshold 10 action logging drop
[Device] interface gigabitethernet 1/0/2
# 開啟基於源IPv4地址的新建會話限速功能。
[Device-GigabitEthernet1/0/2] attack-defense ipcar source ip session-rate-limit enable
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!