本文為轉載學習並記錄為工具書所用,如有侵權請聯系,我將及時刪除
轉載:http://support.huawei.com/huaweiconnect/enterprise/forum.php?mod=viewthread&tid=410105
目 錄
1 S系列交換機攻擊處理
1.1 如何確定攻擊類型
1.2 根據攻擊類型部署防攻擊手段
1.2.1 ARP攻擊
1.2.1.1 ARP泛洪攻擊
1.2.1.2 ARP欺騙攻擊
1.2.2 ARP-Miss攻擊
1.2.2.1 網段掃描攻擊
1.2.3 DHCP攻擊
1.2.3.1 DHCP Server仿冒攻擊
1.2.3.2 DHCP泛洪攻擊
1.2.3.3 DHCP Server服務拒絕攻擊
1.2.3.4 DHCP報文誤上送
1.2.3.5 DHCP欺騙
1.2.4 ICMP攻擊
1.2.5 TTL攻擊
1.2.6 TCP攻擊
1.2.7 OSPF攻擊
1.2.8 TC攻擊
1.2.9 SSH/Telnet攻擊
1.2.10 VRRP攻擊
1.2.11 IGMP攻擊
1.2.12 PIM攻擊
2 本機防攻擊推薦配置
2.1 框式交換機推薦配置
2.2 盒式交換機推薦配置
3 附錄
3.1 應用防攻擊策略
1 S系列交換機攻擊處理
1.1 如何確定攻擊類型
當設備遭受攻擊時,通常伴隨着如下現象:
- 用戶無法獲取ARP;
- 設備CPU高;
- 用戶上線成功率較低;
- 用戶無法訪問網絡;
- 嚴重時可能導致設備上所有用戶都無法正常訪問網絡。
當大量用戶或固定某個端口下的所有用戶出現上述現象時,可以先通過如下定位手段分析是否為攻擊問題。
步驟 1 執行命令display cpu-usage查看設備CPU占用率的統計信息,CPU Usage表示的是CPU占用率,TaskName表示的是設備當前正在運行的任務名稱。
如果CPU利用率持續較高,並且bcmRX、FTS、SOCK或者VPR任務過高(通常協議報文攻擊會導致這些任務過高),則較大可能是收到的報文過多,接下來需要執行步驟2繼續判斷設備收到的報文類型。
一般情況下,交換機長時間運行時CPU占用率不超過80%,短時間內CPU占用率不超過95%,可認為交換機狀態是正常的。
步驟 2 執行命令display cpu-defend statistics all查看相關協議是否有CPCAR丟包、丟包是否多,並確認現網設備是否放大相關協議的CPCAR值。如果CPCAR存在大量丟包,就基本可以確認現網存在攻擊,根據丟包的協議,采用相關防攻擊措施。具體有哪些常見的丟包協議,請參見表1-1。
表1-1 丟包協議以及相應的防攻擊部署手段
Packet Type |
可以參考的攻擊類型 |
arp-reply、arp-request |
1.2.1 ARP攻擊、1.2.8 TC攻擊 |
arp-miss |
1.2.2 ARP-Miss攻擊 |
dhcp-client、dhcp-server、dhcpv6-reply、dhcpv6-request |
1.2.3 DHCP攻擊 |
icmp |
1.2.4 ICMP攻擊 |
ttl-expired |
1.2.5 TTL攻擊 |
tcp |
1.2.6 TCP攻擊 |
ospf |
1.2.7 OSPF攻擊 |
ssh、telnet |
1.2.9 SSH/Telnet攻擊 |
vrrp |
1.2.10 VRRP攻擊 |
igmp |
1.2.11 IGMP攻擊 |
pim |
1.2.12 PIM攻擊 |
V200R003版本以及之后版本支持端口防攻擊功能,對於V200R003版本以及之后版本,有可能存在這樣的情況:即使Drop計數不再增長,也是有可能存在攻擊的。所以對於V200R003版本以及之后版本,還需要繼續執行步驟3進一步確認丟包協議。
步驟 3 可以通過如下兩種方式確認。
方法一:在診斷視圖中執行命令display auto-port-defend statistics [ slot slot-id ]查看是否有對應協議的丟包。具體有哪些常見的丟包協議,請參見表1-2。
表1-2 丟包協議以及相應的防攻擊部署手段
Protocol |
可以參考的攻擊類型 |
arp-reply、arp-request |
1.2.1 ARP攻擊、1.3.8 TC攻擊 |
arp-miss |
1.2.2 ARP-Miss攻擊 |
dhcp-client、dhcp-server、dhcpv6-reply、dhcpv6-request |
1.2.3 DHCP攻擊 |
icmp |
1.2.4 ICMP攻擊 |
ttl-expired |
1.2.5 TTL攻擊 |
tcp |
1.2.6 TCP攻擊 |
ospf |
1.2.7 OSPF攻擊 |
ssh、telnet |
1.2.9 SSH/Telnet攻擊 |
vrrp |
1.2.10 VRRP攻擊 |
igmp |
1.2.11 IGMP攻擊 |
pim |
1.2.12 PIM攻擊 |
方法二:對於歷史上曾經觸發過端口防攻擊也可以通過日志來確定。日志格式如下,其中AttackProtocol表示的是攻擊報文的協議類型。
SECE/4/PORT_ATTACK_OCCUR:Auto port-defend started.(SourceAttackInterface=[STRING], AttackProtocol=[STRING])
SECE/6/PORT_ATTACK_END:Auto port-defend stop.(SourceAttackInterface=[STRING], AttackProtocol=[STRING])
----結束
1.2 根據攻擊類型部署防攻擊手段
1.2.1 ARP攻擊
1.2.1.1 ARP泛洪攻擊
攻擊簡介
如下圖所示,局域網中用戶通過SwitchA和SwitchB接入連接到Gateway訪問Internet。當網絡中出現過多的ARP報文時,會導致網關設備CPU負載加重,影響設備正常處理用戶的其它業務。另一方面,網絡中過多的ARP報文會占用大量的網絡帶寬,引起網絡堵塞,從而影響整個網絡通信的正常運行。
現象描述
- 網絡設備CPU占有率較高,正常用戶不能學習ARP甚至無法上網。
- Ping不通。
- 網絡設備不能管理。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看ARP臨時表項 |
display arp |
V100R006C05版本以及之后版本 |
查看arp-request的CPCAR計數 |
display cpu-defend statistics packet-type arp-request all |
V100R006C05版本以及之后版本 |
查看攻擊溯源結果 |
display auto-defend attack-source [slot slot-id ] |
V200R003版本以及之后版本 |
步驟 1 執行命令display arp查看受影響用戶的ARP是否學習不到。
如果MAC ADDRESS字段顯示為Incomplete,表示有ARP學習不到,有可能設備遭受ARP攻擊。
步驟 2 由於有未學習到的ARP表項,執行命令display cpu-defend statistics packet-type arp-request all查看上送CPU的ARP-Request報文統計信息,判斷設備是否遭受攻擊,下述回顯發現4號單板上存在大量ARP-Request報文丟包。
該命令可以查看多次,比如1秒執行一次,查看多次執行的結果。如上顯示,如果Drop(Packets)計數增加很快,比如1秒鍾Drop上百個,這說明設備正在遭受ARP攻擊,上送的ARP報文已經超過了設備配置的CPCAR范圍,攻擊ARP報文可能已經擠掉了正常ARP報文,則部分ARP可能學習不到。
步驟 3 確認攻擊源,通過攻擊溯源功能識別攻擊源。
首先在系統視圖下配置防攻擊策略:
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] auto-defend enable [HUAWEI-cpu-defend-policy-policy1] auto-defend attack-packet sample 5 [HUAWEI-cpu-defend-policy-policy1] auto-defend threshold 30 [HUAWEI-cpu-defend-policy-policy1] undo auto-defend trace-type source-portvlan //auto-defend enable后,缺省情況下溯源類型為source-mac、source-ip和source-portvlan,source-portvlan粒度太大,所以去使能source-portvlan [HUAWEI-cpu-defend-policy-policy1] undo auto-defend protocol dhcp icmp igmp tcp telnet ttl-expired udp // auto-defend enable后,缺省情況下攻擊溯源的協議類比較多,這里只保留arp報文攻擊溯源,如果有其它協議也需要攻擊溯源,則不要undo掉
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
最后通過命令display auto-defend attack-source slot 4查看攻擊源的MAC地址。
說明:
識別的MAC中可能包含網關的MAC地址或互連網絡設備的MAC,需要注意剔除。
步驟 3 確認攻擊源,通過攻擊溯源功能識別攻擊源。
----結束
問題根因
- 由於終端中毒頻繁發送大量ARP報文。
- 下掛網絡成環產生大量的ARP報文。
處理步驟
步驟 1 在接口下配置ARP表項限制。
設備支持接口下的ARP表項限制,如果接口已經學習到的ARP表項數目超過限制值,系統不再學習新的ARP表項,但不會清除已經學習到的ARP表項,會提示用戶刪除超出的ARP表項。
配置命令如下:
<HUAWEI> system-view [HUAWEI] interface gigabitethernet 1/0/1 [HUAWEI-GigabitEthernet1/0/1] arp-limit vlan 10 maximum 20
步驟 2 配置針對源IP地址的ARP報文速率抑制的功能。
在一段時間內,如果設備收到某一源IP地址的ARP報文數目超過設定閾值,則不處理超出閾值部分的ARP請求報文。
<HUAWEI> system-view [HUAWEI] arp speed-limit source-ip 10.0.0.1 maximum 50
說明:
缺省情況下,對ARP報文進行時間戳抑制的抑制速率為5pps,即每秒處理5個ARP報文。
步驟 3 根據排查出的攻擊源MAC配置黑名單過濾掉攻擊源發出的ARP報文。
[HUAWEI] acl 4444 [HUAWEI-acl-L2-4444] rule permit l2-protocol arp source-mac 0-0-1 vlan-id 3 [HUAWEI-acl-L2-4444] quit [HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] blacklist 1 acl 4444 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
步驟 4 如果上述配置無法解決,比如源MAC變化或源IP變化的ARP攻擊源來自某台接入設備下掛用戶,在接入側交換機上配置流策略限速,不讓該接入側設備下的用戶影響整個網絡。
[HUAWEI] acl 4445 [HUAWEI-acl-L2-4445] rule permit l2-protocol arp [HUAWEI-acl-L2-4445] quit [HUAWEI] traffic classifier policy1 [HUAWEI-classifier-policy1] if-match acl 4445 [HUAWEI-classifier-policy1] quit [HUAWEI] traffic behavior policy1 [HUAWEI-behavior-policy1] car cir 32 [HUAWEI] traffic policy policy1 [HUAWEI-trafficpolicy-policy1] classifier policy1 behavior policy1 [HUAWEI] interface GigabitEthernet 1/0/1 [HUAWEI-GigabitEthernet1/0/1] traffic-policy policy1 inbound
----結束
1.2.1.2 ARP欺騙攻擊
攻擊簡介
如圖1-2所示,局域網中UserA、UserB、UserC等用戶通過Switch接入連接到Gateway訪問Internet。
圖1-1 ARP欺騙攻擊組網
正常情況下,UserA、UserB、UserC上線之后,通過相互之間交互ARP報文,UserA、UserB、UserC和Gateway上都會創建相應的ARP表項。此時,如果有攻擊者Attacker通過在廣播域內發送偽造的ARP報文,篡改Gateway或者UserA、UserB、UserC上的ARP表項,Attacker可以輕而易舉地竊取UserA、UserB、UserC的信息或者阻礙UserA、UserB、UserC正常訪問網絡。
現象描述
局域網內用戶時通時斷,無法正常上網。網絡設備會經常脫管,網關設備會打印大量地址沖突的告警。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看日志信息 |
display logbuffer |
V100R006C05版本以及之后版本 |
- 交換機做網關,如果攻擊源發送假冒網關的ARP報文經過網關交換機時,報文會上送交換機的CPU處理,交換機在檢測到網關沖突的同時記錄日志。
執行命令display logbuffer查看日志信息。日志信息如下所示,其中MacAddress代表攻擊者的MAC地址。
ARP/4/ARP_DUPLICATE_IPADDR:Received an ARP packet with a duplicate IP address from the interface. (IpAddress=[IPADDR], InterfaceName=[STRING], MacAddress=[STRING])
根據日志信息記錄的攻擊者的MAC地址查找MAC地址表,從而獲取到攻擊源所在的端口,通過網絡進一步排查,進一步定位出攻擊源,查看是否中毒所致。
- 交換機做網關,如果攻擊源發送假冒網關的ARP報文不經過網關交換機,直接在交換機的下游轉發到用戶,則需要在下層網絡排查。例如,可以在終端上使用報文解析工具(比如wireshark)解析網關回應的ARP報文,如果解析出來的MAC地址不是網關的MAC地址,則代表終端遭遇攻擊,其中解析出來的MAC地址即為攻擊者MAC地址。如果解析出來的mac是網關的MAC地址,但是IP不是網關IP,則是模擬網關的MAC攻擊,接入交換機上應該會有MAC漂移,根據漂移端口排查攻擊源。
問題根因
- 終端中毒。
- 攻擊者將主機地址設為網關地址。
處理步驟
方法 |
優點 |
缺點 |
配置黑名單 |
基於黑名單丟棄上送CPU的報文 |
需先查到攻擊源 |
配置黑洞MAC |
丟棄該攻擊源發的所有報文,包括轉發的報文 |
需先查到攻擊源 |
配置防網關沖突攻擊功能 |
收到具有相同源MAC地址的報文直接丟棄 |
需本設備做網關 |
- 方法一:可以在用戶允許的情況下,直接在交換機上配置黑名單過濾攻擊源的源MAC地址。
[HUAWEI] acl 4444 [HUAWEI-acl-L2-4444] rule permit l2-protocol arp source-mac 1-1-1 [HUAWEI-acl-L2-4444] quit [HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] blacklist 1 acl 4444
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 方法二:更嚴厲的懲罰措施可以將攻擊者的MAC配置成黑洞MAC,徹底不讓該攻擊者上網。
[HUAWEI] mac-address blackhole 1-1-1 vlan 3
- 方法三:可以在交換機上配置防網關沖突功能(該功能要求交換機必須做網關),ARP網關沖突防攻擊功能使能后,系統生成ARP防攻擊表項,在后續一段時間內對收到具有相同源MAC地址的報文直接丟棄,這樣可以防止與網關地址沖突的ARP報文在VLAN內廣播。
[HUAWEI] arp anti-attack gateway-duplicate enable
1.2.2 ARP-Miss攻擊
1.2.2.1 網段掃描攻擊
攻擊簡介
當交換機需要轉發三層報文時,如果目的地址是和其直連的,且在設備上沒有目的地址的ARP表項,就會觸發一個ARP Miss消息,由設備發送ARP請求到目的地址,以便學習ARP,當學習到ARP后,報文便可以直接轉發到目的地址。
大量的網段掃描報文會產生大量的ARP Miss消息,導致交換機的資源浪費在處理ARP Miss消息上,影響交換機對其他業務的處理,形成掃描攻擊。
現象描述
當設備遭受ARP Miss消息攻擊時,出現設備CPU占有率較高,有大量的臨時ARP表項,CPCAR存在ARP Miss丟包,Ping有時延或Ping不通的現象,業務方面會發生用戶掉線、用戶上網慢、設備脫管、甚至業務中斷等現象。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type arp-miss { slot slot-id } |
V100R006C05版本以及之后版本 |
查看ARP臨時表項 |
display arp |
V100R006C05版本以及之后版本 |
- 清除上送CPU的ARP Miss報文統計計數。
<HUAWEI> reset cpu-defend statistics packet-type arp-miss all
- 等待1分鍾后,查看這段時間內上送CPU的ARP Miss數量。
- 查看設備上是否有大量的ARP臨時表項,如果存在大量(大概15個或者15個以上)的MAC ADDRESS字段為Incomplete的臨時表項,也可以認為是ARP Miss攻擊。
問題根因
設備收到大量的ARP Miss消息常見的原因有兩種:
- 存在網段掃描攻擊,可以通過獲取報文或者通過display arp anti-attack arpmiss-record-info命令來查看攻擊源。
- 設備收到TC消息,導致ARP表項老化,設備出現大量的ARP Miss消息。對於TC消息導致的ARP Miss攻擊,防范手段參考1.3.8 TC攻擊。
處理步驟
方法 |
優點 |
缺點 |
降低ARP Miss消息的CPCAR值 |
可以快速降低報文上送 |
可能正常的ARP Miss消息被誤丟棄。 |
設置ARP假表老化時間 |
針對具體目的地址進行抑制,在老化時間內不觸發ARP Miss消息 |
要選擇合適的老化時間。 |
配置ARP Miss源抑制 |
針對具體源地址進行抑制,在block時間內不上送ARP Miss消息 |
需要配置白名單,防止網絡側的設備被懲罰。 |
配置黑名單丟棄指定攻擊源 |
可以基於全局、單板應用,丟棄攻擊報文 |
攻擊消除后也無法訪問設備。 |
- 可以通過調整ARP Miss的CPCAR值來緩解CPU過高問題。
<HUAWEI> system-view [HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] car packet-type arp-miss cir 64 [HUAWEI-cpu-defend-policy-policy1] quit [HUAWEI] cpu-defend-policy policy1 global
此方法只能緩解CPU過高問題,但無法解決用戶上線慢等問題。
- 可以通過延長ARP假表老化時間來緩解CPU過高問題。當IP報文觸發ARP Miss后,交換機會發送ARP請求進行探測,同時生成臨時的ARP表項,將后續發送到此IP的數據報文直接丟棄,以免造成對CPU的沖擊。當交換機收到ARP回應后,會將此臨時的ARP表項修正,如果在規定的時間內未收到ARP回應,則將該臨時表項刪除,后續的IP報文即可繼續觸發上述ARP Miss流程。
<HUAWEI> system-view [HUAWEI] interface Vlanif 500 [HUAWEI-Vlanif500] arp-fake expire-time 30 //默認時間為30s
設置過大的假表老化時間,可能會導致ARP學習不實時,進而導致數據流量丟失。
- 配置基於源IP的ARP Miss限速,系統會自動識別超過速率的源IP且會自動下發ACL進行懲罰,默認情況下,所有IP地址的ARP Miss源抑制速率為30pps,默認懲罰時間為5秒。建議對網絡側的地址進行放通,防止被懲罰。
<HUAWEI> system-view [HUAWEI] arp-miss speed-limit source-ip maximum 10 //一個源IP最多產生arp-miss速率為10pps,缺省為30pps [HUAWEI] arp-miss speed-limit source-ip 1.1.1.1 maximum 200 //對上行的網絡側地址放行,防止誤懲罰
可以通過命令display arp anti-attack arpmiss-record-info查看攻擊源。
此命令會自動下發基於源IP的ARP Miss懲罰ACL,若不再需要其上送控制平面,則可以通過cpu-defend policy中配置黑名單功能徹底終結該源的攻擊。
1.2.3 DHCP攻擊
1.2.3.1 DHCP Server仿冒攻擊
攻擊簡介
由於DHCP Server和DHCP Client之間沒有認證機制,所以如果在網絡上隨意添加一台DHCP服務器,它就可以為客戶端分配IP地址以及其他網絡參數。如果該DHCP服務器為用戶分配錯誤的IP地址和其他網絡參數,將會對網絡造成非常大的危害。
如圖1-1所示,DHCP Discover報文是以廣播形式發送,無論是合法的DHCP Server,還是非法的DHCP Server都可以接收到DHCP Client發送的DHCP Discover報文。
圖1-1 DHCP Client發送DHCP Discover報文示意圖
如果此時DHCP Server仿冒者回應給DHCP Client仿冒信息,如錯誤的網關地址、錯誤的DNS(Domain Name System)服務器、錯誤的IP等信息,如圖1-2所示。DHCP Client將無法獲取正確的IP地址和相關信息,導致合法客戶無法正常訪問網絡或信息安全受到嚴重威脅。
圖1-2 DHCP Server仿冒者攻擊示意圖
現象描述
DHCP Client無法獲取到正確的IP地址,用戶無法正常訪問網絡。
定位思路
一般在業務部署的時候,防DHCP Server仿冒攻擊就應該考慮。很少等到問題發生了才部署防DHCP Server仿冒攻擊。如果出現該類問題,一般可以查看客戶端DHCP相關信息,來確定問題原因。
問題根因
DHCP申請IP地址的交互流程中,客戶端發送的是廣播報文。如圖1-2所示,仿冒的DHCP服務器可以截獲DHCP Client發送的請求報文,為DHCP Client分配地址。
處理步驟
方法 |
優點 |
缺點 |
配置DHCP Snooping |
常用方法,配置簡單 |
報文上送CPU,可能導致CPU利用率變高 |
配置流策略 |
報文不用上送CPU處理 |
配置復雜,需要ACL資源支持 |
方法一:通過DHCP Snooping來控制DHCP請求跟應答報文的交互,防止仿冒的DHCP服務器為DHCP Client分配IP地址以及其他配置信息。
- 全局使能DHCP Snooping業務
<HUAWEI> system-view
[HUAWEI] dhcp enable
[HUAWEI] dhcp snooping enable
- 用戶側端口配置DHCP Snooping功能,DHCP Snooping也可以在VLAN內配置,可以根據需要進行選擇
[HUAWEI] interface GigabitEthernet 8/0/1 [HUAWEI-GigabitEthernet8/0/1] dhcp snooping enable
- 連接DHCP服務器的端口配置成信任端口
[HUAWEI] interface GigabitEthernet 8/0/10 [HUAWEI-GigabitEthernet8/0/10] dhcp snooping trusted
方法二:DHCP Snooping是通過控制DHCP報文的轉發來防止DHCP Server仿冒攻擊。我們可以通過流策略達到同樣的效果。只允許DHCP請求報文向信任口轉發,只允許DHCP回應報文從信任口收到並轉發。
- 配置ACL匹配DHCP回應報文
[HUAWEI] acl 3001 [HUAWEI-acl-adv-3001] rule permit udp destination-port eq bootpc
配置兩個流策略,一個丟棄DHCP回應報文,一個允許DHCP回應報文轉發,將丟棄的流策略應用到VLAN,將允許轉發的流策略應用到連接DHCP Server方向的端口,利用流策略在端口應用的優先級高於在VLAN中應用,來實現只接收並轉發從DHCP Server方向過來的DHCP回應報文的目的。
[HUAWEI] traffic classifier bootpc_dest [HUAWEI-classifier-bootpc_dest] if-match acl 3001 [HUAWEI-classifier-bootpc_dest] quit [HUAWEI] traffic behavior deny [HUAWEI-behavior-deny] deny [HUAWEI-behavior-deny] quit [HUAWEI] traffic behavior permit [HUAWEI-behavior-permit] permit [HUAWEI-behavior-permit] quit [HUAWEI] traffic policy bootpc_dest_permit [HUAWEI-trafficpolicy-bootpc_dest_permit] classifier bootpc_dest behavior permit //配置允許DHCP回應報文轉發的流策略 [HUAWEI-trafficpolicy-bootpc_dest_permit] quit [HUAWEI] traffic policy bootpc_dest_deny [HUAWEI-trafficpolicy-bootpc_dest_deny] classifier bootpc_dest behavior deny //配置DHCP回應報文丟棄的流策略 [HUAWEI-trafficpolicy-bootpc_dest_deny] quit [HUAWEI] interface GigabitEthernet 8/0/10 [HUAWEI-GigabitEthernet8/0/10] traffic-policy bootpc_dest_permit inbound //將允許DHCP回應報文的流策略應用在信任端口上 [HUAWEI-GigabitEthernet8/0/10] quit [HUAWEI] vlan 172 [HUAWEI-vlan172] traffic-policy bootpc_dest_deny inbound //將丟棄DHCP回應報文的流策略應用在VLAN中 [HUAWEI-vlan172] quit
- 下述配置是可選的配置。
配置ACL匹配DHCP請求報文
[HUAWEI] acl 3000 [HUAWEI-acl-adv-3000] rule permit udp source-port eq bootpc
配置兩個流策略,一個丟棄DHCP請求報文,一個允許DHCP請求報文轉發,將丟棄的流策略應用到VLAN,將允許轉發的流策略應用到連接DHCP Server方向的端口,利用流策略在端口應用的優先級高於在VLAN中應用,來實現將DHCP請求報文只往DHCP Server轉發的目的。
[HUAWEI] traffic classifier bootpc_src [HUAWEI-classifier-bootpc_src] if-match acl 3000 [HUAWEI-classifier-bootpc_src] quit [HUAWEI] traffic behavior deny [HUAWEI-behavior-deny] deny [HUAWEI-behavior-deny] quit [HUAWEI] traffic behavior permit [HUAWEI-behavior-permit] permit [HUAWEI-behavior-permit] quit [HUAWEI] traffic policy bootpc_src_permit [HUAWEI-trafficpolicy-bootpc_src_permit] classifier bootpc_src behavior permit //配置允許DHCP請求報文轉發的流策略 [HUAWEI-trafficpolicy-bootpc_src_permit] quit [HUAWEI] traffic policy bootpc_src_deny [HUAWEI-trafficpolicy-bootpc_src_deny] classifier bootpc_src behavior deny //配置DHCP請求報文丟棄的流策略 [HUAWEI-trafficpolicy-bootpc_src_deny] quit [HUAWEI] interface GigabitEthernet 8/0/10 [HUAWEI-GigabitEthernet8/0/10] traffic-policy bootpc_src_permit outbound //將允許DHCP請求報文轉發的流策略應用在信任端口的出方向 [HUAWEI-GigabitEthernet8/0/10] quit [HUAWEI] vlan 172 [HUAWEI-vlan172] traffic-policy bootpc_src_deny outbound //將丟棄DHCP請求報文的流策略應用在VLAN的出方向 [HUAWEI-vlan172] quit
1.2.3.2 DHCP泛洪攻擊
攻擊簡介
泛洪攻擊又叫DoS攻擊,即拒絕服務攻擊(DoS,Denial of Service),是指向設備發送大量的連接請求,占用設備本身的資源,嚴重的情況會造成設備癱機,一般情況下也會使設備的功能無法正常運行。因為主要是針對服務器的,目的是使服務器拒絕合法用戶的請求,所以叫拒絕服務攻擊。
現象描述
交換機部署DHCP Snooping、DHCP Relay或者DHCP Server業務時,設備出現CPU高,用戶上線慢等現象。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU利用率 |
display cpu-usage [ slave | slot slot-id ] |
V100R006C05版本以及之后版本 |
查看CPU-Defend統計計數 |
display cpu-defend statistics [ packet-typepacket-type ] { all | slot slot-id | mcu } |
V100R006C05版本以及之后版本 |
查看端口防攻擊統計計數 |
display auto-port-defend statistics [ slotslot-id ] |
V200R003版本以及之后版本 |
配置攻擊溯源 |
auto-defend enable |
V100R006C05版本以及之后版本 |
查看攻擊溯源信息 |
display auto-defend attack-source detail |
V100R006C05版本以及之后版本 |
查看DHCP報文統計信息 |
display dhcp statistics |
V100R006C05版本以及之后版本 |
查看DHCP中繼的相關報文統計信息 |
display dhcp relay statistics |
V100R006C05版本以及之后版本 |
查看DHCP Server統計計數 |
display dhcp server statistics |
V100R006C05版本以及之后版本 |
查看DHCP報文處理速率 |
display dhcp packet process statistics |
V100R006C05版本以及之后版本 |
- 執行命令display cpu-usage查看任務運行情況,找出占用CPU較高的任務,通常DoS攻擊會導致bcmRX、FTS或者SOCK任務過高。
- 執行命令display cpu-defend statistics查看CPU收包統計,判斷是否存在過多由於來不及處理而丟棄的協議報文,對於DHCP協議攻擊可以查看dhcp-server、dhcp-client、dhcpv6-request、dhcpv6-
- 查看端口防攻擊的收包統計,從V200R003以及之后版本支持端口防攻擊功能,對於DHCP協議報文,還需要查看端口防攻擊的統計信息,查看是否存在DHCP協議報文的丟包。
根據任務或CPU收包統計確定是否出現過多的某種協議報文。
如果判斷出某種協議報文過多,根據用戶的組網判斷是否可能出現這么多的協議報文,如果用戶組網不可能出現這么多協議報文,則可基本判斷為協議報文的攻擊。
- 對於DoS攻擊,大多數的攻擊者的源IP或者源MAC是固定的。可以通過部署攻擊溯源來查看是否存在攻擊(攻擊溯源在V200R009已經默認開啟)。
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] auto-defend enable [HUAWEI-cpu-defend-policy-policy1] auto-defend attack-packet sample 5 [HUAWEI-cpu-defend-policy-policy1] auto-defend threshold 30 [HUAWEI-cpu-defend-policy-policy1] auto-defend trace-type source-mac source-ip [HUAWEI-cpu-defend-policy-policy1] auto-defend protocol dhcp [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
等待一分鍾后,查看是否存在攻擊源。
- 根據設備上使能的DHCP相關功能,執行命令display dhcp packet process statistics查看對應的計數是否快速增加。
問題根因
對於DHCP報文的DoS攻擊,主要的原因有:
- 用戶終端中毒。
- 網絡環路。
處理步驟
方法 |
優點 |
缺點 |
攻擊溯源 |
針對特定的用戶進行懲罰 |
需要消耗ACL資源 |
軟件限速 |
可以基於全局、VLAN和接口進行限制 |
可能無法有效降低CPU利用率 |
- 方法一:通過攻擊溯源對攻擊用戶進行懲罰。
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] auto-defend enable [HUAWEI-cpu-defend-policy-policy1] auto-defend attack-packet sample 5 [HUAWEI-cpu-defend-policy-policy1] auto-defend threshold 30 [HUAWEI-cpu-defend-policy-policy1] undo auto-defend trace-type source-portvlan [HUAWEI-cpu-defend-policy-policy1] undo auto-defend protocol tcp ttl-expired //此處可以對指定的協議進行溯源,不需要溯源的協議可以去使能 [HUAWEI-cpu-defend-policy-policy1] auto-defend whitelist 1 interface GigabitEthernet 8/0/10 //此處將上行口放在白名單中,防止誤懲罰 [HUAWEI-cpu-defend-policy-policy1] auto-defend action deny [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 方法二:通過對DHCP報文的處理速率進行限制,可以根據需要在系統視圖,VLAN視圖或者接口視圖配置對DHCP報文上送DHCP報文處理單元的速率進行檢測功能。下面以VLAN視圖下為例:
[HUAWEI] vlan 10 [HUAWEI-vlan10] dhcp snooping check dhcp-rate enable [HUAWEI-vlan10] dhcp snooping check dhcp-rate 80 [HUAWEI-vlan10] quit
1.2.3.3 DHCP Server服務拒絕攻擊
攻擊簡介
如圖1-4所示,若設備接口if1下存在大量攻擊者惡意申請IP地址,會導致DHCP Server中IP地址快速耗盡而不能為其他合法用戶提供IP地址分配服務。
另一方面,DHCP Server通常僅根據DHCP Request報文中的CHADDR(Client Hardware Address)字段來確認客戶端的MAC地址。如果某一攻擊者通過不斷改變CHADDR字段向DHCP Server申請IP地址,同樣將會導致DHCP Server上的地址池被耗盡,從而無法為其他正常用戶提供IP地址。
圖1-4 DHCP Server服務拒絕攻擊示意圖
現象描述
DHCP Server地址池已經分配完,用戶無法申請地址。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看地址池占用情況 |
display ip pool |
V100R006C05版本以及之后版本 |
查看綁定表信息 |
display dhcp snooping user-bind all |
V100R006C05版本以及之后版本 |
- 執行命令display ip pool查看DHCP Server的地址池使用情況,跟實際用戶規模進行對比,地址池中是否存在MAC地址遞變等情況,確認是否存在DHCP Server服務拒絕攻擊,一般來說正常用戶的MAC不大。
- 如果接入設備部署DHCP Snooping業務,是否存在某個VLAN或者某個端口上的用戶特別多,是否存在源MAC遞變等情況。
問題根因
- 用戶終端中毒。
處理步驟
為了防止某些端口的DHCP用戶惡意申請IP地址,可配置接口允許學習的DHCP Snooping綁定表項的最大個數來控制上線用戶的個數,當用戶數達到該值時,則任何用戶將無法通過此接口成功申請到IP地址。為了防止攻擊者不斷改變DHCP Request報文中的CHADDR字段進行攻擊,可使能檢測DHCP Request報文幀頭MAC地址與DHCP數據區中CHADDR字段是否相同的功能,相同則轉發報文,否則丟棄。
方法 |
優點 |
缺點 |
限制用戶數目 |
可以基於全局、VLAN和接口進行限制 |
報文需要上送CPU處理 |
對報文進行合法性檢查 |
可以基於全局、VLAN和接口進行配置 |
報文需要上送CPU處理。該方法依賴於首次綁定表建立的正確性 |
- 設置DHCP允許學習的DHCP Snooping綁定表項的最大個數,可以根據實際情況在接口、VLAN或者系統視圖下配置。
[HUAWEI] dhcp enable [HUAWEI] dhcp snooping enable //全局使能DHCP Snooping功能 [HUAWEI] interface GigabitEthernet 8/0/1 [HUAWEI-GigabitEthernet8/0/1] dhcp snooping enable [HUAWEI-GigabitEthernet8/0/1] dhcp snooping max-user-number 10 //對端口上的DHCP用戶進行限制
- 使能對報文的CHADDR字段進行檢查以及告警功能,可根據實際情況在系統視圖、VLAN視圖或接口視圖下進行配置。
[HUAWEI] dhcp enable [HUAWEI] dhcp snooping enable //全局使能DHCP Snooping功能 [HUAWEI] interface GigabitEthernet 8/0/1 [HUAWEI-GigabitEthernet8/0/1] dhcp snooping check dhcp-chaddr enable [HUAWEI-GigabitEthernet8/0/1] dhcp snooping alarm dhcp-chaddr enable [HUAWEI-GigabitEthernet8/0/1] dhcp snooping check dhcp-request enable [HUAWEI-GigabitEthernet8/0/1] dhcp snooping alarm dhcp-request enable
1.2.3.4 DHCP報文誤上送
攻擊簡介
設備使能DHCP功能后,某些DHCP報文是基於端口或者基於全局上送的,導致一些不必要的DHCP報文上送CPU,由此可能造成CPU利用率升高或者DHCP業務受損。
現象描述
當出現DHCP報文誤上送時,會出現如下現象:
- 報文誤上送,導致CPU高。
- 報文誤上送,占用正常DHCP報文的帶寬或者處理資源,影響用戶無法正常上線和下線。
定位思路
- 配置ACL匹配DHCP報文特征。
[HUAWEI] acl 3000 [HUAWEI-acl-adv-3000] rule permit udp destination-port eq bootpc
- 通過capture-packet cpu命令捕獲上送到CPU的報文,如果抓到上送的DHCP報文,但是對應的VLAN未使能DHCP相關業務,則說明存在DHCP報文誤上送的情況。
[HUAWEI] capture-packet cpu acl 3000 destination terminal packet-num 10
問題根因
DHCP的報文上送規則是基於端口或者基於全局的,所以會導致某些VLAN內的報文出現誤上送的情況。
處理步驟
方法 |
優點 |
缺點 |
配置VLAN內協議報文透傳功能 |
可以基於VLAN二層透傳不需要上送CPU的協議報文 |
1. 只有框式和盒式HI系列支持該功能。 2. 首先需要知道有哪些VLAN內存在DHCP報文。 3. 如果VLAN很多,則配置繁瑣。 |
配置流策略替代DHCP Snooping功能 |
避免報文上送導致CPU高 |
配置繁瑣 |
- 方法一:可以在不需要處理協議報文的VLAN中,部署VLAN內協議報文透傳功能,此時這些VLAN的協議報文不會再上送CPU處理,而是直接透傳轉發到其他設備進行處理,可以提高轉發速度和效率。支持透傳的協議報文類型有:CFM/ARP/BFD/DHCP/DHCPV6/HTTP/IGMP/MLD/ND/PIM/PIMv6/PPPoE/TACACS。
[HUAWEI] vlan 10 [HUAWEI-vlan10] protocol-transparent
- 方法二:對於使能DHCP Snooping功能導致的DHCP報文誤上送的情況,可以考慮通過流策略的方式來達到DHCP Snooping的功能,可以避免DHCP報文誤上送CPU,而導致CPU高的情況,具體的配置方式可以參考1.3.3.1 DHCP Server仿冒攻擊章節。
1.2.3.5 DHCP欺騙
攻擊簡介
在DHCP網絡環境中,若攻擊者仿冒合法用戶的DHCP Request報文發往DHCP Server來續租IP地址,將會導致用戶的IP地址租約到期之后不能夠及時釋放,以致合法用戶無法使用該IP地址。
現象描述
用戶異常下線。
定位思路
如果存在DHCP欺騙攻擊,可以使能對DHCP報文進行綁定表匹配檢查的功能以及DHCP Snooping告警功能。
問題根因
用戶終端中毒或者網絡攻擊。
處理步驟
在系統視圖、VLAN視圖或接口視圖下使能對DHCP報文進行綁定表匹配檢查以及DHCP Snooping告警功能。下面以在接口視圖下配置為例:
[HUAWEI] dhcp enable [HUAWEI] dhcp snooping enable //全局使能DHCP Snooping功能 [HUAWEI] interface GigabitEthernet 8/0/1 [HUAWEI-GigabitEthernet8/0/1] dhcp snooping enable [HUAWEI-GigabitEthernet8/0/1] dhcp snooping check dhcp-request enable //對端口上的DHCP報文進行檢查 [HUAWEI-GigabitEthernet8/0/1] dhcp snooping alarm dhcp-request enable
1.2.4 ICMP攻擊
攻擊簡介
由於現網的一些交換機處於核心層的位置,所以一般會做網關,對於網關來講,需要對正常用戶的Ping報文進行回應,但是交換機的CPU的處理能力是有限的,在一定時間內可以處理的Ping報文的數量也是有限的,一旦某些非法用戶利用這個漏洞去攻擊網關,使用一些軟件或控制大量主機同時去Ping網關交換機,這樣對交換機來說也許短時間內影響不會很大,但是如果持續比較長的時間的話,必然會導致網關的CPU偏高,對於處理不過來的Ping報文進行丟棄,但是由於網關無法區分哪些Ping包應該丟棄,哪些Ping包需要立即進行處理。所以這個時候正常的用戶與網關就會失去聯系,會導致一些合法用戶掉線。
現象描述
- 網絡中存在通過工具進行網段掃描或者其他方式向設備發送大量Ping測試,交換機收到大量的ICMP報文上送CPU處理,使CPU占用率大大提高,導致其他業務功能異常。
- 用戶側通過指定ICMP報文長度進行超長包Ping測試,有可能超過設備CPCAR,導致出現Ping測試結果丟包。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type icmp all |
V100R006C05版本以及之后版本 |
查看ICMP報文限速 |
display current-configuration | include icmp |
V100R006C05版本以及之后版本 |
查看ICMP泛洪攻擊 |
display anti-attack statistics |
V100R006C05版本以及之后版本 |
- 執行命令display cpu-defend statistics packet-type icmp all查看CPU-Defend計數里面是否存在ICMP協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
- 查看設備上是否配置ICMP報文限速,如果有icmp rate-limit enable配置,可能會引起Ping丟包。
- 查看設備上ICMP泛洪攻擊是否有丟棄。
問題根因
- ICMP攻擊導致過多ICMP報文上送引起設備CPU升高。
- 設備ICMP防攻擊或者CPCAR配置導致引起Ping丟包。
處理步驟
- 設備CPU高的情況下,配置黑名單過濾ICMP報文
- 識別攻擊源
V100R006C05版本需要使用鏡像獲取報文,然后通過報文解析工具,比如wireshark解析獲取到的報文。V100R006C05之后版本可以使用capture-packet cpu命令獲取上送CPU的Ping報文。
以使用capture-packet cpu命令獲取上送CPU的Ping報文為例,識別出攻擊源報文的源IP為172.22.189.62、目的IP為172.22.189.61。
下述回顯中的ac 16 bd 3e代表的是源IP,轉換為10進制的IP地址即為172.22.189.62。ac 16 bd 3d代表的是目的IP,轉換為10進制的IP地址即為172.22.189.61。
-
- 識別出攻擊源后,通過黑名單方式過濾掉過多的ICMP報文,防止CPU過高或者影響正常Ping報文處理。
[HUAWEI] acl number 3334 [HUAWEI-acl-basic-3334] rule 5 permit icmp source 172.22.189.62 0 destination 172.22.189.61 0 [HUAWEI-acl-basic-3334] quit [HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] blacklist 1 acl 3334 [HUAWEI-cpu-defend-policy-policy1] quit
-
- Ping快回功能有利於減輕主控板CPU負載,如果主控板CPU過高,可以使能Ping快回降低主控板CPU占用率,盒式交換機在V1R6C05版本及之后默認使能Ping快回,框式交換機在V2R10及之后版本默認使能Ping快回。
<HUAWEI> system-view
[HUAWEI] icmp-reply fast
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 在CPU占用率不高的情況下,當Ping丟包時,可以通過調整ICMP協議CPCAR解決,通常情況下,CPCAR配置為256,如果在設備CPU使用率不高的情況下,仍然有丟包,可以適當調大該值。
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] car packet-type icmp cir 256 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
1.2.5 TTL攻擊
攻擊簡介
IP報文每經過一次轉發TTL會自動減1,當設備短時間內收到大量TTL小於等於1的IP報文時,網絡中可能存在路由環路,導致IP報文無法正常轉發。
現象描述
部分三層業務流量不通、設備CPU升高。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type ttl-expired all |
V100R006C05版本以及之后版本 |
通過display cpu-defend statistics packet-type ttl-expired all查看CPU-Defend計數里面是否存在ttl-expired協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
問題根因
一般情況下網絡中出現路由環路時,會導致設備收到大量TTL耗盡的報文。
處理步驟
- 在設備CPU占用率升高的情況下,通過調小ttl-expired報文CPCAR,減小上送CPU的報文,TTL耗盡的報文本身不能正常轉發,該配置不會影響正常業務的運行。通常情況下,將上送CPU的ttl-expired報文CPCAR減小為32kbps。如果在設備CPU使用率不高的情況下,仍然有丟包,可以適當調小該值。
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] car packet-type ttl-expired cir 32 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 路由不通
- 首先識別攻擊源。V100R006C05版本需要使用鏡像獲取報文,然后通過報文解析工具,比如wireshark解析獲取到的報文。V100R006C05之后版本可以使用capture-packet cpu命令獲取上送CPU的ttl-expired報文。
以使用capture-packet cpu命令獲取上送CPU的ttl-expired報文為例,識別出攻擊源報文的目的IP為222.228.240.4。
下述回顯中的de e4 f0 04代表的是目的IP,轉換為10進制的IP地址即為222.228.240.4。
- 識別出攻擊源后,執行命令display ip routing-table 222.228.240.4查看路由表,根據路由表依次查找下一跳設備,通過流量統計或者抓包確認流量在哪台設備上被丟棄,然后調整問題設備的路由。
1.2.6 TCP攻擊
攻擊簡介
TCP SYN攻擊利用了TCP三次握手的漏洞。在TCP的3次握手期間,當接收端收到來自發送端的初始SYN報文時,向發送端返回一個SYN+ACK報文。接收端在等待發送端的最終ACK報文時,該連接一直處於半連接狀態。如果接收端最終沒有收到ACK報文包,則重新發送一個SYN+ACK到發送端。如果經過多次重試,發送端始終沒有返回ACK報文,則接收端關閉會話並從內存中刷新會話,從傳輸第一個SYN+ACK到會話關閉大約需要30秒。
在這段時間內,攻擊者可能將數十萬個SYN報文發送到開放的端口,並且不回應接收端的SYN+ACK報文。接收端內存很快就會超過負荷,且無法再接受任何新的連接,並將現有的連接斷開。
設備對TCP SYN攻擊處理的方法是在使能了TCP SYN泛洪攻擊防范后對TCP SYN報文進行速率限制,保證受到攻擊時設備資源不被耗盡。
此外,黑客可能利用TCP/UDP端口使用蠕蟲病毒攻擊用戶網絡,使大范圍的用戶受到病毒爆發的威脅。
現象描述
- 設備受到大量TCP攻擊時,可能會引起設備CPU、內存等資源使用率過高,同時使用TCP的FTP\SSH\Telnet等業務可能受到影響,可能導致設備脫管等問題。
- 設備默認會轉發任意TCP/UDP端口的IP報文,如果黑客通過利用TCP/UDP端口漏洞進行病毒攻擊,會造成大范圍的用戶數據資料的損失。如下為一些知名病毒經常使用的高危端口。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type tcp all |
V100R006C05版本以及之后版本 |
查看TCP連接狀態 |
display tcp status |
V100R006C05版本以及之后版本 |
端口漏洞病毒防范 |
使用流策略過濾高危端口的報文 |
V100R006C05版本以及之后版本 |
- 通過display cpu-defend statistics packet-type tcp all命令查看CPU-Defend計數里面是否存在TCP協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
- 通過display tcp status查看是否有較多TCP狀態處於Syn_Rcvd狀態。
問題根因
TCP建鏈需要三次握手才能建立,設備上存在大量半連接狀態的TCP,會占用設備較多的系統資源,同時會影響正常使用TCP建鏈的協議,影響正常業務的運行。
處理步驟
- 設備CPU、內存等資源使用率過高,同時使用TCP的FTP\SSH\Telnet等業務可能受到影響,可能導致設備脫管等問題。處理步驟如下。
- 設備默認會接收來自HTTP的連接請求,存在安全風險,建議去使能HTTP服務功能,需要注意去使能HTTP服務功能后會導致Web網管無法使用。
<HUAWEI> system-view
[HUAWEI] undo http server enable
[HUAWEI] undo http secure-server enable
- 配置TCP SYN泛洪攻擊,針對TCP SYN泛洪攻擊報文進行防攻擊檢測。
<HUAWEI> system-view [HUAWEI] anti-attack tcp-syn enable [HUAWEI] anti-attack tcp-syn car cir 8000
- 如果設備資源占用率較高,通過調整設備的TCP報文CPCAR降低設備資源占用率,通常情況下,CPCAR配置為256。如果在設備CPU使用率不高的情況下,仍然有丟包,可以適當調大該值。
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] car packet-type tcp cir 256 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 識別攻擊源。V100R006C05版本需要使用鏡像獲取報文,然后通過報文解析工具,比如wireshark解析獲取到的報文。V100R006C05之后版本可以使用capture-packet cpu命令獲取上送CPU的TCP報文。
以使用capture-packet cpu命令獲取上送CPU的TCP報文為例,識別出攻擊源報文的源IP為172.22.189.62、目的IP為172.22.189.61。
下述回顯中的ac 16 bd 3e代表的是源IP,轉換為10進制的IP地址即為172.22.189.62。ac 16 bd 3d代表的是目的IP,轉換為10進制的IP地址即為172.22.189.61。
- 識別出攻擊源后,可以通過增加配置黑名單方式過濾無用的TCP報文。
[HUAWEI] acl number 3334 [HUAWEI-acl-adv-3334] rule 5 permit tcp source 172.22.189.62 0 [HUAWEI-acl-adv-3334] quit [HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] blacklist 1 acl 3334 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- l 如果黑客通過利用TCP/UDP端口漏洞進行病毒攻擊,會造成大范圍的用戶數據資料的損失。處理步驟如下。
- 建立針對高危端口的ACL規則。
[HUAWEI] acl number 3000 //3000到4000之間沒有使用的ACL皆可 [HUAWEI-acl-adv-3000] rule 5 peimit tcp destination-port eq 445 [HUAWEI-acl-adv-3000] rule 10 peimit tcp destination-port eq 135 [HUAWEI-acl-adv-3000] rule 15 peimit tcp destination-port eq 137 [HUAWEI-acl-adv-3000] rule 20 peimit tcp destination-port eq 139 [HUAWEI-acl-adv-3000] rule 25 peimit udp destination-port eq 445 [HUAWEI-acl-adv-3000] rule 30 peimit udp destination-port eq 135 [HUAWEI-acl-adv-3000] rule 35 peimit udp destination-port eq 137 [HUAWEI-acl-adv-3000] rule 40 peimit udp destination-port eq 139 [HUAWEI-acl-adv-3000] quit
- 配置流策略。
[HUAWEI] traffic classifier deny-bingdu [HUAWEI-classifier-deny-bingdu] if-match acl 3000 [HUAWEI-classifier-deny-bingdu] quit [HUAWEI] traffic behavior deny-bingdu [HUAWEI-behavior-deny-bingdu] deny [HUAWEI-behavior-deny-bingdu] quit [HUAWEI] traffic policy deny-bingdu [HUAWEI-trafficpolicy-deny-bingdu] classifier deny-bingdu behavior deny-bingdu [HUAWEI-trafficpolicy-deny-bingdu] quit
- 應用流策略,可以在接口下、全局或者端口組下應用流策略。
在接口下應用流策略。
[HUAWEI] interface GigabitEthernet0/0/1 [HUAWEI-GigabitEthernet0/0/1] traffic-policy deny-bingdu inbound [HUAWEI-GigabitEthernet0/0/1] traffic-policy deny-bingdu outbound
在全局應用流策略。
[HUAWEI] traffic-policy deny-bingdu global inbound
[HUAWEI] traffic-policy deny-bingdu global outbound
端口組下應用流策略,可以避免多個端口下重復配置。
[HUAWEI] port-group deny-bingdu [HUAWEI-port-group-deny-bingdu] group-member GigabitEthernet0/0/1 to GigabitEthernet0/0/10 [HUAWEI-port-group-deny-bingdu] traffic-policy deny-bingdu inbound [HUAWEI-port-group-deny-bingdu] traffic-policy deny-bingdu outbound
說明: 1. 配置前請確認是否有正常使用配置的高危端口服務,避免影響正常業務。 2. 建議在核心和匯聚交換機配置該腳本,如果內網已有電腦中毒,則需要在其接入交換機配置腳本。 3. 最好在所有端口下配置,次選在全局和上行端口配置。 4. traffic-policy在全局、同一端口下只能應用一次,如之前已有流策略應用,則會配置失敗,可在其流策略里增加classifier deny-bingdu behavior deny-bingdu。
1.2.7 OSPF攻擊
攻擊簡介
OSPF鄰居之間通過定時發送Hello報文維持鄰居關系。設備對於上送CPU的OSPF協議報文存在限速,當設備收到過多OSPF協議報文時,會導致正常的OSPF Hello報文無法上送CPU,引起OSPF鄰居震盪。
現象描述
OSPF路由不通,導致三層業務流量轉發不通。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看日志中是否存在OSPF震盪 |
display logbuffer |
V100R006C05版本以及之后版本 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type tcp all |
V100R006C05版本以及之后版本 |
- 通過display logbuffer查看設備上是否存在OSPF震盪記錄。
Feb 15 2017 21:40:20+08:00 HUAWEI %%01OSPF/3/NBR_CHG_DOWN(l)[131]:Neighbor event:neighbor state changed to Down. (ProcessId=1, NeighborAddress=10.136.1.25, NeighborEvent=InactivityTimer, NeighborPreviousState=Full, NeighborCurrentState=Down) Feb 15 2017 21:40:20+08:00 HUAWEI %%01OSPF/3/NBR_DOWN_REASON(l)[132]:Neighbor state leaves full or changed to Down. (ProcessId=1, NeighborRouterId=10.136.0.253, NeighborAreaId=0, NeighborInterface=Vlanif903,NeighborDownImmediate reason=Neighbor Down Due to Inactivity, NeighborDownPrimeReason=Hello Not Seen, NeighborChangeTime=2017-02-15 21:40:20+08:00)
- 通過display cpu-defend statistics packet-type ospf all命令查看CPU-Defend計數里面是否存在OSPF協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
問題根因
網絡中出現環路或者鄰居過多導致設備受到大量OSPF報文攻擊。
處理步驟
- 步驟 1 通過定位思路中的display cpu-defend statistics packet-type ospf all命令查看到存在OSPF協議報文CPCAR丟包,並且繼續增長。如果設備短時間內收到大量的OSPF協議報文,需要排查二層環路。
- 步驟 2 設備OSPF鄰居過多導致默認CPCAR無法滿足的情況下,通過調整OSPF協議CPCAR解決,通常情況下,CPCAR配置為384,如果在設備CPU使用率不高的情況下,仍然有丟包,可以適當調大該值。
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] car packet-type ospf cir 384 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 步驟 3 配置OSPF的sham-hello功能,使能該功能后,設備不僅僅通過Hello報文維持鄰居,可以通過所有OSPF協議報文維持鄰居。在OSPF Hello報文丟棄的情況下,避免OSPF鄰居頻繁震盪。
<HUAWEI> system-view [HUAWEI] ospf 100 [HUAWEI-ospf-100] sham-hello enable
- 步驟 4 使用silent-interface命令禁止不需要的接口接收和發送OSPF報文后,使該接口無法建立鄰居關系,可以減少OSPF報文的交互。
<HUAWEI> system-view [HUAWEI] ospf 100 [HUAWEI-ospf-100] silent-interface vlanif 200
- 步驟 5 識別攻擊源。V100R006C05版本需要使用鏡像獲取報文,然后通過報文解析工具,比如wireshark解析獲取到的報文。V100R006C05之后版本可以使用capture-packet cpu命令獲取上送CPU的OSPF報文。
以使用capture-packet cpu命令獲取上送CPU的OSPF報文為例,識別出攻擊源報文的源IP為172.22.189.62。
下述回顯中的ac 16 bd 3e代表的是源IP,轉換為10進制的IP地址即為172.22.189.62。
- 步驟 6 識別出攻擊源后,可以通過增加配置黑名單方式過濾無用的OSPF報文。
[HUAWEI] acl number 2001 [HUAWEI-acl-basic-2001] rule 5 permit source 172.22.189.62 0 [HUAWEI-acl-basic-2001] quit [HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] blacklist 1 acl 2001 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
----結束
1.2.8 TC攻擊
攻擊簡介
設備收到TC報文時會通知ARP模塊對ARP表項進行老化或者刪除,此時設備需要重新進行ARP學習,以獲得最新的ARP表項信息。但是如果網絡的拓撲變化頻繁,或者網絡中設備的ARP表項很多,ARP的重新學習會導致網絡中的ARP報文過多。
現象描述
丟包或者流量不通。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看設備是否產生較多TC報文 |
display stp tc-bpdu statistics |
V100R006C05版本以及之后版本 |
查看設備是否存在較多ARP |
display arp |
V100R006C05版本以及之后版本 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics slot slot-id |
V100R006C05版本以及之后版本 |
- 通過display stp tc-bpdu statistics查看設備上端口TC報文收發計數,多次執行該命令,查看TC(Send/Receive)計數是否增加。
- 執行命令display arp查看設備ARP數目較多(ARP數目達到幾百個),同時執行命令display cpu-defend statistics查看上送CPU的ARP報文存在較多丟包。
問題根因
TC報文攻擊導致ARP表項頻繁更新,引起流量不通或者丟包。
處理步驟
- 設備在接收到拓撲變化報文后,會執行MAC地址表項和ARP表項的刪除操作,如果頻繁操作則會對CPU的沖擊很大,可能造成CPU占用率過高。可以通過調大拓撲變化報文處理周期減小CPU負載,如下舉例將拓撲變化報文處理周期調整為120秒。
<HUAWEI> system-view [HUAWEI] stp tc-protection interval 120
- 去使能設備響應TC報文並配置MAC刷新ARP功能,使設備收到TC報文的時候,ARP表項不再進行老化或者刪除。
<HUAWEI> system-view [HUAWEI] mac-address update arp [HUAWEI] arp topology-change disable
1.2.9 SSH/Telnet攻擊
攻擊簡介
設備對於上送CPU的SSH/Telnet協議報文存在限速,未經授權用戶攻擊或者過多用戶同時通過SSH/Telnet方式登錄設備,可能會導致設備脫管。建議通過使用白名單控制可登陸管理設備的用戶,防止設備被仿冒攻擊和非法訪問的安全風險。
現象描述
正常用戶無法登錄設備。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type ssh all display cpu-defend statistics packet-type telnet all |
V100R006C05版本以及之后版本 |
- 執行display cpu-defend statistics packet-type ssh all命令查看CPU-Defend計數里面是否存在SSH協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
- 執行display cpu-defend statistics packet-type telnet all命令查看CPU-Defend計數里面是否存在Telnet協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
問題根因
未授權用戶攻擊,導致SSH/Telnet方式無法登錄設備。
處理步驟
- 識別攻擊源。
V100R006C05版本需要使用鏡像獲取報文,然后通過報文解析工具,比如wireshark解析獲取到的報文。V100R006C05之后版本可以使用capture-packet cpu命令獲取上送CPU的SSH/Telnet報文。
以使用capture-packet cpu命令獲取上送CPU的SSH/Telnet報文為例,識別出攻擊源報文的源IP為172.22.189.62,目的IP為172.22.189.61,查看是否固定的源IP存在很多報文上送。
下述回顯中的ac 16 bd 3e代表的是源IP,轉換為10進制的IP地址即為172.22.189.62。ac 16 bd 3d代表的是目的IP,轉換為10進制的IP地址即為172.22.189.61。
- 識別出攻擊源后,通過部署安全策略限制用戶登錄,配置舉例如下:
[HUAWEI] acl number 3334 [HUAWEI-acl-adv-3334] rule 5 permit ip source 172.22.189.62 0 [HUAWEI-acl-adv-3334] quit [HUAWEI] aaa [HUAWEI-aaa] local-user admin1234 password irreversible-cipher Helloworld@6789 [HUAWEI-aaa] local-user admin1234 privilege level 3 [HUAWEI-aaa] local-user admin1234 service-type telnet [HUAWEI-aaa] quit [HUAWEI] user-interface maximum-vty 15 [HUAWEI] user-interface vty 0 14 [HUAWEI-ui-vty0-14] acl 2001 inbound [HUAWEI-ui-vty0-14] authentication-mode aaa [HUAWEI-ui-vty0-14] idle-timeout 20 0 [HUAWEI-ui-vty0-14] screen-length 0 [HUAWEI-ui-vty0-14] protocol inbound telnet
3.如果設備不需要通過Telnet方式登錄,可以去使能Telnet服務器。
<HUAWEI> system-view
[HUAWEI] undo telnet server enable
1.2.10 VRRP攻擊
攻擊簡介
VRRP的Master交換機定時向組內的其他交換機發送VRRP通告報文,通知自己工作正常。當Backup設備收到過多VRRP協議報文,會導致Backup交換機CPU無法處理正常的VRRP通告報文。設備對於上送CPU的VRRP協議報文存在限速,當設備收到過多VRRP報文時,可能會引起VRRP協議震盪。
現象描述
三層業務流量轉發丟包。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看是否存在VRRP震盪告警 |
display trapbuffer |
V100R006C05版本以及之后版本 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type vrrp all |
V100R006C05版本以及之后版本 |
- 通過display trapbuffer查看設備上是否存在VRRP震盪記錄。
#Jan 26 2017 22:00:12+09:00 HUAWEI VRRP/2/VRRPCHANGETOMASTER:OID 1.3.6.1.2.1.68.0.1 The status of VRRP changed to master. (VrrpIfIndex=118, VrId=254, IfIndex=118, IPAddress=10.62.3.251, NodeName=ISJPTSIO01HU106, IfName=Vlanif500, ChangeReason=protocol timer expired) #Jan 26 2017 22:00:12+09:00 HUAWEI VRRP/2/VRRPCHANGETOMASTER:OID 1.3.6.1.2.1.68.0.1 The status of VRRP changed to master. (VrrpIfIndex=124, VrId=254, IfIndex=124, IPAddress=10.173.7.251, NodeName=ISJPTSIO01HU106, IfName=Vlanif3300, ChangeReason=protocol timer expired)
- 通過display cpu-defend statistics packet-type vrrp all命令查看CPU-Defend計數里面是否存在VRRP協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
網絡中出現環路或者對接設備VRRP發送頻率過快導致設備受到大量VRRP報文攻擊。
處理步驟
- 步驟 1 通過定位思路中的display cpu-defend statistics packet-type vrrp all命令查看到存在VRRP協議報文CPCAR丟包,並且存在繼續增長的趨勢。如果設備短時間內收到大量的VRRP協議報文,需要排查二層環路。
- 步驟 2 設備VRRP配置過多導致默認CPCAR無法滿足的情況下,可以通過配置管理VRRP備份組減少VRRP報文交互。
<HUAWEI> system-view [HUAWEI] interface vlanif 10 [HUAWEI-Vlanif10] ip address 10.1.1.1 24 [HUAWEI-Vlanif10] vrrp vrid 1 virtual-ip 10.1.1.111 [HUAWEI-Vlanif10] admin-vrrp vrid 1
另外如果在設備CPU使用率不高的情況下,可以通過調大VRRP協議報文的CPCAR解決。
[HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] car packet-type vrrp cir 256 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 步驟 3 識別攻擊源
V100R006C05版本需要使用鏡像獲取報文,然后通過報文解析工具,比如wireshark解析獲取到的報文。V100R006C05之后版本可以使用capture-packet cpu命令獲取上送CPU的VRRP報文。
以使用capture-packet cpu命令獲取上送CPU的VRRP報文為例,識別出攻擊源報文的源IP為10.249.63.52。
下述回顯中的0a f9 3f 34代表的是源10.249.63.52,轉換為10進制的IP地址即為10.249.63.52。
- 步驟 4 識別出攻擊源后,可以通過增加配置黑名單方式過濾無用的VRRP報文。
[HUAWEI] acl number 2001 [HUAWEI-acl-basic-2001] rule 5 permit source 10.249.63.52 0 [HUAWEI-acl-basic-2001] quit [HUAWEI] cpu-defend policy policy1 [HUAWEI-cpu-defend-policy-policy1] blacklist 1 acl 2001 [HUAWEI-cpu-defend-policy-policy1] quit
接下來應用防攻擊策略policy1,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
----結束
1.2.11 IGMP攻擊
攻擊簡介
設備對於上送CPU的IGMP協議報文存在限速,當設備收到過多IGMP協議報文時,可能會引起IGMP組播協議表項震盪,導致二層或者三層組播業務流量轉發不通。
現象描述
當出現組播IGMP協議報文攻擊后,用戶組播業務會間歇性卡屏或者黑屏,同時設備可能會出現如下現象:
- 設備CPU-Defend計數出現對應IGMP協議報文DROP丟包。
- 設備上二層IGMP-Snooping或者三層IGMP組播表項UP TIME時間均較短,容易出現誤老化的情況。
- 設備CPU利用率較高,主要占用任務為BCMRX、FTS、SNPG、MFIB。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU-DEFEND丟包計數 |
display cpu-defend statistics packet-type igmp all |
V100R006C05版本以及之后版本 |
查看攻擊源信息 |
display auto-port-defend attack-source |
V200R003版本以及之后版本 |
查看組播表項UP Time時間 |
display igmp group |
V100R006C05版本以及之后版本 |
display igmp-snooping port-info verbose |
V100R006C05版本以及之后版本 |
|
查看組播協議報文統計計數 |
display igmp control-message counters |
V100R006C05版本以及之后版本 |
display igmp-snooping statistics vlan |
V100R006C05版本以及之后版本 |
- 查看CPU-Defend丟包計數
首先查看CPU-Defend計數里面是否存在IGMP協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
- 查看攻擊源信息
基於端口的防攻擊功能在已使能的情況下,設備會對端口收到的可防范協議報文的速率進行計算。如果該值超過了端口防攻擊檢查閾值(接口板為60pps),就認為該端口存在攻擊,設備將對該端口的攻擊報文進行溯源和限速處理,並通過日志的方式通知網絡管理員。
Sep 11 2015 15:38:13+01:00 DST Switch %%01SECE/4/PORT_ATTACK_OCCUR(l)[2]:Auto port-defend started.(SourceAttackInterface=GigabitEthernet1/0/38, AttackProtocol=IGMP)
設備的限速處理方式為:對於未超出限速值(該值等同於防攻擊策略里協議報文的CPCAR值),設備會將其移入低優先級隊列后再上送CPU處理;對於超出限速值的報文,設備直接丟棄。
- 查看組播表項UP Time時間
查看二層組播表項UP Time時間。
查看三層組播表項UP Time時間
- 查看組播協議報文統計計數
二層組播協議報文統計計數
三層組播協議報文統計計數
問題根因
交換機設備在網絡中啟用了二層或者三層組播功能,由於在V200R010之前版本,交換機是全局上送IGMP報文,會誤抓其他未使能組播功能VLAN內的協議報文。
另外由於設備配置、組網環境、對接設備等因素,設備上單個或者多個端口上收到了大量的IGMP協議報文,然后需要進行軟件復制多份報文軟轉發出去,也導致設備CPU占用率高。
處理步驟
- 配置VLAN內協議報文透傳功能
適用場景:某個未使能組播業務的VLAN內存在大量IGMP報文,被誤抓上送CPU。
適用形態:框式交換機和盒式HI系列交換機
命令作用:可以在不需要處理協議報文的VLAN中,部署VLAN內協議報文透傳功能,此時這些VLAN的協議報文不會再上送CPU處理,而是直接透傳轉發到其他設備進行處理,可以提高轉發速度和效率。支持透傳的協議報文類型有:CFM/ARP/BFD/DHCP/DHCPV6/HTTP/IGMP/MLD/ND/PIM/PIMv6/PPPoE/TACACS。
注意事項:
- 執行protocol-transparent命令前,需確保該VLAN的IGMP/MLD Snooping功能已去使能,否則配置失敗。
- 使用protocol-transparent命令使能某VLAN內協議報文透傳功能后,交換機將不參與該VLAN內的協議計算。
配置方法:
[HUAWE] vlan 3999 [HUAWEI-vlan3999] protocol-transparent
- 配置流策略重定向到不存在的VLAN丟棄報文
適用場景:只有一個VLAN內需要上送組播協議報文,其他VLAN內的組播協議報文均不需要。
適用形態:框式交換機
命令作用:丟棄除某個VLAN內以外所有VLAN內的IGMP協議報文。
注意事項:需要配置多個流分類和流行為,配置較為復雜,只有框式交換機支持。
配置方法如下:
舉例如下:除了VLAN3990以外的VLAN均丟棄IGMP報文
[HUAWEI] acl number 3100 //此ACL號不要與設備上現有ACL沖突 [HUAWEI-acl-adv-3100] rule 5 permit igmp //匹配IGMP協議 [HUAWEI-acl-adv-3100] quit [HUAWEI] traffic classifier igmp-permit-cvlan [HUAWEI-classifier-igmp-permit-cvlan] if-match acl 3100 [HUAWEI-classifier-igmp-permit-cvlan] if-match cvlan-id 3990 //匹配內層VLAN3990中的IGMP,允許通過 [HUAWEI-classifier-igmp-permit-cvlan] quit [HUAWEI] traffic classifier igmp-permit-vlan [HUAWEI-classifier-igmp-permit-vlan] if-match acl 3100 [HUAWEI-classifier-igmp-permit-vlan] if-match vlan-id 3990 //匹配VLAN3990中的IGMP,允許通過 [HUAWEI-classifier-igmp-permit-vlan] quit [HUAWEI] traffic classifier igmp-deny [HUAWEI-classifier-igmp-deny] if-match acl 3100 //其它所有的IGMP,全部remark到不存在的VLAN中丟棄 [HUAWEI-classifier-igmp-deny] quit [HUAWEI] traffic behavior igmp-deny [HUAWEI-behavior-igmp-deny] permit [HUAWEI-behavior-igmp-deny] remark vlan-id 4090 //需要使用設備上未創建的VLAN,根據實際情況選用 [HUAWEI-behavior-igmp-deny] quit [HUAWEI] traffic behavior igmp-permit [HUAWEI-behavior-igmp-permit] permit [HUAWEI-behavior-igmp-permit] remark vlan-id 3990 [HUAWEI-behavior-igmp-permit] quit [HUAWEI] traffic policy igmp [HUAWEI-trafficpolicy-igmp] classifier igmp-permit-cvlan behavior igmp-permit [HUAWEI-trafficpolicy-igmp] classifier igmp-permit-vlan behavior igmp-permit [HUAWEI-trafficpolicy-igmp] classifier igmp-deny behavior igmp-deny [HUAWEI-trafficpolicy-igmp] quit [HUAWEI] traffic-policy igmp global inbound //在全局應用該流策略
- 配置攻擊溯源丟棄攻擊報文
適用場景:某個端口存在大量上送的IGMP攻擊報文
適用形態:所有形態
命令作用:使能自動攻擊溯源功能后,設備可以對上送CPU的指定報文類型進行溯源追蹤。
注意事項:對於不希望被丟棄VLAN的IGMP報文,需要配置攻擊溯源的白名單避免被溯源丟棄。
配置方法如下:
[HUAWEI] cpu-defend policy test [HUAWEI-cpu-defend-policy-test] auto-port-defend enable //使能攻擊溯源 [HUAWEI-cpu-defend-policy-test] undo auto-defend protocol arp dhcp icmp tcp telnet ttl-expired //匹配igmp報文 [HUAWEI-cpu-defend-policy-test] auto-defend threshold 70 //報文速率超過70pps則識別為攻擊報文 [HUAWEI-cpu-defend-policy-test] auto-defend action deny timer 3600 //懲罰動作為deny丟棄,懲罰時間為1小時(缺省值為300秒) [HUAWEI-cpu-defend-policy-test] auto-defend trace-type source-portvlan
接下來應用防攻擊策略,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 配置黑名單丟棄Leave報文
適用場景:某個端口存在大量上送的IGMP Leave攻擊報文。
適用形態:框式交換機、盒式S5720HI系列、V200R008版本開始的盒式EI和盒式HI系列。
命令作用:使能黑名單后,設備丟棄上送CPU的指定Leave報文特征類型。
注意事項:建議僅對IGMPv2的Leave報文部署黑名單。
配置方法:
[HUAWEI] acl number 3000 [HUAWEI-acl-adv-3000] rule 5 permit igmp destination 224.0.0.2 0 //匹配igmp Leave報文 [HUAWEI-acl-adv-3000] quit [HUAWEI] cpu-defend policy test [HUAWEI-cpu-defend-policy-test] blacklist 1 acl 3000 //設置黑名單 [HUAWEI-cpu-defend-policy-test] quit
接下來應用防攻擊策略,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
1.2.12 PIM攻擊
攻擊簡介
設備對於上送CPU的PIM協議報文存在限速,當設備收到過多PIM協議報文時,可能會引起PIM路由表項或者PIM鄰居震盪,導致三層組播業務流量轉發異常。
現象描述
當出現組播PIM協議報文攻擊后,用戶組播業務會間歇性卡屏或者黑屏,設備可能會出現如下現象:
- 設備CPU-DEFEND計數出現對應PIM協議報文DROP丟包。
- 設備上三層組播表項UP Time時間均較短,容易出現誤老化的情況,伴隨着三層組播轉發異常的故障。
- 同時設備的CPU利用率較高,主要占用任務為BCMRX、FTS、MFIB、MCSW。
定位思路
定位手段 |
命令行 |
適用版本形態 |
查看CPU-Defend丟包計數 |
display cpu-defend statistics packet-type pim all |
V100R006C05版本以及之后版本,支持三層組播特性的形態 |
查看組播表項UP Time時間 |
display pim routing-table fsm |
V100R006C05版本以及之后版本,支持三層組播特性的形態 |
查看PIM協議報文統計計數 |
display pim control-message counters |
V100R006C05版本以及之后版本,支持三層組播特性的形態 |
- 查看CPU-Defend丟包計數
首先執行命令display cpu-defend statistics packet-type pim all查看CPU-Defend計數里面是否存在PIM協議報文CPCAR丟包,並且是否存在繼續增長的趨勢。
- 查看組播表項UP Time時間
執行命令display pim routing-table fsm查看表項中各出接口的Up Time時間。
- 查看PIM協議報文統計計數
執行命令display pim control-message counters查看PIM協議報文統計計數。
問題根因
交換機設備在網絡中啟用了三層組播功能,與該設備互聯的三層PIM鄰居較多,同時網絡中存在數目較多的組播組表項,或者該網絡中存在大量PIM協議報文攻擊時:
- 配置PIM-SM協議時,此時交換機會同時從多個端口收到大量PIM join協議報文,超過交換機設備PIM協議的默認CPCAR值。
- 配置PIM-DM協議時,此時交換機會同時從多個端口收到大量PIM state-refresh協議報文超過交換機設備PIM協議的默認CPCAR值。
- 配置PIM-SM/DM協議時,此時交換機從某個或者多個端口收到大量PIM協議攻擊報文,超過交換機設備PIM協議的默認CPCAR值。
處理步驟
- 步驟 1 可以適當放大交換機的PIM協議CPCAR值,CIR的最大值不要超過512kbps,從而提高交換機處理PIM報文能力。修改CPCAR的命令如下:
配置cpu-defend policy,執行命令car packet-type pim cir cir-value指定新的CAR值。
<HUAWEI> system-view [HUAWEI] cpu-defend policy pim [HUAWEI-cpu-defend-policy-pim] car packet-type pim cir 512 [HUAWEI-cpu-defend-policy-pim] quit
接下來應用防攻擊策略,關於防攻擊策略的應用,請參見3.1 應用防攻擊策略。
- 步驟 2 如果是PIM-DM網絡,發現交換機PIM協議報文統計計數存在大量State-Refresh種類的報文計數,則可以調整state refresh狀態刷新報文的時間控制參數,或者將整個網絡改造為PIM-SM協議。
配置方法如下:
- 調整state refresh狀態刷新報文的時間控制參數。
在與組播源直接相連的第一跳設備上配置狀態刷新報文的發送周期。
[HUAWEI] pim
[HUAWEI-pim] state-refresh-interval interval
在所有設備上配置相同狀態刷新報文抑制時間。
[HUAWEI] pim
[HUAWEI-pim] state-refresh-rate-limit interval
- 調整PIM-DM協議,改用PIM-SM協議。在調整時,有如下注意事項:
VPN實例或者公網實例上不能同時使能PIM-DM和PIM-SM。
建議將處於PIM-SM域內的所有接口都使能PIM-SM,以確保與相連PIM設備都能建立鄰居關系。
如果接口上需要同時使能PIM-SM和IGMP,必須要先使能PIM-SM,再使能IGMP。
----結束
2 本機防攻擊推薦配置
2.1 框式交換機推薦配置
場景介紹
在現網中有各種攻擊,而且攻擊類型是不斷變化的,無法用一種固定的防護方式防御所有攻擊,所以需要根據實際的場景變化調整防護方式,下面提供一種使用范圍比較廣的防護腳本和攻擊檢測方式,可以防范TTL=1攻擊、TCP攻擊,並及時發現ARP、DHCP、IGMP的攻擊用戶。在檢測到具體攻擊后再結合1.2 根據攻擊類型部署防攻擊手段章節介紹的防攻擊部署方式調整配置進一步加固。
腳本部署
# 現網業務如未使用VLAN1,但接入設備和網關設備上使用的接口未退出VLAN1,存在被攻擊或產生風暴的風險。接口退出VLAN1配置如下:
接口類型為hybrid interface GigabitEthernet x/x/x undo port hybrid vlan 1 接口類型為trunk interface GigabitEthernet x/x/x port link-type trunk undo port trunk allow-pass vlan 1 接口類型為access interface GigabitEthernet x/x/x port link-type access undo port default vlan 1
# 主控板防攻擊腳本部署
cpu-defend policy main-board #創建防攻擊策略main-board car packet-type ttl-expired cir 16 #配置ttl-expired報文的CIR為16kbit/s car packet-type tcp cir 32 #配置tcp報文的CIR為32kbit/s auto-defend enable #使能攻擊溯源功能 auto-defend attack-packet sample 5 #配置攻擊溯源的采樣比為5 auto-defend threshold 30 #配置攻擊溯源檢查閾值為30pps undo auto-defend trace-type source-portvlan #配置攻擊溯源的方式為基於源MAC地址和源IP地址 undo auto-defend protocol tcp telnet ttl-expired #在攻擊溯源防范的報文類型列表中刪除tcp、telnet和ttl-expired報文 auto-defend whitelist 1 interface GigabitEthernet x/x/x #互聯口和上行口加入白名單 auto-defend whitelist 2 interface GigabitEthernet x/x/x #互聯口和上行口加入白名單 auto-port-defend whitelist 1 interface GigabitEthernet x/x/x #端口防攻擊V2R3版本開始默認使能,互聯口和上行口加入白名單 auto-port-defend whitelist 2 interface GigabitEthernet x/x/x #端口防攻擊V2R3版本開始默認使能,互聯口和上行口加入白名單 cpu-defend-policy main-board #應用防攻擊策略
# 接口板防攻擊腳本部署
cpu-defend policy io-board #創建防攻擊策略io-board car packet-type ttl-expired cir 8 #配置ttl-expired報文的CIR為8kbit/s car packet-type tcp cir 16 #配置tcp報文的CIR為16kbit/s auto-defend enable #使能攻擊溯源功能 auto-defend attack-packet sample 5 #配置攻擊溯源的采樣比為5 auto-defend threshold 30 #配置攻擊溯源檢查閾值為30pps undo auto-defend trace-type source-portvlan #配置攻擊溯源的方式為基於源MAC地址和源IP地址 undo auto-defend protocol tcp telnet ttl-expired #在攻擊溯源防范的報文類型列表中刪除tcp、telnet和ttl-expired報文 auto-defend whitelist 1 interface GigabitEthernet x/x/x #互聯口和上行口加入白名單 auto-defend whitelist 2 interface GigabitEthernet x/x/x #互聯口和上行口加入白名單 auto-port-defend whitelist 1 interface GigabitEthernet x/x/x #端口防攻擊V2R3版本開始默認使能,互聯口和上行口加入白名單 auto-port-defend whitelist 2 interface GigabitEthernet x/x/x #端口防攻擊V2R3版本開始默認使能,互聯口和上行口加入白名單 cpu-defend-policy io-board global #應用防攻擊策略
特別注意事項
- 上述腳本適用於V200R008版本和V200R008之前版本,V200R009版本以及之后版本攻擊溯源功能默認已經使能,不需要特意部署。
- TCP速率是指針對本機VLANIF/Loopback地址的上送CPU速率,不影響具體路由協議的速率,例如BGP等有單獨的速率,不受TCP CPCAR縮小的影響。
- ttl-expired基本只用於traceRT功能,含TTL字段的路由協議的報文速率不受ttl-expired參數的影響,只取決於各路由協議的CPCAR。
- 如果客戶已經對cpu-defend policy做過配置調整,在配置時不要和客戶配置沖突。
2.2 盒式交換機推薦配置
場景介紹
在現網中有各種攻擊,而且攻擊類型是不斷變化的,無法用一種固定的防護方式防御所有攻擊,所以需要根據實際的場景變化調整防護方式,下面提供一種使用范圍比較廣的防護腳本和攻擊檢測方式,可以防范TTL=1攻擊、TCP攻擊,並及時發現ARP、DHCP的攻擊用戶。在檢測到具體攻擊后再結合1.2 根據攻擊類型部署防攻擊手段章節介紹的防攻擊部署方式調整配置進一步加固。
腳本部署
# 現網業務如未使用VLAN1,但接入設備和網關設備上使用的接口未退出VLAN1,存在被攻擊或產生風暴的風險。接口退出VLAN1配置如下:
接口類型為hybrid interface GigabitEthernet x/x/x undo port hybrid vlan 1 接口類型為trunk interface GigabitEthernet x/x/x port link-type trunk undo port trunk allow-pass vlan 1 接口類型為access interface GigabitEthernet x/x/x port link-type access undo port default vlan 1
#設備防攻擊腳本部署
cpu-defend policy io-board #創建防攻擊策略io-board car packet-type ttl-expired cir 8 #配置ttl-expired報文的CIR為8kbit/s car packet-type tcp cir 16 #配置tcp報文的CIR為16kbit/s auto-defend enable #使能攻擊溯源功能 auto-defend attack-packet sample 5 #配置攻擊溯源的采樣比為5 auto-defend threshold 30 #配置攻擊溯源檢查閾值為30pps undo auto-defend trace-type source-portvlan #配置攻擊溯源的方式為基於源MAC地址和源IP地址 undo auto-defend protocol tcp igmp telnet ttl-expired #在攻擊溯源防范的報文類型列表中刪除tcp、igmp、telnet和ttl-expired報文 auto-defend whitelist 1 interface GigabitEthernet x/x/x #互聯口和上行口加入白名單 auto-defend whitelist 2 interface GigabitEthernet x/x/x #互聯口和上行口加入白名單 auto-port-defend whitelist 1 interface GigabitEthernet x/x/x #端口防攻擊V2R3版本開始默認使能,互聯口和上行口加入白名單 auto-port-defend whitelist 2 interface GigabitEthernet x/x/x #端口防攻擊V2R3版本開始默認使能,互聯口和上行口加入白名單 cpu-defend-policy io-board global #應用防攻擊策略
特別注意事項
- 上述腳本適用於V200R008版本和V200R008之前版本,V200R009版本以及之后版本攻擊溯源功能默認已經使能,不需要特意部署。
- TCP速率是指針對本機VLANIF/Loopback地址的上送CPU速率,不影響具體路由協議的速率,例如BGP等有單獨的速率,不受TCP CPCAR縮小的影響。
- ttl-expired基本只用於traceRT功能,含TTL字段的路由協議的報文速率不受ttl-expired參數的影響,只取決於各路由協議的CPCAR。
- 如果客戶已經對cpu-defend policy做過配置調整,在配置時不要和客戶配置沖突。
3 附錄
3.1 應用防攻擊策略
- 框式交換機
對框式交換機來說,主控板和接口板上均有CPU,本機防攻擊策略的配置和應用也需要按主控板和接口板來做區分。
先檢查主控板和接口板的受報文攻擊情況,再創建防攻擊策略並應用。如果主控板和接口板上受報文攻擊的情況相同,可以在主控板和接口板上應用相同的防攻擊策略,否則需要應用不同的防攻擊策略。
在主控板上應用防攻擊策略。
<HUAWEI> system-view [HUAWEI] cpu-defend-policy policy1 [HUAWEI] quit
- 在接口板上應用防攻擊策略。
如果在所有接口板上應用防攻擊策略,則不能在指定接口板上應用該防攻擊策略。反之亦然。
- 如果設備的接口板承載業務類似,在所有接口板上應用防攻擊策略。
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy2 global
- 如果設備的接口板承載業務各有差異,在指定接口板上應用防攻擊策略。
<HUAWEI> system-view [HUAWEI] slot 1 [HUAWEI-slot-1] cpu-defend-policy policy2
- 盒式交換機
- 非堆疊情況下,在設備上應用防攻擊策略。
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy1 global
- 堆疊情況下:
在主設備上應用防攻擊策略
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy1
在所有堆疊設備上應用防攻擊策略
<HUAWEI> system-view
[HUAWEI] cpu-defend-policy policy1 global