1.2.4 ICMP攻击 攻击简介 由于现网的一些交换机处于核心层的位置,所以一般会做网关,对于网关来讲,需要对正常用户的Ping报文进行回应,但是交换机的CPU的处理能力是有限的,在一定时间内可以处理的Ping报文的数量也是有限的,一旦某些非法用户利用这个漏洞去攻击网关,使用一些软件或控制大量主机同时去Ping网关交换机,这样对交换机来说也许短时间内影响不会很大,但是如果持续比较长的时间的话,必然会导致网关的CPU偏高,对于处理不过来的Ping报文进行丢弃,但是由于网关无法区分哪些Ping包应该丢弃,哪些Ping包需要立即进行处理。所以这个时候正常的用户与网关就会失去联系,会导致一些合法用户掉线。 现象描述 1. 网络中存在通过工具进行网段扫描或者其他方式向设备发送大量Ping测试,交换机收到大量的ICMP报文上送CPU处理,使CPU占用率大大提高,导致其他业务功能异常。 2. 用户侧通过指定ICMP报文长度进行超长包Ping测试,有可能超过设备CPCAR,导致出现Ping测试结果丢包。 定位思路
display cpu-defend statistics packet-type icmp all
display current-configuration | include icmp
display anti-attack statistics
1. 执行命令display cpu-defend statistics packet-type icmp all查看CPU-Defend计数里面是否存在ICMP协议报文CPCAR丢包,并且是否存在继续增长的趋势。  2. 查看设备上是否配置ICMP报文限速,如果有icmp rate-limit enable配置,可能会引起Ping丢包。  3. 查看设备上ICMP泛洪攻击是否有丢弃。  问题根因 1. ICMP攻击导致过多ICMP报文上送引起设备CPU升高。 2. 设备ICMP防攻击或者CPCAR配置导致引起Ping丢包。 处理步骤 l 设备CPU高的情况下,配置黑名单过滤ICMP报文 a. 识别攻击源 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。 b. 识别出攻击源后,通过黑名单方式过滤掉过多的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 接下来应用防攻击策略policy1,关于防攻击策略的应用,请参见3.1 应用防攻击策略。 l 在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升高。 定位思路
display cpu-defend statistics packet-type ttl-expired all
通过display cpu-defend statistics packet-type ttl-expired all查看CPU-Defend计数里面是否存在ttl-expired协议报文CPCAR丢包,并且是否存在继续增长的趋势。 问题根因 一般情况下网络中出现路由环路时,会导致设备收到大量TTL耗尽的报文。 处理步骤 l 在设备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 应用防攻击策略。 l 路由不通 a. 首先识别攻击源。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。 b. 识别出攻击源后,执行命令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端口使用蠕虫病毒攻击用户网络,使大范围的用户受到病毒爆发的威胁。 现象描述 1. 设备受到大量TCP攻击时,可能会引起设备CPU、内存等资源使用率过高,同时使用TCP的FTP\SSH\Telnet等业务可能受到影响,可能导致设备脱管等问题。 2. 设备默认会转发任意TCP/UDP端口的IP报文,如果黑客通过利用TCP/UDP端口漏洞进行病毒攻击,会造成大范围的用户数据资料的损失。如下为一些知名病毒经常使用的高危端口。 定位思路
display cpu-defend statistics packet-type tcp all
1. 通过display cpu-defend statistics packet-type tcp all命令查看CPU-Defend计数里面是否存在TCP协议报文CPCAR丢包,并且是否存在继续增长的趋势。 2. 通过 display tcp status查看是否有较多TCP状态处于Syn_Rcvd状态。  问题根因 TCP建链需要三次握手才能建立,设备上存在大量半连接状态的TCP,会占用设备较多的系统资源,同时会影响正常使用TCP建链的协议,影响正常业务的运行。 处理步骤 l 设备CPU、内存等资源使用率过高,同时使用TCP的FTP\SSH\Telnet等业务可能受到影响,可能导致设备脱管等问题。处理步骤如下。 a. 配置TCP SYN泛洪攻击,针对TCP SYN泛洪攻击报文进行防攻击检测。 <HUAWEI> system-view
[HUAWEI] anti-attack tcp-syn enable
[HUAWEI] anti-attack tcp-syn car cir 8000 b. 如果设备资源占用率较高,通过调整设备的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 应用防攻击策略。 c. 识别攻击源。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。 d. 识别出攻击源后,可以通过增加配置黑名单方式过滤无用的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端口漏洞进行病毒攻击,会造成大范围的用户数据资料的损失。处理步骤如下。 a. 建立针对高危端口的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 b. 配置流策略。 [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 c. 应用流策略,可以在接口下、全局或者端口组下应用流策略。 n 在接口下应用流策略。 [HUAWEI] interface GigabitEthernet0/0/1
[HUAWEI-GigabitEthernet0/0/1] traffic-policy deny-bingdu inbound
[HUAWEI-GigabitEthernet0/0/1] traffic-policy deny-bingdu outbound n 在全局应用流策略。 [HUAWEI] traffic-policy deny-bingdu global inbound
[HUAWEI] traffic-policy deny-bingdu global outbound n 端口组下应用流策略,可以避免多个端口下重复配置。 [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路由不通,导致三层业务流量转发不通。 定位思路
display cpu-defend statistics packet-type tcp all
1. 通过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) 2. 通过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 识别攻击源。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。 步骤 5 识别出攻击源后,可以通过增加配置黑名单方式过滤无用的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报文过多。 现象描述 丢包或者流量不通。 定位思路
display stp tc-bpdu statistics
display cpu-defend statistics slot slot-id
1. 通过display stp tc-bpdu statistics查看设备上端口TC报文收发计数,多次执行该命令,查看TC(Send/Receive)计数是否增加。  2. 执行命令display arp查看设备ARP数目较多(ARP数目达到几百个),同时执行命令display cpu-defend statistics查看上送CPU的ARP报文存在较多丢包。
问题根因 TC报文攻击导致ARP表项频繁更新,引起流量不通或者丢包。 处理步骤 去使能设备响应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方式登录设备,可能会导致设备脱管。 现象描述 正常用户无法登录设备。 定位思路
display cpu-defend statistics packet-type ssh all display cpu-defend statistics packet-type telnet all
执行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方式无法登录设备。 处理步骤 1. 识别攻击源。 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。 2. 识别出攻击源后,通过部署安全策略限制用户登录,配置举例如下: [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 1.2.10 VRRP攻击攻击简介 VRRP的Master交换机定时向组内的其他交换机发送VRRP通告报文,通知自己工作正常。当Backup设备收到过多VRRP协议报文,会导致Backup交换机CPU无法处理正常的VRRP通告报文。设备对于上送CPU的VRRP协议报文存在限速,当设备收到过多VRRP报文时,可能会引起VRRP协议震荡。 现象描述 三层业务流量转发丢包。 定位思路
display cpu-defend statistics packet-type vrrp all
1. 通过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) 2. 通过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协议报文的CPCAR解决,通常情况下,CPCAR配置为256。如果在设备CPU使用率不高的情况下,仍然有丢包,可以适当调大该值。 [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协议报文攻击后,用户组播业务会间歇性卡屏或者黑屏,同时设备可能会出现如下现象: 1. 设备CPU-Defend计数出现对应IGMP协议报文DROP丢包。 2. 设备上二层IGMP-Snooping或者三层IGMP组播表项UP TIME时间均较短,容易出现误老化的情况。 3. 设备CPU利用率较高,主要占用任务为BCMRX、FTS、SNPG、MFIB。 定位思路
display cpu-defend statistics packet-type igmp all
display auto-port-defend attack-source
display igmp-snooping port-info verbose
display igmp control-message counters
display igmp-snooping statistics vlan
l 查看CPU-Defend丢包计数 首先查看CPU-Defend计数里面是否存在IGMP协议报文CPCAR丢包,并且是否存在继续增长的趋势。 l 查看攻击源信息 基于端口的防攻击功能在已使能的情况下,设备会对端口收到的可防范协议报文的速率进行计算。如果该值超过了端口防攻击检查阈值(接口板为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处理;对于超出限速值的报文,设备直接丢弃。 l 查看组播表项UP Time时间 查看二层组播表项UP Time时间。 查看三层组播表项UP Time时间 l 查看组播协议报文统计计数 二层组播协议报文统计计数 三层组播协议报文统计计数  问题根因 交换机设备在网络中启用了二层或者三层组播功能,由于在V200R010之前版本,交换机是全局上送IGMP报文,会误抓其他未使能组播功能VLAN内的协议报文。 另外由于设备配置、组网环境、对接设备等因素,设备上单个或者多个端口上收到了大量的IGMP协议报文,然后需要进行软件复制多份报文软转发出去,也导致设备CPU占用率高。 处理步骤
l 配置VLAN内协议报文透传功能 适用场景:某个未使能组播业务的VLAN内存在大量IGMP报文,被误抓上送CPU。 适用形态:框式交换机和盒式HI系列交换机 命令作用:可以在不需要处理协议报文的VLAN中,部署VLAN内协议报文透传功能,此时这些VLAN的协议报文不会再上送CPU处理,而是直接透传转发到其他设备进行处理,可以提高转发速度和效率。支持透传的协议报文类型有:CFM/ARP/BFD/DHCP/DHCPV6/HTTP/IGMP/MLD/ND/PIM/PIMv6/PPPoE/TACACS。 注意事项: 1. 执行protocol-transparent命令前,需确保该VLAN的IGMP/MLD Snooping功能已去使能,否则配置失败。 2. 使用protocol-transparent命令使能某VLAN内协议报文透传功能后,交换机将不参与该VLAN内的协议计算。 配置方法: [HUAWE] vlan 3999
[HUAWEI-vlan3999] protocol-transparent l 配置流策略重定向到不存在的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 //在全局应用该流策略 l 配置攻击溯源丢弃攻击报文 适用场景:某个端口存在大量上送的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 应用防攻击策略。 l 配置黑名单丢弃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协议报文攻击后,用户组播业务会间歇性卡屏或者黑屏,设备可能会出现如下现象: 1. 设备CPU-DEFEND计数出现对应PIM协议报文DROP丢包。 2. 设备上三层组播表项UP Time时间均较短,容易出现误老化的情况,伴随着三层组播转发异常的故障。 3. 同时设备的CPU利用率较高,主要占用任务为BCMRX、FTS、MFIB、MCSW。 定位思路
display cpu-defend statistics packet-type pim all V100R006C05版本以及之后版本,支持三层组播特性的形态
display pim routing-table fsm V100R006C05版本以及之后版本,支持三层组播特性的形态
display pim control-message counters V100R006C05版本以及之后版本,支持三层组播特性的形态
l 查看CPU-Defend丢包计数 首先执行命令display cpu-defend statistics packet-type pim all查看CPU-Defend计数里面是否存在PIM协议报文CPCAR丢包,并且是否存在继续增长的趋势。 l 查看组播表项UP Time时间 执行命令display pim routing-table fsm查看表项中各出接口的Up Time时间。 l 查看PIM协议报文统计计数 执行命令display pim control-message counters查看PIM协议报文统计计数。 问题根因 交换机设备在网络中启用了三层组播功能,与该设备互联的三层PIM邻居较多,同时网络中存在数目较多的组播组表项,或者该网络中存在大量PIM协议报文攻击时: 1. 配置PIM-SM协议时,此时交换机会同时从多个端口收到大量PIM join协议报文,超过交换机设备PIM协议的默认CPCAR值。 2. 配置PIM-DM协议时,此时交换机会同时从多个端口收到大量PIM state-refresh协议报文超过交换机设备PIM协议的默认CPCAR值。 3. 配置PIM-SM/DM协议时,此时交换机从某个或者多个端口收到大量PIM协议攻击报文,超过交换机设备PIM协议的默认CPCAR值。 处理步骤 步骤 1 可以适当放大交换机的PIM协议CPCAR值,CIR的最大值不要超过512kbps,从而提高交换机处理PIM报文能力。 修改CPCAR的命令如下: 1. 配置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协议。 配置方法如下: 1. 调整state refresh状态刷新报文的时间控制参数。 在与组播源直接相连的第一跳设备上配置状态刷新报文的发送周期。 [HUAWEI] pim
[HUAWEI-pim] state-refresh-interval interval 在所有设备上配置相同状态刷新报文抑制时间。 [HUAWEI] pim
[HUAWEI-pim] state-refresh-rate-limit interval 2. 调整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 根据攻击类型部署防攻击手段章节介绍的防攻击部署方式调整配置进一步加固。 脚本部署 # 主控板防攻击脚本部署 cpu-defend policy main-board
car packet-type ttl-expired cir 16
car packet-type tcp cir 32
auto-defend enable
auto-defend attack-packet sample 5
auto-defend threshold 30
undo auto-defend trace-type source-portvlan
undo auto-defend protocol tcp telnet ttl-expired
auto-defend whitelist 1 interface GigabitEthernet x/x/x #互联口和上行口加入白名单
auto-defend whitelist 2 interface GigabitEthernet x/x/x #互联口和上行口加入白名单
cpu-defend-policy main-board # 接口板防攻击脚本部署 cpu-defend policy io-board
car packet-type ttl-expired cir 8
car packet-type tcp cir 16
auto-defend enable
auto-defend attack-packet sample 5
auto-defend threshold 30
undo auto-defend trace-type source-portvlan
undo auto-defend protocol tcp telnet ttl-expired
auto-defend whitelist 1 interface GigabitEthernet x/x/x #互联口和上行口加入白名单
auto-defend whitelist 2 interface GigabitEthernet x/x/x #互联口和上行口加入白名单
cpu-defend-policy io-board global 特别注意事项 1. 上述脚本适用于V200R008版本和V200R008之前版本,V200R009版本以及之后版本攻击溯源功能默认已经使能,不需要特意部署。 2. TCP速率是指针对本机VLANIF/Loopback地址的上送CPU速率,不影响具体路由协议的速率,例如BGP等有单独的速率,不受TCP CPCAR缩小的影响。 3. ttl-expired基本只用于traceRT功能,含TTL字段的路由协议的报文速率不受ttl-expired参数的影响,只取决于各路由协议的CPCAR。 4. 如果客户已经对cpu-defend policy做过配置调整,在配置时不要和客户配置冲突。 2.2 盒式交换机推荐配置场景介绍 在现网中有各种攻击,而且攻击类型是不断变化的,无法用一种固定的防护方式防御所有攻击,所以需要根据实际的场景变化调整防护方式,下面提供一种使用范围比较广的防护脚本和攻击检测方式,可以防范TTL=1攻击、TCP攻击,并及时发现ARP、DHCP的攻击用户。在检测到具体攻击后再结合1.2 根据攻击类型部署防攻击手段章节介绍的防攻击部署方式调整配置进一步加固。 脚本部署 cpu-defend policy io-board
car packet-type ttl-expired cir 8
car packet-type tcp cir 16
auto-defend enable
auto-defend attack-packet sample 5
auto-defend threshold 30
undo auto-defend trace-type source-portvlan
undo auto-defend protocol tcp igmp telnet ttl-expired
auto-defend whitelist 1 interface GigabitEthernet x/x/x #互联口和上行口加入白名单
auto-defend whitelist 2 interface GigabitEthernet x/x/x #互联口和上行口加入白名单
cpu-defend-policy io-board global 特别注意事项 1. 上述脚本适用于V200R008版本和V200R008之前版本,V200R009版本以及之后版本攻击溯源功能默认已经使能,不需要特意部署。 2. TCP速率是指针对本机VLANIF/Loopback地址的上送CPU速率,不影响具体路由协议的速率,例如BGP等有单独的速率,不受TCP CPCAR缩小的影响。 3. ttl-expired基本只用于traceRT功能,含TTL字段的路由协议的报文速率不受ttl-expired参数的影响,只取决于各路由协议的CPCAR。 4. 如果客户已经对cpu-defend policy做过配置调整,在配置时不要和客户配置冲突。
3 附录
3.1 应用防攻击策略
|