端口安全和端口隔离

端口安全简介:

端口安全(Port Security)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC和Sticky MAC),阻止除安全MAC和静态MAC之外的主机通过本接口和设备通信,从而增强设备的安全性。

原理描述:

安全MAC地址分类:

类型 定义 特点
安全动态MAC地址 使能端口安全而未使能Sticky MAC功能时转换的MAC地址。 设备重启后表项会丢失,需要重新学习。缺省情况下不会被老化,只有在配置安全MAC的老化时间后才可以被老化。
Sticky MAC地址 使能端口安全后又同时使能Sticky MAC功能后转换到的MAC地址。 不会被老化,手动保存配置后重启设备不会丢失。

未使能端口安全功能时,设备的MAC地址表项可通过动态学习或静态配置。当某个接口使能端口安全功能后,该接口上之前学习到的动态MAC地址表项会被删除,之后学习到的MAC地址将变为安全动态MAC地址,此时该接口仅允许匹配安全MAC地址或静态MAC地址的报文通过。若接着使能Sticky MAC功能,安全动态MAC地址表项将转化为Sticky MAC表项,之后学习到的MAC地址也变为Sticky MAC地址。直到安全MAC地址数量达到限制,将不再学习MAC地址,并对接口或报文采取配置的保护动作。

超过安全MAC地址限制后得的动作:

接口上安全MAC地址数达到限制后,如果收到源MAC地址不存在的报文,端口安全则认为有非法用户攻击,就会根据配置的动作对接口做保护处理。缺省情况下,保护动作是丢弃该报文并上报告警。

动作 实现说明
restrict 丢弃源MAC地址不存在的报文并上报警。推荐使用该动作。 注:设备收到非法MAC地址的报文时,每30s至少警告1次,至多警告2次。
protect 只丢弃源MAC地址不存在的报文,不上告报警。
shutdown 接口状态被置为error-down,并上报告警。 注:默认情况下,接口关闭后不会自动恢复,只能由管理员手动恢复。

可以通过配置自动恢复来实现端口down后的自动恢复。

error-down auto-recovery cause{auto-defend | bpdu-protection | error-statistics | mac-address-flapping | port--sercurity} interval interval-value

应用场景:

端口安全经常使用在以下两种场景:

  • 应用在接入层设备,通过配置端口安全可以防止仿冒用户从其他端口攻击。
  • 应用在汇聚层设备,通过配置端口安全可以控制接入用户的数量。

接入层使用时注意:

  • 如果接入用户变动比较频繁,可以通过端口安全把动态MAC地址转换为安全动态MAC地址。这样可以在用户变动时,及时清除绑定的MAC地址表项。
  • 如果接入用户变动较少,可以通过端口安全把动态MAC地址转换为Sticky MAC地址。这样在保存配置重启后,绑定的MAC地址表项不会丢失。

配置命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
prot-security enable 
//使能端口安全功能

port-security max-mac-num 5
//配置端口安全动态MAC学习的数量

display mac-address security
//查看安全动态MAC表项

port-security mac-address sticky
//使能接口Sticky MAC功能

port-security protect-action {protect | restrict | shutdown}
//配置端口安全保护动作

port-security aging-time
//配置端口安全MAC地址老化时间

端口隔离:

端口隔离的方法和应用场景

端口隔离的方法 应用场景
配置接口单向隔离 接入同一个设备不同接口的多台主机,若某台主机存在安全隐患,往其他主机发送大量的广播报文,可以通过配置接口间的单向隔离来实现其他主机对该主机报文的隔离。同一端口隔离组的接口之间互相隔离,不同端口隔离组的接口之间不隔离。为了实现不同端口隔离组的接口之间的隔离,可以通过配置接口之间的单向隔离来实现。
配置端口隔离组 为了实现接口之间的二层隔离,可以将不同的接口加入不同的VLAN,但这样会浪费有限的VLAN资源。采用端口隔离特性,可以实现同一VLAN内接口之间的隔离。用户只需要将接口加入到隔离组中,就可以实现隔离组内接口之间二层数据的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。

端口隔离配置:

1
2
3
4
port-isolate mode { l2 | all}
//配置端口隔离模式,缺省情况下,端口隔离模式为二层隔离三层互通

port-isolate enable//使能端口隔离功能。

端口安全和端口隔离配置:

端口安全配置:

如下图,给三台交换机三个端口都配置了端口安全,同时为了禁止三台PC通信,配置了端口隔离。

端口安全

图:端口安全

配置命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[SW]dis current-configuration 
#
sysname SW
#
port-isolate mode all
//配置端口隔离模式为二层三层都隔离
#
interface GigabitEthernet0/0/1
port-security enable//使能端口安全
port-security protect-action shutdown
//配置端口安全保护动作为 shutdown
port-security max-mac-num 3
//配置端口最大MAC地址数量为3个
port-security mac-address sticky
//配置MAC地址模式为 sticky
port-isolate enable group 1
//端口隔离组1
#
interface GigabitEthernet0/0/2
port-security enable
port-security protect-action shutdown
port-security max-mac-num 3
port-security mac-address sticky
port-isolate enable group 1
#
interface GigabitEthernet0/0/3
port-security enable
port-security protect-action shutdown
port-security max-mac-num 3
port-security mac-address sticky
port-isolate enable group 1
#

注:配置多个端口时,可以先配置一个端口组,将需要配置的端口添加进端口组,然后就可同时配置多个端口。


参考文档:华为HedEx文档


坚持原创技术分享,您的支持将鼓励我继续创作!