当设备遭受攻击时,通常伴随着如下现象:
-
用户无法获取ARP;
设备CPU占用率高;
用户上线成功率较低;
用户无法访问网络;
严重时可能导致设备上所有用户都无法正常访问网络。
当大量用户或固定某个端口下的所有用户出现上述现象时,可以先通过如下定位手段分析是否为攻击问题。
步骤1
在任意视图下执行命令display cpu-usage查看设备CPU占用率的统计信息,CPU Usage表示的是CPU占用率,TaskName表示的是设备当前正在运行的任务名称。
<HUAWEI> display cpu-usage CPU Usage Stat. Cycle: 60 (Second) CPU Usage : 78% Max: 94% CPU Usage Stat. Time : 2017-06-19 15:18:54 CPU utilization for five seconds: 11%: one minute: 11%: five minutes: 11% Max CPU Usage Stat. Time : 2017-06-06 14:57:05. TaskName CPU Runtime(CPU Tick High/Tick Low) Task Explanation VIDL 22% e/eb7733fe DOPRA IDLE OS 8% 1/57529fff Operation System bcmRX 20% 0/ 17a14c bcmRX FTS 20% 0/ ff707 FTS SOCK 20% 0/ 26ac89 SOCKPacket sched ule and process VPR 0% 0/ 16e3600 VPR VP Receive ……
如果CPU占用率持续较高,并且bcmRX、FTS、SOCK或者VPR任务的CPU占用率高于其他任务(bcmRX、FTS、SOCK、VPR指的是报文接收和发送类任务,通常协议报文攻击会导致这些任务的CPU占用率过高),则较大可能是收到的报文过多,接下来需要执行步骤2继续判断设备收到的报文类型。 一般情况下,交换机长时间运行时CPU占用率不超过80%,短时间内CPU占用率不超过95%,可认为交换机状态是正常的。
步骤2
首先在用户视图下执行命令reset cpu-defend statistics all清除上送CPU的报文统计计数,然后在任意视图下执行命令display cpu-defend statistics all查看Drop(Packet/Byte)字段,判断是否存在过多CPU来不及处理而丢弃的协议报文。 该命令可以查看多次,比如1秒执行一次,查看多次执行的结果。如果Drop(Packet/Byte)字段的计数增加很快(比如间隔1秒钟丢弃上百个),接下来需要查看现网设备是否放大了相关协议的CPCAR值。 执行命令display cpu-defend policy policy-name查看防攻击策略列表信息(此处以arp-miss协议报文为例),下述回显中的Car packet-type arp-miss : CIR(256) CBS(48128)说明arp-miss协议的CPCAR值放大到了256。
<HUAWEI> display cpu-defend policy test Related slot : <0,mcu> Configuration : Car packet-type arp-miss : CIR(256) CBS(48128)
如果回显如下所示,说明没有放大协议报文的CPCAR值。
<HUAWEI> display cpu-defend policy test Related slot : <0> Configuration :
如果现网设备放大了CPCAR值,请评估现网业务是否需要放大CPCAR值,如果确实需要放大,请考虑进行扩容或者更换设备。如果不需要放大CPCAR值,请根据业务需求调小CPCAR值。调整CPCAR不当将会影响网络业务,如果需要调整CPCAR,建议联系技术支持人员处理。 如果没有调整CPCAR值,就基本可以确定现网存在攻击。根据丢包的协议,采用相关防攻击措施。
<HUAWEI> display cpu-defend statistics all Statistics on mainboard: -------------------------------------------------------------------------------- Packet Type Pass(Packet/Byte) Drop(Packet/Byte) Last-dropping-time -------------------------------------------------------------------------------- arp-mff 0 0 - 0 0 arp-miss 0 0 - 0 0 arp-reply 0 0 - 0 0 arp-request 8423 1284 2017-05-10 14:23:10 ......
V200R003版本以及之后版本支持端口防攻击功能,缺省情况下,端口防攻击功能是默认使能的,端口防攻击支持防范的报文类型为ARP Request、ARP Reply、DHCP、ICMP、IGMP和IP分片报文。 支持端口防攻击功能后,如果端口上发生了攻击,通过display cpu-defend statistics all命令中是查看不到arp-reply、arp-request、dhcp、icmp、igmp有Drop计数的,所以对于V200R003版本以及之后版本,还需要继续执行步骤3进一步确认丢包协议。
步骤3
首先在诊断视图下执行命令reset auto-port-defend statistics清除端口防攻击报文统计信息,然后在诊断视图中执行命令display auto-port-defend statistics [ slot slot-id ]查看Drop(Packet/Byte)字段的增长情况。 该命令可以查看多次,比如1秒执行一次,查看多次执行的结果。如果Drop(Packet/Byte)字段的计数增加很快(比如间隔1秒钟丢弃上百个),基本可以确定现网受到攻击。
[HUAWEI-diagnose] display auto-port-defend statistics Statistics on MPU: -------------------------------------------------------------------------------- Protocol Vlan Queue Cir(Kbps) Pass(Packet/Byte) Drop(Packet/Byte) -------------------------------------------------------------------------------- arp-request NA 2 256 0 0 NA NA arp-reply NA 2 256 0 0 NA NA dhcp NA 2 1024 0 0 NA NA igmp NA 2 768 0 0 NA NA icmp NA 2 256 23095 3 NA NA --------------------------------------------------------------------------------
对于历史上曾经触发过端口防攻击也可以通过日志来确定。日志格式如下,其中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])
转载请注明:IT运维空间 » 安全防护 » 见招拆招,三招教你如何确定攻击类型?
发表评论