鸿鹄论坛

 找回密码
 论坛注册

QQ登录

只需一步,快速开始

查看: 453|回复: 55

[分享] 交换机攻防见招拆招(上)

[复制链接]
 成长值: 26730
发表于 2017-8-25 09:37:17 | 显示全部楼层 |阅读模式
1 S系列交换机攻击处理
1.1 如何确定攻击类型
当设备遭受攻击时,通常伴随着如下现象:
l   用户无法获取ARP。
l   用户上线成功率较低。
l  用户无法访问网络。
当大量用户或固定某个端口下的所有用户出现上述现象时,可以先通过如下定位手段分析是否为攻击问题。
                           步骤 1     执行命令display cpu-usage查看设备CPU占用率的统计信息,CPU Usage表示的是CPU占用率,TaskName表示的是设备当前正在运行的任务名称。

如果CPU利用率持续较高,并且bcmRXFTSSOCK或者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报文会占用大量的网络带宽,引起网络堵塞,从而影响整个网络通信的正常运行。
现象描述
l   网络设备CPU占有率较高,正常用户不能学习ARP甚至无法上网。
l   Ping不通。
l   网络设备不能管理。
定位思路
定位手段
命令行
适用版本形态

查看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   
[HUAWEI-cpu-defend-policy-policy1] undo auto-defend protocol dhcp icmp igmp tcp telnet ttl-expired udp
接下来应用防攻击策略policy1,关于防攻击策略的应用,请参见3.1 应用防攻击策略。
最后通过命令display auto-defend attack-source slot 4查看攻击源的MAC地址。

识别的MAC中可能包含网关的MAC地址或互连网络设备的MAC,需要注意剔除。
----结束
问题根因
1.       由于终端中毒频繁发送大量ARP报文。
2.       下挂网络成环产生大量的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版本以及之后版本

l   交换机做网关,如果攻击源发送假冒网关的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地址表,从而获取到攻击源所在的端口,通过网络进一步排查,进一步定位出攻击源,查看是否中毒所致。
l   交换机做网关,如果攻击源发送假冒网关的ARP报文不经过网关交换机,直接在交换机的下游转发到用户,则需要在下层网络排查。例如,可以在终端上使用报文解析工具(比如wireshark)解析网关回应的ARP报文,如果解析出来的MAC地址不是网关的MAC地址,则代表终端遭遇攻击,其中解析出来的MAC地址即为攻击者MAC地址。
问题根因
1.       终端中毒。
2.       攻击者将主机地址设为网关地址。
处理步骤
方法
优点
缺点

配置黑名单
基于黑名单丢弃上送CPU的报文
需先查到攻击源

配置黑洞MAC
丢弃该攻击源发的所有报文,包括转发的报文
需先查到攻击源

配置防网关冲突攻击功能
收到具有相同源MAC地址的报文直接丢弃
需本设备做网关

l   方法一:可以在用户允许的情况下,直接在交换机上配置黑名单过滤攻击源的源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 应用防攻击策略。
l   方法二:更严厉的惩罚措施可以将攻击者的MAC配置成黑洞MAC,彻底不让该攻击者上网。
[HUAWEI] mac-address blackhole 1-1-1 vlan 3
l   方法三:可以在交换机上配置防网关冲突功能(该功能要求交换机必须做网关),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版本以及之后版本

1.       清除上送CPU的ARP Miss报文统计计数。
<HUAWEI> reset cpu-defend statistics packet-type arp-miss all
2.       等待1分钟后,查看这段时间内上送CPU的ARP Miss数量。
  
              查看通过和丢弃的报文数量,如果丢弃的消息数量大于通过的,则可认为是ARP Miss攻击。
3.       查看设备上是否有大量的ARP临时表项,如果存在大量(大概15个或者15个以上)的MAC ADDRESS字段为Incomplete的临时表项,也可以认为是ARP Miss攻击。
问题根因
设备收到大量的ARP Miss消息常见的原因有两种:
1.       存在网段扫描攻击,可以通过获取报文或者通过display arp anti-attack arpmiss-record-info命令来查看攻击源。
2.       设备收到TC消息,导致ARP表项老化,设备出现大量的ARP Miss消息。对于TC消息导致的ARP Miss攻击,防范手段参考1.3.8 TC攻击。
处理步骤
方法
优点
缺点

