06-H3C_攻击防御典型配置举例
本章节下载: 06-H3C_攻击防御典型配置举例 (619.43 KB)
H3C攻击防御典型配置举例
资料版本:6W100-20201031
产品版本:Release 7595
Copyright © 2020 新华三技术有限公司 版权所有,保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。 本文档中的信息可能变动,恕不另行通知。 |
目 录
本文档介绍了链路层、ARP、IP层以及传输层攻击防御的配置举例。
本文档涉及的主要攻击防御类型见表1。
攻击防御措施 |
功能描述 |
|
链路层攻击防御 |
MAC地址防攻击 |
设定端口可以学习到的最大MAC地址数目,避免被大量源MAC地址频繁变化或者VLAN频繁变化的报文攻击 |
STP的防攻击 |
主要的防护措施有BPDU保护、根保护、环路保护、防TC-BPDU攻击保护 |
|
ARP攻击防御 |
ARP源抑制功能 |
用于防止设备被固定源发送的IP报文攻击 |
ARP黑洞路由功能 |
用于防止设备被不固定的源发送的IP报文攻击 |
|
ARP主动确认功能 |
用于防止攻击者仿冒用户欺骗设备 |
|
源MAC地址固定的ARP攻击检测 |
用于防止设备被同一MAC地址源发送的攻击报文攻击 |
|
ARP报文源MAC一致性检查功能 |
用于防止设备被以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同的报文攻击 |
|
IP层攻击防御 |
uRPF检查 |
用于防止基于源地址欺骗的网络攻击行为 |
TTL报文防攻击 |
通过关闭ICMP超时报文发送功能来避免被攻击者恶意攻击 |
|
传输层攻击防御 |
防止Syn-flood攻击 |
当服务器收到TCP连接请求时,不建立TCP半连接,而直接向发起者回复SYN ACK报文,可以避免在服务器上建立大量的TCP半连接,防止服务器受到SYN Flood攻击 |
本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。
本文假设您已了解本文档中涉及的攻击防御特性。
如图1所示,Device A、Device B、Device C均运行了MSTP协议,网络拓扑稳定后Device B为根桥,Device C的XGE2/0/1为阻塞端口。
· 通过配置根保护、环路保护和BPDU保护功能,维持Device A、Device B和Device C的端口角色以及网络拓扑的稳定。
· 在Device A、Device B和Device C上使能防TC-BPDU攻击保护,避免发生短时间内大量TC(Topology Change)-BPDU冲击设备的情况。
· 在Device A和Device C的接入侧端口上配置端口最大学习MAC数目,避免设备因受到大量源MAC地址不同的报文攻击,而导致MAC地址表过于庞大、转发性能下降的情况。
· 在Device B的用户网络侧端口以及Device A和Device C的所有端口上配置组播速率抑制和广播速率抑制功能。端口上的广播或组播流量超过6400 pps(packets per second,每秒转发的报文数)后,系统将丢弃超出广播和组播流量限制的报文,从而使接口广播、组播流量所占的比例降低到限定的范围。
根据端口角色来确定需要配置根保护、环路保护和BPDU保护的设备端口。
· 网络中根桥Device B可能会收到伪造的优先级更高的BPDU,导致Device B失去根桥的地位。为防止这种情况发生,可在根桥与叶子节点相连的端口XGE2/0/1、XGE2/0/2上配置根保护功能,使它们只能作为指定端口来转发BPDU,并在收到优先级更高的BPDU时暂时停止转发BPDU。
· Device C通过接收根桥发送的BPDU来维持XGE2/0/1的端口角色为阻塞端口,如果链路发生拥塞或故障,Device C会因为没有收到根桥的BPDU而重新选择端口角色,使其所有端口变为指定端口并迁移到转发状态,导致环路。因此在Device C的根端口XGE2/0/2上使能环路保护,使该端口在没有收到BPDU时使其所有MSTI处于Discarding状态以避免环路产生。
· Device A和Device C是接入层设备,将其连接用户终端的端口(如XGE2/0/3)设置为边缘端口(相关命令为stp edged-port),以便快速迁移到转发状态。这些连接用户的端口正常情况下是不会收到BPDU的,要避免它们因收到伪造的BPDU而引发生成树重新计算,在边缘端口上配置BPDU保护功能,使它们在收到BPDU时暂时关闭。
· 在同一个端口上,不允许同时配置边缘端口和环路保护功能,或者同时配置根保护功能和环路保护功能。
· 请不要在连接用户终端的端口上使能环路保护功能,否则该端口会因收不到BPDU而导致其所有MSTI将一直处于Discarding状态。
# 配置各接口的IP地址(略)。
# 在指定端口上配置根保护。
<DeviceB> system-view
[DeviceB] interface range Ten-GigabitEthernet 1/0/1 to Ten-GigabitEthernet 1/0/2
[DeviceB-if-range] stp root-protection
[DeviceB-if-range] quit
# 配置防TC-BPDU攻击保护。
[DeviceB] stp tc-protection
[DeviceB] stp tc-protection threshold 10
#在端口上设置广播速率抑制和组播速率抑制。
[DeviceB] interface range Ten-GigabitEthernet 1/0/1 to Ten-GigabitEthernet 1/0/2
[DeviceB-if-range] broadcast-suppression pps 6400
[DeviceB-if-range] multicast-suppression pps 6400
[DeviceB-if-range] quit
# 配置各接口的IP地址(略)。
# 配置STP BPDU保护,并将接入侧端口(以XGE1/0/3为例)设置为边缘端口。
<DeviceA> system-view
[DeviceA] stp bpdu-protection
[DeviceA] interface Ten-GigabitEthernet 1/0/3
[DeviceA-Ten-GigabitEthernet 1/0/3] stp edged-port
[DeviceA-Ten-GigabitEthernet 1/0/3] quit
# 配置防TC-BPDU攻击保护。
[DeviceA] stp tc-protection
[DeviceA] stp tc-protection threshold 10
# 配置接入侧端口最大学习MAC数目,以XGE1/0/3为例。
[DeviceA] interface Ten-GigabitEthernet 1/0/3
[DeviceA-Ten-GigabitEthernet 1/0/3] mac-address max-mac-count 1024
[DeviceA-Ten-GigabitEthernet 1/0/3] quit
#在所有端口上设置广播速率抑制和组播速率抑制(其中连接用户终端的端口以XGE1/0/3为例)。
[DeviceA] interface range Ten-GigabitEthernet 1/0/1 to Ten-GigabitEthernet 1/0/3
[DeviceA-if-range] broadcast-suppression pps 6400
[DeviceA-if-range] multicast-suppression pps 6400
[DeviceA-if-range] quit
# 配置各接口的IP地址(略)。
# 配置STP BPDU保护,并将接入侧端口(以XGE1/0/3为例)设置为边缘端口。。
<DeviceC> system-view
[DeviceC] stp bpdu-protection
[DeviceC] interface Ten-GigabitEthernet 1/0/3
[DeviceC-Ten-GigabitEthernet 1/0/3] stp edged-port
[DeviceC-Ten-GigabitEthernet 1/0/3] quit
#在指定端口上进行配置根保护。
[DeviceC] interface Ten-GigabitEthernet 1/0/1
[DeviceC-Ten-GigabitEthernet 1/0/1] stp root-protection
[DeviceC-Ten-GigabitEthernet 1/0/1] quit
# 在根端口上配置环路保护。
[DeviceC] interface Ten-GigabitEthernet 1/0/2
[DeviceC-Ten-GigabitEthernet 1/0/2] stp loop-protection
[DeviceC-Ten-GigabitEthernet 1/0/2] quit
# 配置防TC-BPDU攻击保护。
[DeviceC] stp tc-protection
[DeviceC] stp tc-protection threshold 10
# 配置端口最大学习MAC数目,以XGE1/0/3为例。
[DeviceC] interface Ten-GigabitEthernet 1/0/3
[DeviceC-Ten-GigabitEthernet 1/0/3] mac-address max-mac-count 1024
[DeviceC-Ten-GigabitEthernet 1/0/3] quit
#在所有端口上设置广播速率抑制和组播速率抑制(其中连接用户终端的端口以XGE1/0/3为例)。
[DeviceC] interface range Ten-GigabitEthernet 1/0/1 to Ten-GigabitEthernet 1/0/3
[DeviceC-if-range] broadcast-suppression pps 6400
[DeviceC-if-range] multicast-suppression pps 6400
[DeviceC-if-range] quit
· 向Device A或Device C的边缘端口XGE2/0/3发送STP BPDU报文,会导致收到报文的端口被shutdown,在shutdown之后可以通过手动的undo shutdown恢复端口的UP状态;
· 向指定端口发送优先级更高的STP报文,根端口不会发生变化,STP拓扑状态保持稳定;
· 向Device A、Device B、Device C频繁发送大量变化的TC报文,设备不会频繁重复刷新FIB(Forwarding Information Base),不会导致严重的转发丢包;
· 向Device A或Device C的边缘端口XGE2/0/3发送大量广播报文,设备的上行端口上广播报文不会泛滥。
· DeviceA
#
stp bpdu-protection
stp tc-protection threshold 10
#
interface Ten-GigabitEthernet 1/0/1
port link-mode bridge
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
interface Ten-GigabitEthernet 1/0/2
port link-mode bridge
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
interface Ten-GigabitEthernet 1/0/3
port link-mode bridge
mac-address max-mac-count 1024
stp edged-port
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
· DeviceB
#
stp tc-protection threshold 10
#
interface Ten-GigabitEthernet 1/0/1
port link-mode bridge
stp root-protection
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
interface Ten-GigabitEthernet 1/0/2
port link-mode bridge
stp root-protection
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
· DeviceC
#
stp bpdu-protection
stp tc-protection threshold 10
#
interface Ten-GigabitEthernet 1/0/1
port link-mode bridge
stp root-protection
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
interface Ten-GigabitEthernet 1/0/2
port link-mode bridge
stp loop-protection
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
interface Ten-GigabitEthernet 1/0/3
port link-mode bridge
stp edged-port
mac-address max-mac-count 1024
broadcast-suppression pps 6400
multicast-suppression pps 6400
#
如图2所示,要求在网关Device上配置防御功能来抵御各种常见ARP攻击。
图2 ARP攻击防御组网图
# 配置各接口的IP地址(略)。
# 配置ARP源抑制功能,并配置ARP源抑制的阈值为8,以避免设备被固定源发送的IP报文攻击。
<Device> system-view
[Device] arp source-suppression enable
[Device] arp source-suppression limit 8
# 配置ARP黑洞路由功能,以避免设备被不固定的源发送的IP报文攻击。
[Device] arp resolving-route enable
# 配置ARP主动确认功能,以避免攻击者仿冒用户欺骗设备。
[Device] arp active-ack enable
# 配置源MAC地址固定的ARP攻击检测功能,过滤非法报文,以避免设备被同一MAC地址源发送的攻击报文攻击。
[Device] arp source-mac filter
[Device] arp source-mac threshold 25
# 配置ARP报文源MAC一致性检查功能,以避免设备被以太网数据帧首部中的源MAC地址和ARP报文中的源MAC地址不同的报文攻击。
[Device] arp valid-check enable
用PC向设备发送各种ARP攻击报文,设备不会出现CPU利用率偏高的情况,不影响其他业务模块运行。
以ARP源抑制功能为例,伪造20个源IP地址固定,目标IP地址不能解析的IP报文,同时发送给设备,由这些IP报文触发的ARP请求报文超过8个后,对于由此IP地址发出的IP报文,设备不允许其触发ARP请求。
# 显示当前ARP源抑制的配置信息。
<Sysname> display arp source-suppression
ARP source suppression is enabled
Current suppression limit: 8
#
arp valid-check enable
arp source-mac filter
arp source-mac threshold 25
arp active-ack enable
arp source-suppression enable
arp source-suppression limit 8
#
如图3所示,Device A作为用户网络连接外网的网关,可能会遭受来自用户侧或者是网络侧的IP报文攻击,要求在Device A上配置防御功能以避免设备被IP报文攻击。
· 为防止基于源地址的欺骗,要求在Device A上对接受到的报文进行严格型uRPF检查。
· 为防止被大量TTL等于1的报文攻击,要求确保设备关闭ICMP超时报文发送功能。
图3 IP层攻击防御基础配置组网图
· 在关闭ICMP超时报文发送功能后,Traceroute功能将不可用。
# 配置各接口的IP地址(略)。
# 在Device A上配置严格型uRPF检查。
# 关闭ICMP超时报文发送功能(缺省为关闭),以避免设备被大量TTL等于1的报文攻击。
[DeviceA] undo ip ttl-expires enable
# 用PC对设备发送一系列带有伪造源地址的报文,这些报文被过滤,设备没有遭到源地址欺骗攻击。
# 显示Device A上uRPF的应用情况。
<DeviceA> display ip urpf
Global uRPF configuration information:
Check type: strict
(1) 打开设备上的ICMP调试信息开关(配置debugging ip icmp命令)。
(2) 用PC对设备发送TTL为1的报文。
(3) 查看设备上是否显示调试信息:
· ICMP超时报文发送功能关闭时,可以看到设备上没有显示调试信息,即设备没有响应接收到的攻击报文,PC端不会收到TTL超时的ICMP报文。
· ICMP超时报文发送功能开启时,可以看到设备显示调试信息,即设备响应了接收到的攻击报文。调试信息如下:
<DeviceA> *Aug 14 16:43:31:068 2020 NM-3 SOCKET/7/ICMP: -MDC=1-Slot=2;
Time(s):1371221011 ICMP Output:
ICMP Packet: src = 6.0.0.1, dst = 202.101.0.2
type = 11, code = 0 (ttl-exceeded)
Original IP: src = 202.101.0.2, dst = 192.168.0.2
proto = 253, first 8 bytes = 00000000 00000000
#
ip urpf strict
#
如图4所示,Device A作为用户网络的网关,可能会遭受来自传输层的Syn-flood攻击,使设备无法处理正常业务。要求在Device A上配置SYN Cookie功能,使设备可以抵御此类攻击。
# 配置各接口的IP地址(略)。
# 使能SYN Cookie功能。当服务器收到TCP连接请求时,不建立TCP半连接,而直接向发起者回复SYN ACK报文。服务器接收到发起者回应的ACK报文后,才建立连接。
<Device> system-view
[Device] tcp syn-cookie enable
设备在建立TCP连接时,不再建立处于SYN_RECEIVED状态的TCP半连接,而是在建立连接后直接进入ESTABLISHED状态。
[Device] display tcp
*: TCP Connection with authentication
Local Addr:port Foreign Addr:port State Slot Cpu PCB
0.0.0.0:21 0.0.0.0:0 LISTEN 1 0 0xfffffffffff
fff9d
0.0.0.0:23 0.0.0.0:0 LISTEN 1 0 0xfffffffffff
fff9f
192.168.2.88:23 192.168.2.79:2197 ESTABLISHED 1 0 0xfffffffffff
fffa3
192.168.2.88:23 192.168.2.89:2710 ESTABLISHED 1 0 0xfffffffffff
fffa2
192.168.2.88:23 192.168.2.110:50199 ESTABLISHED 1 0 0xfffffffffff
fff
#
tcp syn-cookie enable
#
H3C S10500X系列交换机 二层技术-以太网交换配置指导-R759X
H3C S10500X系列交换机 二层技术-以太网交换命令参考-R759X
H3C S10500X系列交换机 安全配置指导-R759X
H3C S10500X系列交换机 安全命令参考-R759X
H3C S10500X系列交换机 三层技术-IP业务配置指导-R759X
H3C S10500X系列交换机 三层技术-IP业务命令参考-R759X
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!