端口安全技术背景
企业要求接入层交换机上每个连接终端设备的接口均只允许一台PC接入网络(限制MAC地址接入数量)。如果有员工试图在某个接口下级联一台小交换机或集线器从而扩展上网接口,那么这种行为应该被发现或被禁止,如下图所示:
另一些企业还可能会要求只有MAC地址为可信任的终端发送的数据帧才允许被交换机转发到上层网络,员工不能私自更换位置(变更交换机的接入端口),如下图所示:
通过交换机的端口安全(port security)特性可以解决这些问题。
端口安全概述
通过在交换机的特定接口上部署端口安全,可以限制接口的MAC地址学习数量,并且配置出现越限时的惩罚措施。
端口安全通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC,安全静态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。
端口安全技术原理
安全MAC地址通常与安全保护动作结合使用,常见的安全保护动作有:
- Restrict:丢弃源MAC地址不存在的报文并上报告警。
- Protect:只丢弃源MAC地址不存在的报文,不上报告警。
- Shutdown:接口状态被置为error-down,并上报告警。
端口安全技术应用
在对接入用户的安全性要求较高的网络中,可以配置端口安全功能及端口安全动态MAC学习的限制数量。此时接口学习到的MAC地址会被转换为安全MAC地址,接口学习的最大MAC数量达到上限后不再学习新的MAC地址,仅允许这些MAC地址和交换机通信。而且接口上安全MAC地址数达到限制后,如果收到源MAC地址不存在的报文,无论目的MAC地址是否存在,交换机即认为有非法用户攻击,就会根据配置的动作对接口做保护处理。这样可以阻止其他非信任用户通过本接口和交换机通信,提高交换机与网络的安全性。
配置端口安全功能后,接口学习到的MAC地址会转换为安全MAC地址,接口学习的最大MAC数量达到上限后不再学习新的MAC地址,仅允许这些MAC地址和交换机通信。如果接入用户发生变动,可以通过设备重启或者配置安全MAC老化时间刷新MAC地址表项。对于相对比较稳定的接入用户,如果不希望后续发生变化,可以进一步使能接口Sticky MAC功能,这样在保存配置之后,MAC地址表项不会刷新或者丢失。
端口安全配置命令
(1)使能端口安全功能:
[Huawei-GigabitEthernet0/0/1] port-security enable
缺省情况下,未使能端口安全功能。
(2)配置端口安全动态MAC学习限制数量:
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num max-number
缺省情况下,接口学习的安全MAC地址限制数量为1。
(3)(可选)手工配置安全静态MAC地址表项:
[Huawei-GigabitEthernet0/0/1] port-security mac-address mac-address vlan vlan-id
(4)(可选)配置端口安全保护动作:
[Huawei-GigabitEthernet0/0/1] port-security protect-action { protect | restrict | shutdown }
缺省情况下,端口安全保护动作为restrict。
当出现静态MAC地址漂移时,接口将执行error down操作,同时发出告警:
- 当学习到的MAC地址数超过接口限制数时,接口将执行error down操作,同时发出告警。
- 当出现静态MAC地址漂移时,接口将执行error down操作,同时发出告警。
- 当学习到的MAC地址数超过接口限制数时,接口将丢弃源地址在MAC表以外的报文,同时发出告警。
- 当出现静态MAC地址漂移时,接口将丢弃带有该MAC地址的报文,同时发出告警。
- 当学习到的MAC地址数超过接口限制数时,接口将丢弃源地址在MAC表以外的报文。
- 当出现静态MAC地址漂移时,接口将丢弃带有该MAC地址的报文。
- protect
- restrict
- shutdown
(5)(可选)配置接口学习到的安全动态MAC地址的老化时间:
[Huawei-GigabitEthernet0/0/1] port-security aging-time time [ type { absolute | inactivity } ]
缺省情况下,接口学习的安全动态MAC地址不老化。
(6)使能接口Sticky MAC功能
[Huawei-GigabitEthernet0/0/1] port-security mac-address sticky
缺省情况下,接口未使能Sticky MAC功能。
(7)配置接口Sticky MAC学习限制数量。
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num max-number
[Huawei-GigabitEthernet0/0/1] port-security max-mac-num max-number
使能接口Sticky MAC功能后,缺省情况下,接口学习的MAC地址限制数量为1。
(8)(可选)手动配置一条sticky-mac表项:
[Huawei-GigabitEthernet0/0/1] port-security mac-address sticky mac-address vlan vlan-id
端口安全配置举例
安全动态MAC
配置要求:
- 在Switch1上部署端口安全。
- GE0/0/1及GE0/0/2接口将学习MAC地址的数量限制为1。当该接口连接多台PC时,Switch1需发出告警,且要求此时接口依然能正常转发合法PC的数据帧。
- GE0/0/3接口将学习MAC地址的数量限制为2,并且当学习到的MAC地址数超出接口限制数时,交换机需发出告警,并且将接口关闭。
Switch1配置如下:
[Switch1] interface GigabitEthernet 0/0/1
[Switch1-GigabitEthernet 0/0/1] port-security enable
[Switch1-GigabitEthernet 0/0/1] port-security max-mac-num 1
[Switch1-GigabitEthernet 0/0/1] port-security protect-action restrict
[Switch1] interface GigabitEthernet 0/0/2
[Switch1-GigabitEthernet 0/0/2] port-security enable
[Switch1-GigabitEthernet 0/0/2] port-security max-mac-num 1
[Switch1-GigabitEthernet 0/0/2] port-security protect-action restrict
[Switch1] interface GigabitEthernet 0/0/3
[Switch1-GigabitEthernet 0/0/3] port-security enable
[Switch1-GigabitEthernet 0/0/3] port-security max-mac-num 2
[Switch1-GigabitEthernet 0/0/3] port-security protect-action shutdown
配置验证:执行命令display mac-address security,查看动态安全MAC表项。
[Switch1]display mac-address security
MAC address table of slot 0:
----------------------------------------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
----------------------------------------------------------------------------------------------------------------
5489-98ac-71a9 1 - - GE0/0/3 security -
5489-98b1-7b30 1 - - GE0/0/1 security -
5489-9815-662b 1 - - GE0/0/2 security -
----------------------------------------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 3
Sticky MAC
配置要求:
- 在Switch上部署端口安全。将GE0/0/1~G0/0/3都激活端口安全。
- GE0/0/1及GE0/0/2接口都将学习MAC地址的数量限制为1,并将在这两个接口上学习到的动态安全MAC地址转换为Sticky MAC地址。
- 对于GE0/0/3将学习MAC地址的数量限制为1,但是通过手工的方式为该接口创建一个sticky MAC地址表项,将该接口与MAC地址5489-98ac-71a9绑定。各接口违例惩罚保持缺省。
Switch配置如下:
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet 0/0/1] port-security enable
[Switch-GigabitEthernet 0/0/1] port-security max-mac-num 1
[Switch-GigabitEthernet 0/0/1] port-security mac-address sticky
[Switch] interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet 0/0/2] port-security enable
[Switch-GigabitEthernet 0/0/2] port-security max-mac-num 1
[Switch-GigabitEthernet 0/0/2] port-security mac-address sticky
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet 0/0/3] port-security enable
[Switch-GigabitEthernet 0/0/3] port-security max-mac-num 1
[Switch-GigabitEthernet 0/0/3] port-security mac-address sticky
[Switch-GigabitEthernet 0/0/3] port-security mac-address sticky 5489-98ac-71a9 vlan 1
配置验证执行命令display mac-address sticky,查看Sticky MAC表项:
[Switch1]display mac-address sticky
MAC address table of slot 0:
-------------------------------------------------------------------------------------------------------
MAC Address VLAN/ PEVLAN CEVLAN Port Type LSP/LSR-ID
VSI/SI MAC-Tunnel
-------------------------------------------------------------------------------------------------------
5489-98ac-71a9 1 - - GE0/0/3 sticky -
5489-98b1-7b30 1 - - GE0/0/1 sticky -
5489-9815-662b 1 - - GE0/0/2 sticky -
-------------------------------------------------------------------------------------------------------
Total matching items on slot 0 displayed = 3