IE241205_交换安全技术(二层防御)
IE241205_交换安全技术(二层防御)
交换流量隐患概述
-
当设备某个二层以太网接口收到广播、未知组播或未知单播报文时,如果根据报文的目的MAC地址设备不能明确报文的出接口,设备会向同一VLAN内的其他二层以太接口转发这些报文,这样可能导致广播风暴,降低设备转发性能。
-
为此,引入流量抑制和风暴控制特性,可以控制这三类报文流量,防范广播风暴。

┌──(root㉿kali)-[~]
└─# yersinia dhcp -interface eth0 -attack 1
<*> Starting DOS attack sending DISCOVER packet...
<*> Press any key to stop the attack <*>

- 大量广播包
流量抑制原理
- 在接口的入方向上,设备支持对广播、未知组播、未知单播、已知组播和已知单播报文按百分比、包速率和比特速率进行流量抑制。
- 设备监控接口下的各类报文速率并和配置的阈值相比较,当入口流量超过配置的阈值时,设备会丢弃超额的流量。

[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]broadcast-suppression 80
[Huawei-GigabitEthernet0/0/1]multicast-suppression 80
[Huawei-GigabitEthernet0/0/1]unicast-suppression 80
- 在接口的出方向上,设备支持对广播、未知组播和未知单播报文进行阻塞。
- 如图所示,Switch作为二层网络到三层路由器的衔接点,在GE0/0/2的出口方向上对广播、未知组播和未知单播报文进行阻塞,防止大流量冲击。

[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]broadcast-suppression block outbound
[Huawei-GigabitEthernet0/0/2]multicast-suppression block outbound
[Huawei-GigabitEthernet0/0/2]unicast-suppression block outbound
- 当网络中的广播报文增多时,广播报文占用的网络资源将随之增多,进而严重影响了网络业务的正常运行。
- 设备支持对同VLAN的广播报文按比特速率进行流量抑制。设备监控同一VLAN内广播报文的速率并和配置的阈值相比较,当VLAN内流量超过配置的阈值时,设备会丢弃超额的流量。

[Huawei]vlan 10
[Huawei-vlan10]broadcast-suppression 1000
其他报文流量抑制
- 网络中经常存在攻击者发送大量ICMP报文进行攻击,如果设备全部将这些ICMP报文上送CPU处理,会消耗大量CPU资源,导致其他业务功能异常。此时在设备上配置ICMP报文流量抑制功能,可以有效防范ICMP报文攻击。
- 配置ICMP报文流量抑制功能后,当接口每秒钟上送的ICMP报文超出配置的阈值时,设备会将ICMP报文丢弃。

[Huawei]icmp rate-limit enable
[Huawei]icmp rate-limit int G0/0/1 threshold 20
流量抑制配置命令介绍
-
(可选)配置流量抑制模式。
[Huawei] suppression mode { by-packets | by-bits }缺省情况下,缺省的抑制模式为packets,在bits模式下,流量抑制的粒度更小、抑制更精确。
-
配置流量抑制。
[Huawei-GigabitEthernet0/0/1] { broadcast-suppression | multicast-suppression | unicast-suppression} { percent-value | cir cir-value [ cbs cbs-value ] | packets packets-per-second }接口下配置流量抑制时,抑制模式需与全局的流量抑制模式保持一致。
-
配置在接口出方向上阻塞报文。
[Huawei-GigabitEthernet0/0/1] { broadcast-suppression | multicast-suppression | unicast-suppression } block outbound -
配置VLAN的广播抑制速率。
[Huawei-vlan10] broadcast-suppression threshold-value
风暴控制原理
- 风暴控制可以用来防止广播、未知组播或未知单播报文产生的广播风暴。
- 在一个检测时间间隔内,设备监控接口下接收报文的平均速率并和配置最大阈值相比较。当报文速率大于配置的最大阈值时,接口将根据配置的风暴控制动作来对报文进行阻塞或关闭接口。

[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]storm-control broadcast min-rate 5000 max-rate 10000
[Huawei-GigabitEthernet0/0/2]storm-control interval 5
[Huawei-GigabitEthernet0/0/2]storm-control action block
风险控制动作包括阻塞报文和关闭接口。
- 如果对报文进行阻塞,当接口上接收报文的平均速率小于指定的最小阈值时,风险控制会放开在接口上对该报文的阻塞。
- 如果动作为关闭接口,则需要手动执行命令来开启接口,或者使能接口状态自动恢复为 UP 功能。
端口隔离概述
- 为了实现用户之间的二层隔离,可以将不同的用户加入不同的VLAN。但若企业规模很大,拥有大量的用户,那么就要为不能互相访问的用户都分配VLAN,这不但需要耗费大量的VLAN,还增加了网络管理者配置和维护的工作量。
- 为此华为推出了端口隔离技术,用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间二层数据的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。

