1. 端口安全简介
端口安全(Port Security)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性。
2. 端口安全原理
2.1 安全MAC地址的分类
类型 | 定义 | 特点 |
---|---|---|
安全动态MAC地址 | 使能端口安全而未使能Sticky MAC功能时转换的MAC地址。 | 设备重启后表项会丢失,需要重新学习。 缺省情况下不会被老化,只有在配置安全MAC的老化时间后才可以被老化。 安全动态MAC地址的老化类型分为:绝对时间老化和相对时间老化。 - 如设置绝对老化时间为5分钟:系统每隔5分钟检测一次是否有该MAC的流量。若没有流量,则立即将该安全动态MAC地址老化。如有则不做处理,等待5分钟再检测。 - 如设置相对老化时间为5分钟:系统每隔1分钟检测一次是否有该MAC的流量。若没有流量,则经过5分钟后将该安全动态MAC地址老化。 |
Sticky MAC地址 | 使能端口安全后又同时使能Sticky MAC功能后转换到的MAC地址。 | 不会被老化,手动保存配置后重启设备不会丢失 |
:::warning
- 接口使能端口安全功能时,接口上之前学习到的动态MAC地址表项将被删除,之后学习到的MAC地址将变为安全动态MAC地址。
**
接口下动态MAC只能转换为安全动态MAC或者Sticky MAC的一种。接口使能Sticky MAC功能时,接口上的安全动态MAC地址表项转化为Sticky MAC地址,之后学习到的MAC地址也变为Sticky MAC地址。接口去除使能Sticky MAC功能时,接口上的Sticky MAC地址,会转换为安全动态MAC地址。
接口去除使能端口安全功能时,接口上的安全动态MAC地址将被删除,重新学习动态MAC地址。
** :::
2.2 端口安全动作
超过安全MAC地址限制数后的动作
接口上安全MAC地址数达到限制后,如果收到源MAC地址不存在的报文,端口安全则认为有非法用户攻击,就会根据配置的动作对接口做保护处理。缺省情况下,保护动作是丢弃该报文并上报告警。
restrict:丢弃源MAC地址不存在的报文并上报告警。推荐使用restrict动作。
protect:只丢弃源MAC不存在的报文,不上报告警。
error-down:接口状态被置为Error-down,并上报告警。
- 配置端口安全保护动作为error-down后,如果接口安全MAC地址学习数量达到上限,接口将会被Error-down。Error-down是指设备检测到故障后将接口状态设置为Error Down状态,此时接口不能收发报文,接口指示灯为常灭。可以通过
display error-down recovery
命令可以查看设备上所有被Error-Down的接口信息。 - 接口被Error-down时,建议先排除引起接口Error-Down的原因。有以下两种方式可以恢复接口状态:
- 手动恢复(Error-Down发生后)
- 当处于Error-Down状态的接口数量较少时,可在该接口视图下依次执行命令shutdown和undo shutdown,或者执行命令restart,重启接口。
- 自动恢复(Error-Down发生后)
- 如果处于Error-Down状态的接口数量较多,逐一手动恢复接口状态将产生大量重复工作,且可能出现部分配置遗漏。为避免这一问题,用户可在系统视图下执行命令
error-down auto-recovery cause portsec-reachedlimit interval xxx
使能接口状态自动恢复为up的功能,并设置接口自动恢复为up的延时信息。可以通过display error-down
**recovery
**查看接口状态自动恢复信息。
- 如果处于Error-Down状态的接口数量较多,逐一手动恢复接口状态将产生大量重复工作,且可能出现部分配置遗漏。为避免这一问题,用户可在系统视图下执行命令
- 手动恢复(Error-Down发生后)
3. 端口安全应用场景
端口安全经常使用在以下几种场景:
- 应用在接入层设备,通过配置端口安全可以防止仿冒用户从其它端口攻击。
- 应用在汇聚层设备,通过配置端口安全可以控制接入用户的数量。
3.1 接入层使用场景
如下图,用户PC1和PC3通过IP Phone接入Switch A设备,用户PC2直接接入设备Switch A,为了保证接入设备安全性,防止非法用户攻击,可以在接入设备Switch A的接口上配置端口安全功能。
- 如果接入用户变动比较频繁,可以通过端口安全把动态MAC地址转换为安全动态MAC地址。这样可以在用户变动时,及时清除绑定的MAC地址表项。
- 如果接入用户变动较少,可以通过端口安全把动态MAC地址转换为Sticky MAC地址。这样在保存配置重启后,绑定的MAC地址表项不会丢失。
3.2 汇聚层使用场景
如下图,树状组网中,多个用户通过Switch A和汇聚层设备Switch进行通信。为了保证汇聚设备的安全性,控制接入用户的数量,可以在汇聚设备配置端口安全功能,同时指定安全MAC地址的限制数。
4. 端口安全配置
4.1 端口安全缺省配置
参数 | 缺省值 |
---|---|
端口安全功能 | 未使能 |
端口学习的安全MAC地址数 | 1个 |
达到安全MAC地址数后的保护动作 | restrict:丢弃源MAC地址不存在的报文并上报告警 |
安全MAC老化时间 | 不老化 |
4.2 配置端口安全
端口安全(Port Security)功能将设备接口学习到的MAC地址变为安全MAC地址(包括安全动态MAC和Sticky MAC),可以阻止除安全MAC和静态MAC之外的主机通过本接口和交换机通信,从而增强设备安全性。
在配置端口安全之前,需完成以下任务:
- 关闭基于接口的MAC地址学习限制功能。
- 关闭配置MUX VLAN功能。
- 关闭DHCP Snooping的MAC安全功能。
在对接入用户的安全性要求较高的网络中,可以配置端口安全功能,将接口学习到的MAC地址转换为安全动态MAC或Sticky MAC,接口学习的最大MAC数量达到上限后不再学习新的MAC地址,只允许这些MAC地址和设备通信。这样可以阻止其他非信任的MAC主机通过本接口和其他主机通信,提高网络的安全性。
缺省情况下,安全动态MAC表项不会被老化,但可以通过在接口上配置安全动态MAC老化时间使其变为可以老化,设备重启后安全动态MAC地址会丢失,需要重新学习。
LSW2配置:
[Huawei]interface g0/0/2 //进入需要开启端口安全的端口
[Huawei-GigabitEthernet0/0/2]port-security enable //启用端口安全
[Huawei-GigabitEthernet0/0/2]port-security max-mac-num 3 //设置该端口下mac最多学习数量为3
[Huawei-GigabitEthernet0/0/2]port-security aging-time 120 type xx
//设置老化时间为120s并可以设置老化类型:绝对老化时间、相对老化时间
[Huawei-GigabitEthernet0/0/2]port-security protect-action ? //配置惩罚机制
protect Discard packets //丢弃报文,不上报日志告警
restrict Discard packets and warning //丢弃报文并上报日志告警
shutdown Shutdown //关闭端口
[Huawei-GigabitEthernet0/0/2]port-security mac-address sticky //开启Sticky MAC
[Huawei-GigabitEthernet0/0/2]port-security mac-address sticky 0001-0002-0003 vlan 10
//静态Sticky MAC配置
4.3 检查配置结果
[Huawei]display current-configuration interface GigabitEthernet 0/0/2 //查看接口下配置
[Huawei]display mac-address security vlan 1 GigabitEthernet 0/0/2 //查看安全表项
[Huawei]display port-security [ interface interface-type interface-number ] //查看端口安全信息