降低ARP Miss消息的CPCAR值
可以快速降低报文上送
可能正常的ARP Miss消息被误丢弃。

设置ARP假表老化时间
针对具体目的地址进行抑制,在老化时间内不触发ARP Miss消息
要选择合适的老化时间。

配置ARP Miss源抑制
针对具体源地址进行抑制,在block时间内不上送ARP Miss消息
需要配置白名单,防止网络侧的设备被惩罚。

配置黑名单丢弃指定攻击源
可以基于全局、单板应用,丢弃攻击报文
1.    黑名单无法有效降低CPU占用率。
2.    攻击消除后也无法访问设备。

l   可以通过调整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过高问题,但无法解决用户上线慢等问题。
l   可以通过延长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学习不实时,进而导致数据流量丢失。
l   配置基于源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-3所示,DHCP Discover报文是以广播形式发送,无论是合法的DHCP Server,还是非法的DHCP Server都可以接收到DHCP Client发送的DHCP Discover报文。
图1-2 DHCP Client发送DHCP Discover报文示意图

如果此时DHCP Server仿冒者回应给DHCP Client仿冒信息,如错误的网关地址、错误的DNS(Domain Name System)服务器、错误的IP等信息,如图1-4所示。DHCP Client将无法获取正确的IP地址和相关信息,导致合法客户无法正常访问网络或信息安全受到严重威胁。
图1-3 DHCP Server仿冒者攻击示意图

现象描述
DHCP Client无法获取到正确的IP地址,用户无法正常访问网络。
定位思路
一般在业务部署的时候,防DHCP Server仿冒攻击就应该考虑。很少等到问题发生了才部署防DHCP Server仿冒攻击。如果出现该类问题,一般可以查看客户端DHCP相关信息,来确定问题原因。
问题根因
DHCP申请IP地址的交互流程中,客户端发送的是广播报文。如图1-4所示,仿冒的DHCP服务器可以截获DHCP Client发送的请求报文,为DHCP Client分配地址。
处理步骤
方法
优点
缺点

配置DHCP Snooping
常用方法,配置简单
报文上送CPU,可能导致CPU利用率变高

配置流策略
报文不用上送CPU处理
配置复杂,需要ACL资源支持

方法一:通过DHCP Snooping来控制DHCP请求跟应答报文的交互,防止仿冒的DHCP服务器为DHCP Client分配IP地址以及其他配置信息。
l   全局使能DHCP Snooping业务
<HUAWEI> system-view
[HUAWEI] dhcp enable
[HUAWEI] dhcp snooping enable
l   用户侧端口配置DHCP Snooping功能
[HUAWEI] interface GigabitEthernet 8/0/1   
[HUAWEI-GigabitEthernet8/0/1] dhcp snooping enable
l   连接DHCP服务器的端口配置成信任端口
[HUAWEI] interface GigabitEthernet 8/0/10
[HUAWEI-GigabitEthernet8/0/10] dhcp snooping trusted
方法二:DHCP Snooping是通过控制DHCP报文的转发来防止DHCP Server仿冒攻击。我们可以通过流策略达到同样的效果。只允许DHCP请求报文向信任口转发,只允许DHCP回应报文从信任口收到并转发。
1.       配置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
2.       下述配置是可选的配置。
配置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版本以及之后版本

1.       执行命令display cpu-usage查看任务运行情况,找出占用CPU较高的任务,通常DoS攻击会导致bcmRX、FTS或者SOCK任务过高。
2.       执行命令display cpu-defend statistics查看CPU收包统计,判断是否存在过多由于来不及处理而丢弃的协议报文,对于DHCP协议攻击可以查看dhcp-serverdhcp-clientdhcpv6-requestdhcpv6-reply这几种协议的CPCAR统计值。
3.       查看端口防攻击的收包统计,从V200R003以及之后版本支持端口防攻击功能,对于DHCP协议报文,还需要查看端口防攻击的统计信息,查看是否存在DHCP协议报文的丢包。
根据任务或CPU收包统计确定是否出现过多的某种协议报文。
如果判断出某种协议报文过多,根据用户的组网判断是否可能出现这么多的协议报文,如果用户组网不可能出现这么多协议报文,则可基本判断为协议报文的攻击。
4.       对于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 应用防攻击策略。
等待一分钟后,查看是否存在攻击源。