- 在某些场景下,企业需要加强管理。即使不同VLAN间用户也禁止通信。缺省情况下,端口隔离模式是二层隔离三层互通。因此不同VLAN间的用户依然可以三层通信。
- 为实现上述目的,可以将端口隔离模式设置二三层均隔离。此时同一个VLAN的某个用户将彻底无法通信。

端口单向隔离
- 正常情况下,将端口设置隔离后,端口下的设备双向隔离,无法互相通信。但是在某些场景下,企业对于网络管理又提出了新的需求。比如用户主机和服务器之间一般是单向访问,或者防止某台主机产生大量广播报文。此时可以通过配置端口单向隔离来实现该目的。
- 缺省情况下,接口单向隔离只隔离接口的二层报文,三层报文不隔离。如果需要端口间二三层报文都单向隔离,则需要将模式切换成二三层均隔离即可。

端口隔离配置
-
配置端口隔离模式。
[Huawei] port-isolate mode { l2 | all } -
系统试图下使能端口隔离组功能。
[Huawei] port-isolate enable group group-id -
配置接口接入隔离组。
[Huawei-GigabitEthernet0/0/1] port-isolate enable group group-id -
l配置端口单向隔离功能。
[Huawei-GigabitEthernet0/0/1] am isolate interface-type interface-number1 to interface-number2
实验IE241205

[SW2]port-isolate ?
mode Mode
[SW2]port-isolate mode l2
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]port-isolate enable group 1
[SW2-GigabitEthernet0/0/1]int g0/0/2
[SW2-GigabitEthernet0/0/2]port-iso en gr 1

[SW3]port-isolate mode all
[SW3]int g0/0/1
[SW3-GigabitEthernet0/0/1]port-iso en gr 1
[SW3-GigabitEthernet0/0/1]int g0/0/2
[SW3-GigabitEthernet0/0/2]port-iso en gr 1


SW5上端口隔离GE0/0/1、GE0/0/2不在生效,如需要隔离,则将GE0/0/1与GE0/0/3或者GE0/0/2与GE0/0/4放在同一个端口隔离组。
总结
流量抑制技术:
将 BUM(广播、组播、未知单播帧)的转发速率限制在一个合法的范围内,超限部分就直接丢弃,不会被交换机处理并转发。他的主要目的还是去做一个范围内的限制。
风暴控制技术:
设置 BUM 的门限值,如果超限,直接 error‑down 接口。
其实正常情况下来说,就保持默认的 error‑down 并不算什么坏事,因为我将阈值设置在一个较为合理的范围内时,你超限了就是你的不对,这个接口下可能存在一些攻击、故障,所以我提前将该接口关闭掉也是一种保护方式。
超不超限,只与高门槛做对比。不论是 Error‑down 还是 block,超过了高门槛我就处理,不超过我就不处理,跟低门槛没有什么关系。低门槛只用于恢复判断用。
虽然你看起来风暴控制和流量抑制都是对 BUM 帧做一些判断和操作。
但是流量抑制更加倾向于把量控制在某个范围内。
e.g.有一个用户,现在在十秒内,一共发送了 9000 个广播包。
【①一秒钟发了 9000 个 ②还是每秒钟发了 900 个】
假如,现在做的是流量抑制,流量抑制允许每秒钟通过 900 个广播包。 ①用户最终能收到多少个广播包?900 个 ②用户最终能收到 9000 个包。
假如,现在做的是风暴控制,风暴控制的检测时间是 10 秒检测(收集)一次,低门槛是 800,高门槛是 901。 ①用户最终能收到多少个广播包?平均下来,你每秒钟只发了 900 个,我的高门槛是 901,你平均值并未到达高门槛,所以我都放行。 ②你每秒钟发送的广播包的数量都到不了高门槛,所以你这 9000 个包,最终都能过去,风暴控制也不会对接口、后续的报文做什么管控了。
风暴控制更加注重整体时间内平均的流量大小;
流量抑制呢,更加注重以秒为单位的流量大小。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐




所有评论(0)