10-攻擊檢測與防範配置
本章節下載: 10-攻擊檢測與防範配置 (350.97 KB)
目 錄
攻擊檢測及防範是一個重要的網絡安全特性,它通過分析經過設備的報文的內容和行為,判斷報文是否具有攻擊特征,並根據配置對具有攻擊特征的報文執行一定的防範措施,例如輸出告警日誌或丟棄報文。
設備能夠檢測單包攻擊、掃描攻擊和泛洪攻擊等多種類型的網絡攻擊,並能對各類型攻擊采取合理的防範措施。
單包攻擊也稱為畸形報文攻擊,主要包括以下三種類型:
· 攻擊者通過向目標係統發送帶有攻擊目的的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報文中的異常選項的設置,達到探測網絡結構的目的,也可由於係統缺乏對錯誤報文的處理而造成係統崩潰。 |
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擴展頭的報文對目標主機進行攻擊,目標主機在解析報文時耗費大量資源,從而影響轉發性能。 |
掃描攻擊是指,攻擊者運用掃描工具對網絡進行主機地址或端口的掃描,通過準確定位潛在目標的位置,探測目標係統的網絡拓撲結構和開放的服務端口,為進一步侵入目標係統做準備。
攻擊者發送大量目的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得不到處理。
HTTP服務器收到HTTP GET/POST命令時可能進行一係列複雜的操作,包括字符串搜索、數據庫遍曆、數據組裝、格式化轉換等等,這些操作會消耗大量係統資源,因此當HTTP請求的速率超過了服務器的處理能力時,服務器就無法正常提供服務。攻擊者通過構造並發送大量虛假HTTP GET/POST請求,使服務器崩潰,無法響應正常的用戶請求。
ICMP flood攻擊是指,攻擊者在短時間內向特定目標發送大量的ICMP請求報文(例如ping報文),使其忙於回複這些請求,致使目標係統負擔過重而不能處理正常的業務。
ICMPv6 flood攻擊是指,攻擊者在短時間內向特定目標發送大量的ICMPv6請求報文(例如ping報文),使其忙於回複這些請求,致使目標係統負擔過重而不能處理正常的業務。
UDP flood攻擊是指,攻擊者在短時間內向特定目標發送大量的UDP報文,占用目標主機的帶寬,致使目標主機不能處理正常的業務。
設備的包過濾功能一般是通過判斷TCP首個分片中的五元組(源IP地址、源端口號、目的IP地址、目的端口號、傳輸層協議號)信息來決定後續TCP分片是否允許通過。RFC 1858對TCP分片報文進行了規定,認為TCP分片報文中,首片報文中TCP報文長度小於20字節,或後續分片報文中分片偏移量等於8字節的報文為TCP分片攻擊報文。這類報文可以成功繞過上述包過濾功能,對設備造成攻擊。
為防範這類攻擊,可以在設備上配置TCP分片攻擊防範功能,對TCP分片攻擊報文進行丟棄。
DoS(Denial of Service,拒絕服務)攻擊的目的是使被攻擊對象無法提供正常的網絡服務。Login用戶DoS攻擊是指,攻擊者通過偽造登錄賬戶在短時間內向設備連續發起大量登錄請求,占用係統認證處理資源,造成設備無法處理正常Login用戶的登錄請求。
為防範這類攻擊,可以在設備上配置Login用戶攻擊防範功能,對發起惡意認證並多次嚐試失敗的用戶報文進行丟棄。
字典序攻擊是指攻擊者通過收集用戶密碼可能包含的字符,使用各種密碼組合逐一嚐試登錄設備,以達到猜測合法用戶密碼的目的。
為防範這類攻擊,可以在設備上配置Login用戶延時認證功能,在用戶認證失敗之後,延時期間不接受此用戶的登錄請求。
攻擊檢測與防範配置任務如下:
(1) 配置並應用攻擊防範策略
b. 配置攻擊防範策略
各類型的攻擊防範功能之間沒有先後順序,可根據實際組網需求,配置其中的一種或多種:
c. (可選)配置攻擊防範例外列表
d. 應用攻擊防範策略
請至少選擇其中一項進行配置:
(2) (可選)配置單包攻擊防範日誌的非聚合輸出功能
(3) (可選)配置TCP分片攻擊防範(通常單獨使用)
(4) (可選)配置攻擊排名的Top統計功能
(5) (可選)配置Login用戶攻擊防範(通常單獨使用)
攻擊防範策略主要包括針對攻擊類型指定的檢測條件及采取的防範措施。
在配置攻擊防範之前,必須首先創建一個攻擊防範策略,並進入該攻擊防範策略視圖。在該視圖下,可以定義一個或多個用於檢測攻擊的特征項,以及對檢測到的攻擊報文所采取的防範措施。
攻擊防範的缺省觸發閾值對於現網環境而言可能過小,這會導致用戶上網慢或者網頁打不開等情況,請根據實際網絡環境配置合理的觸發閾值。
(1) 進入係統視圖。
system-view
(2) 創建一個攻擊防範策略,並進入攻擊防範策略視圖。
attack-defense policy policy-name
單包攻擊防範主要通過分析經過設備的報文特征來判斷報文是否具有攻擊性,一般應用在設備連接外部網絡的接口上,且僅對應用了攻擊防範策略的接口上的入方向報文有效。若設備檢測到某報文具有攻擊性,則默認會輸出告警日誌,另外還可以根據配置將檢測到的攻擊報文做丟棄處理。
(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 } ]
¡ 開啟IP擴展頭類型的單包攻擊報文的特征檢測,並設置攻擊防範的處理行為。
signature detect ipv6-ext-header ext-header-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地址的後續報文。
若配置掃描攻擊的處理行為為輸出告警日誌,且端口掃描和地址掃描同時達到掃描閾值,則僅輸出地址掃描的告警日誌。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 開啟指定級別的掃描攻擊防範。
scan detect level { { high | low | medium } | user-defined { port-scan-threshold threshold-value | ip-sweep-threshold threshold-value } * [ period period-value ] } action { drop | logging } *
缺省情況下,掃描攻擊防範處於關閉狀態。
泛洪攻擊防範主要用於保護服務器,通過監測向服務器發起連接請求的速率來檢測各類泛洪攻擊,一般應用在設備連接外部網絡的接口上,且僅對應用了攻擊防範策略的接口上的入方向報文有效。在接口上應用了泛洪攻擊防範策略後,接口處於攻擊檢測狀態,當它監測到向某服務器發送報文的速率持續達到或超過了指定的觸發閾值時,即認為該服務器受到了攻擊,則進入攻擊防範狀態,並根據配置啟動相應的防範措施(輸出告警日誌或對後續新建連接的報文進行丟棄處理)。此後,當設備檢測到向該服務器發送報文的速率低於恢複閾值(觸發閾值的3/4)時,即認為攻擊結束,則由攻擊防範狀態恢複為攻擊檢測狀態,並停止執行防範措施。
在泛洪攻擊防範策略中,閾值是觸發係統執行防範動作的條件,因此,閾值的設置是否合理將直接影響攻擊防範的效果。
· 如果防範閾值設置過低則在沒有發生攻擊時,係統就啟動攻擊防範功能,影響設備性能或者造成正常流量被丟棄。
· 如果防範閾值設置過高則即使發生了攻擊,係統也無法感知,不能及時啟動防範功能。
因此在配置攻擊防範前,應該先了解正常網絡中的流量,然後根據正常網絡中的流量來設置各攻擊類型對應的閾值。在不了解網絡正常流量大小時,可以啟用流量閾值學習功能並根據學習結果進行閾值配置。流量閾值學習功能的原理是:係統對正常網絡環境下的各種流量按時間進行統計,得出此段時間內各種流量的最高值,從而以此為依據計算出各種攻擊類型對應的防範門限值。
閾值學習有單次學習和周期學習兩種學習模式:
· 單次學習:隻進行一次閾值學習。
· 周期學習:按周期學習間隔進行多次閾值學習。其中,周期學習間隔是指從上次學習的結束時間到下次學習開始時間的間隔時間。
開啟閾值學習功能後,會對所有類型的泛洪攻擊進行閾值學習。在周期學習模式下,最新一次的學習結果會覆蓋上一次學習結果。對於學習到的閾值,係統還支持自動應用功能。您可以啟用自動應用功能,也可以選擇隻學習不啟用自動應用功能。
當設備上安裝了多塊業務板時,每種泛洪攻擊防範策略中配置的全局觸發閾值為每塊業務板上的全局觸發閾值,因而整機的該類泛洪攻擊的全局觸發閾值即為每塊業務板上的全局觸發閾值與業務板數目的乘積。
為保護指定IP地址,攻擊防範策略中支持基於IP地址的攻擊防範配置。對於所有非受保護IP地址,可以統一開啟攻擊防範檢測,並采用全局的參數設置來進行保護。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟SYN flood攻擊防範檢測。
syn-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟SYN flood攻擊防範檢測。
(4) 配置SYN flood攻擊防範的全局觸發閾值。
syn-flood threshold threshold-value
缺省情況下,SYN flood攻擊防範的全局觸發閾值為1000。
(5) 配置SYN flood攻擊防範的全局處理行為。
syn-flood action { drop | logging } *
缺省情況下,不對檢測到的SYN flood攻擊采取任何措施。
(6) 開啟對IP地址的SYN flood攻擊防範檢測,並配置觸發閾值和處理行為。
syn-flood detect { ip ipv4-address | ipv6 ipv6-address } [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置SYN flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟ACK flood攻擊防範檢測。
ack-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟ACK flood攻擊防範檢測。
(4) 配置ACK flood攻擊防範全局觸發閾值。
ack-flood threshold threshold-value
缺省情況下,ACK flood攻擊防範的全局觸發閾值為1000。
(5) 配置ACK flood攻擊防範的全局處理行為。
ack-flood action { drop | logging } *
缺省情況下,不對檢測到的ACK flood攻擊采取任何措施。
(6) 開啟對IP地址的ACK flood攻擊防範檢測,並配置觸發閾值和處理行為。
ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置ACK flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟SYN-ACK flood攻擊防範檢測。
syn-ack-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟SYN-ACK flood攻擊防範檢測。
(4) 配置SYN-ACK flood攻擊防範的全局觸發閾值。
syn-ack-flood threshold threshold-value
缺省情況下,SYN-ACK flood攻擊防範的全局觸發閾值為1000。
(5) 配置SYN-ACK flood攻擊防範的全局處理行為。
syn-ack-flood action { drop | logging }*
缺省情況下,不對檢測到的SYN-ACK flood攻擊采取任何措施。
(6) 開啟對IP地址的SYN-ACK flood攻擊防範檢測,並配置觸發閾值和處理行為。
syn-ack-flood detect { ip ipv4-address | ipv6 ipv6-address } [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置SYN-ACK flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟FIN flood攻擊防範檢測。
fin-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟FIN flood攻擊防範檢測。
(4) 配置FIN flood攻擊防範的全局觸發閾值。
fin-flood threshold threshold-value
缺省情況下,FIN flood攻擊防範的全局觸發閾值為1000。
(5) 配置FIN flood攻擊防範的全局處理行為。
fin-flood action { drop | logging } *
缺省情況下,不對檢測到的FIN flood攻擊采取任何措施。
(6) 開啟對IP地址的FIN flood攻擊防範檢測,並配置觸發閾值和處理行為。
fin-flood detect { ip ipv4-address | ipv6 ipv6-address } [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置FIN flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟RST flood攻擊防範檢測。
rst-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟RST flood攻擊防範檢測。
(4) 配置RST flood攻擊防範的全局觸發閾值。
rst-flood threshold threshold-value
缺省情況下,RST flood攻擊防範的全局觸發閾值為1000。
(5) 配置全局的RST flood攻擊防範的全局處理行為。
rst-flood action { drop | logging } *
缺省情況下,不對檢測到的RST flood攻擊采取任何措施。
(6) 開啟對IP地址的RST flood攻擊防範檢測,並配置觸發閾值和處理行為。
rst-flood detect { ip ipv4-address | ipv6 ipv6-address } [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置RST flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IPv4地址開啟ICMP flood攻擊防範檢測。
icmp-flood detect non-specific
缺省情況下,未對任何非受保護IPv4地址開啟ICMP flood攻擊防範檢測。
(4) 配置ICMP flood攻擊防範的全局觸發閾值。
icmp-flood threshold threshold-value
缺省情況下,ICMP flood攻擊防範的全局觸發閾值為1000。
(5) 配置ICMP flood攻擊防範的全局處理動作。
icmp-flood action { drop | logging } *
缺省情況下,不對檢測到的ICMP flood攻擊采取任何措施。
(6) 開啟對IPv4地址的ICMP flood攻擊防範檢測,並配置觸發閾值和處理行為。
icmp-flood detect ip ip-address [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IPv4地址配置ICMP flood 攻擊防範觸發閾值。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IPv6地址開啟ICMPv6 flood攻擊防範檢測。
icmpv6-flood detect non-specific
缺省情況下,未對任何非受保護IPv6地址開啟ICMPv6 flood攻擊防範檢測。
(4) 配置ICMPv6 flood攻擊防範的全局觸發閾值。
icmpv6-flood threshold threshold-value
缺省情況下,ICMPv6 flood攻擊防範的全局觸發閾值為1000。
(5) 配置ICMPv6 flood攻擊防範的全局處理行為。
icmpv6-flood action { drop | logging } *
缺省情況下,不對檢測到的ICMPv6 flood攻擊采取任何防範措施。
(6) 開啟對IPv6地址的ICMPv6 flood攻擊防範檢測,並配置觸發閾值和處理行為。
icmpv6-flood detect ipv6 ipv6-address [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IPv6地址配置ICMPv6 flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟UDP flood攻擊防範檢測。
udp-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟UDP flood攻擊防範檢測。
(4) 配置UDP flood攻擊防範的全局觸發閾值。
udp-flood threshold threshold-value
缺省情況下,UDP flood攻擊防範的全局觸發閾值為1000。
(5) 配置UDP flood攻擊防範檢測的全局處理行為。
udp-flood action { drop | logging } *
缺省情況下,不對檢測到的UDP flood攻擊進行任何處理。
(6) 開啟對IP地址的UDP flood攻擊防範檢測,並配置觸發閾值和處理行為。
udp-flood detect { ip ipv4-address | ipv6 ipv6-address } [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置UDP flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟DNS flood攻擊防範檢測。
dns-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟DNS flood攻擊防範檢測。
(4) 配置DNS flood攻擊防範的全局觸發閾值。
dns-flood threshold threshold-value
缺省情況下,DNS flood攻擊防範的全局觸發閾值為1000。
(5) (可選)配置DNS flood攻擊防範的全局檢測端口號。
dns-flood port port-list
缺省情況下,DNS flood攻擊防範的全局檢測端口號為53。
(6) 配置對DNS flood攻擊防範的全局處理行為。
dns-flood action { drop | logging } *
缺省情況下,不對檢測到的DNS flood攻擊采取任何措施。
(7) 開啟對IP地址的DNS flood攻擊防範檢測,並配置觸發閾值和處理行為。
dns-flood detect { ip ipv4-address | ipv6 ipv6-address } [ port port-list ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置DNS flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 對所有非受保護IP地址開啟HTTP flood攻擊防範檢測。
http-flood detect non-specific
缺省情況下,未對任何非受保護IP地址開啟HTTP flood攻擊防範檢測。
(4) 配置HTTP flood攻擊防範的全局觸發閾值。
http-flood threshold threshold-value
缺省情況下,HTTP flood攻擊防範的全局觸發閾值為1000。
(5) (可選)配置HTTP flood攻擊防範的全局檢測端口號。
http-flood port port-list
缺省情況下,HTTP flood攻擊防範的全局檢測端口號為80。
(6) 配置對HTTP flood攻擊防範的全局處理行為。
http-flood action { drop | logging } *
缺省情況下,不對檢測到的HTTP flood攻擊采取任何措施。
(7) 開啟對IP地址的HTTP flood攻擊防範檢測,並配置觸發閾值和處理行為。
http-flood detect { ip ipv4-address | ipv6 ipv6-address } [ port port-list ] [ threshold threshold-value ] [ action { { drop | logging } * | none } ]
缺省情況下,未對任何指定IP地址配置HTTP flood攻擊防範檢測。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(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
在閾值學習結果自動應用功能開啟時,此命令不生效。
攻擊防範例外列表用於過濾不需要進行攻擊防範檢測的主機報文,與指定的ACL permit規則匹配的報文將不會受到任何類型的攻擊防範檢測。該配置用於過濾某些被信任的安全主機發送的報文,可以有效的減小誤報率,並提高服務器處理效率。例如:攻擊防範功能可能將源IP地址相同,目的地址不同的組播報文(如OSPF、PIM等協議報文)檢測為掃描攻擊,此時可以通過配置例外列表放行組播報文來消除誤報。
例外列表引用的ACL的permit規則中僅源地址、目的地址、源端口、目的端口、協議號和非首片分片標記參數用於匹配報文。
(1) 進入係統視圖。
system-view
(2) 進入攻擊防範策略視圖。
attack-defense policy policy-number
(3) 配置攻擊防範例外列表。
exempt acl [ ipv6 ] { acl-number | name acl-name }
缺省情況下,未配置攻擊防範例外列表。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置在接口上應用攻擊防範策略。
attack-defense apply policy policy-name
缺省情況下,接口上未應用任何攻擊防範策略。
通過在本機應用攻擊防範策略,使已配置的攻擊防範策略對目的地址為本機的報文生效。
可以通過在本機上應用攻擊防範策略提高對目的地址為本機的攻擊報文的處理效率。
當接口和本機均應用了攻擊防範策略時,先進行接口上攻擊防範策略的檢測,若報文未被丟棄,則還會進行本機上攻擊防範策略的檢測。
(1) 進入係統視圖。
system-view
(2) 配置在本機應用攻擊防範策略。
attack-defense local apply policy policy-name
缺省情況下,本機未應用任何攻擊防範策略。
對日誌進行聚合輸出是指,在一定時間內,對在本機或同一個接口上檢測到的相同攻擊類型、相同攻擊防範動作、相同的源/目的地址的單包攻擊的所有日誌聚合成一條日誌輸出。
通常不建議開啟單包攻擊防範的日誌非聚合輸出功能,因為在單包攻擊較為頻繁的情況下,它會導致大量日誌信息輸出,占用控製台的顯示資源。
(1) 進入係統視圖。
system-view
(2) 開啟對單包攻擊防範日誌的非聚合輸出功能。
attack-defense signature log non-aggregate
缺省情況下,單包攻擊防範的日誌信息經係統聚合後再輸出。
設備上開啟TCP分片攻擊防範功能後,能夠對收到的TCP分片報文的長度以及分片偏移量進行合法性檢測,並丟棄非法的TCP分片報文。
如果設備上開啟了TCP分片攻擊防範功能,並應用了單包攻擊防範策略,則TCP分片攻擊防範功能會先於單包攻擊防範策略檢測並處理入方向的TCP報文。
(1) 進入係統視圖。
system-view
(2) 開啟TCP分片攻擊防範功能。
attack-defense tcp fragment enable
缺省情況下,TCP分片攻擊防範功能處於開啟狀態。
開啟了攻擊排名的Top統計功能後,設備將基於攻擊者、被攻擊者和攻擊類型對丟包數量進行統計。用戶可以通過display attack-defense top-attack-statistics命令查看攻擊排名的Top統計信息,以便采取有效的攻擊防範措施。
(1) 進入係統視圖。
system-view
(2) 開啟攻擊排名的Top統計功能。
attack-defense top-attack-statistics enable
缺省情況下,攻擊排名的Top統計功能處於關閉狀態。
Login用戶登錄失敗後,若設備上配置了重新進行認證的等待時長,則係統將會延遲一定的時長之後再允許用戶進行認證,可以有效地避免設備受到Login用戶字典序攻擊。
Login用戶延遲認證功能與Login用戶攻擊防範功能無關,隻要配置了延遲認證等待時間,即可生效。
(1) 進入係統視圖。
system-view
(2) 配置Login用戶登錄失敗後重新進行認證的等待時長。
attack-defense login reauthentication-delay seconds
缺省情況下,Login用戶登錄失敗後重新進行認證不需要等待。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後攻擊檢測及防範的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下,執行reset命令可以清除攻擊檢測及防範的統計信息。
操作 |
命令 |
顯示IPv4 flood攻擊防範統計信息 |
display attack-defense { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } statistics ip [ ip-address ] [ interface interface-type interface-number | local ] [ count ] |
顯示IPv6 flood攻擊防範統計信息 |
display attack-defense { ack-flood | dns-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } statistics ipv6 [ ipv6-address ] [ interface interface-type interface-number | local ] [ count ] |
顯示攻擊防範策略的配置信息 |
display attack-defense policy [ policy-name ] |
顯示flood攻擊防範的IPv4類型的受保護IP表項 |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmp-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ip [ ip-address ] [ count ] |
顯示flood攻擊防範的IPv6類型的受保護IP表項 |
display attack-defense policy policy-name { ack-flood | dns-flood | fin-flood | flood | http-flood | icmpv6-flood | rst-flood | syn-ack-flood | syn-flood | udp-flood } ipv6 [ ipv6-address ] [ count ] |
顯示掃描攻擊者的IPv4地址表項 |
display attack-defense scan attacker ip [ interface interface-type interface-number | local ] [ count ] |
顯示掃描攻擊者的IPv6地址表項 |
display attack-defense scan attacker ipv6 [ interface interface-type interface-number | local ] [ count ] |
顯示接口上的攻擊防範統計信息 |
display attack-defense statistics interface interface-type interface-number |
顯示本機攻擊防範統計信息 |
display attack-defense statistics local |
顯示Top10的攻擊排名統計信息 |
display attack-defense top-attack-statistics { last-1-hour | last-24-hours | last-30-days } [ by-attacker | by-type | by-victim ] |
清除flood攻擊防範受保護IP表項的統計信息 |
reset attack-defense policy policy-name flood protected { ip | ipv6 } statistics |
清除接口上的攻擊防範統計信息 |
reset attack-defense statistics interface interface-type interface-number |
清除本機攻擊防範的統計信息 |
reset attack-defense statistics local |
清除Top10的攻擊排名統計信息 |
reset attack-defense top-attack-statistics |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!