5.       根据设备上使能的DHCP相关功能,执行命令display dhcp packet process statistics查看对应的计数是否快速增加。
问题根因
对于DHCP报文的DoS攻击,主要的原因有:
1.       用户终端中毒。
2.       网络环路。
处理步骤
方法
优点
缺点

攻击溯源
针对特定的用户进行惩罚
需要消耗ACL资源

软件限速
可以基于全局、VLAN和接口进行限制
可能无法有效降低CPU利用率

l   方法一:通过攻击溯源对攻击用户进行惩罚。
[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 应用防攻击策略。
l   方法二:通过对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-5所示,若设备接口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版本以及之后版本

1.       执行命令display ip pool查看DHCP Server的地址池使用情况,跟实际用户规模进行对比,地址池中是否存在MAC地址递变等情况,确认是否存在DHCP Server服务拒绝攻击,一般来说正常用户的MAC不大可能出现连续递变的情况。
2.       如果接入设备部署DHCP Snooping业务,是否存在某个VLAN或者某个端口上的用户特别多,是否存在源MAC递变等情况。

问题根因
用户终端中毒。

处理步骤
为了防止某些端口的DHCP用户恶意申请IP地址,可配置接口允许学习的DHCP Snooping绑定表项的最大个数来控制上线用户的个数,当用户数达到该值时,则任何用户将无法通过此接口成功申请到IP地址。为了防止攻击者不断改变DHCP Request报文中的CHADDR字段进行攻击,可使能检测DHCP Request报文帧头MAC地址与DHCP数据区中CHADDR字段是否相同的功能,相同则转发报文,否则丢弃。
方法
优点
缺点

限制用户数目
可以基于全局、VLAN和接口进行限制
报文需要上送CPU处理

对报文进行合法性检查
可以基于全局、VLAN和接口进行配置
报文需要上送CPU处理。该方法依赖于首次绑定表建立的正确性

l   设置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用户进行限制
l   使能对报文的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报文误上送时,会出现如下现象:
1.       报文误上送,导致CPU高。
2.       报文误上送,占用正常DHCP报文的带宽或者处理资源,影响用户无法正常上线和下线。
定位思路
1.       配置ACL匹配DHCP报文特征。
[HUAWEI] acl 3000  
[HUAWEI-acl-adv-3000] rule permit udp destination-port eq bootpc
2.       通过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高
配置繁琐

l   方法一:可以在不需要处理协议报文的VLAN中,部署VLAN内协议报文透传功能,此时这些VLAN的协议报文不会再上送CPU处理,而是直接透传转发到其他设备进行处理,可以提高转发速度和效率。支持透传的协议报文类型有:CFM/ARP/BFD/DHCP/DHCPV6/HTTP/IGMP/MLD/ND/PIM/PIMv6/PPPoE/TACACS。
[HUAWEI] vlan 10   
[HUAWEI-vlan10] protocol-transparent
l   方法二:对于使能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      




游客,如果您要查看本帖隐藏内容请回复

发表于 2017-8-25 10:51:40 | 显示全部楼层
学习了,感谢分享!
发表于 2017-8-25 12:55:05 | 显示全部楼层
感谢楼主分享!
发表于 2017-8-28 15:50:26 | 显示全部楼层
·111111111111111111111111111111
发表于 2017-8-28 17:44:57 | 显示全部楼层
学习了,感谢分享!
发表于 2017-8-31 10:55:11 | 显示全部楼层
感谢分享,学习学习
发表于 2017-8-31 10:55:48 | 显示全部楼层
OKOKOKOKOKOK
发表于 2017-8-31 11:43:25 | 显示全部楼层
好东西谢谢楼主分享
发表于 2017-8-31 12:43:47 | 显示全部楼层
感谢楼主分享!
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|小黑屋|手机版|Archiver|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )

GMT+8, 2018-5-24 21:27 , Processed in 0.161458 second(s), 9 queries , Gzip On, Memcache On.

Powered by Discuz! X3.4

© 2001-2018 HH010.COM

快速回复 返回顶部 返回列表