1. 端口安全简介


端口安全(Port Security)通过将接口学习到的动态MAC地址转换为安全MAC地址(包括安全动态MAC和Sticky MAC),阻止非法用户通过本接口和交换机通信,从而增强设备的安全性

2. 端口安全原理


2.1 安全MAC地址的分类

image.png

类型 定义 特点
安全动态MAC地址 使能端口安全而未使能Sticky MAC功能时转换的MAC地址。 设备重启后表项会丢失,需要重新学习。
缺省情况下不会被老化,只有在配置安全MAC的老化时间后才可以被老化。
安全动态MAC地址的老化类型分为:绝对时间老化和相对时间老化。
- 如设置绝对老化时间为5分钟:系统每隔5分钟检测一次是否有该MAC的流量。若没有流量,则立即将该安全动态MAC地址老化。如有则不做处理,等待5分钟再检测。
- 如设置相对老化时间为5分钟:系统每隔1分钟检测一次是否有该MAC的流量。若没有流量,则经过5分钟后将该安全动态MAC地址老化。
Sticky MAC地址 使能端口安全后又同时使能Sticky MAC功能后转换到的MAC地址。 不会被老化,手动保存配置后重启设备不会丢失

:::warning 端口安全 - 图2

  • 接口使能端口安全功能时,接口上之前学习到的动态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**查看接口状态自动恢复信息。

3. 端口安全应用场景


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

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

3.1 接入层使用场景

如下图,用户PC1和PC3通过IP Phone接入Switch A设备,用户PC2直接接入设备Switch A,为了保证接入设备安全性,防止非法用户攻击,可以在接入设备Switch A的接口上配置端口安全功能。
端口安全 - 图3

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

3.2 汇聚层使用场景

如下图,树状组网中,多个用户通过Switch A和汇聚层设备Switch进行通信。为了保证汇聚设备的安全性,控制接入用户的数量,可以在汇聚设备配置端口安全功能,同时指定安全MAC地址的限制数。
端口安全 - 图4

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地址会丢失,需要重新学习。

image.png

  1. LSW2配置:
  2. [Huawei]interface g0/0/2 //进入需要开启端口安全的端口
  3. [Huawei-GigabitEthernet0/0/2]port-security enable //启用端口安全
  4. [Huawei-GigabitEthernet0/0/2]port-security max-mac-num 3 //设置该端口下mac最多学习数量为3
  5. [Huawei-GigabitEthernet0/0/2]port-security aging-time 120 type xx
  6. //设置老化时间为120s并可以设置老化类型:绝对老化时间、相对老化时间
  7. [Huawei-GigabitEthernet0/0/2]port-security protect-action ? //配置惩罚机制
  8. protect Discard packets //丢弃报文,不上报日志告警
  9. restrict Discard packets and warning //丢弃报文并上报日志告警
  10. shutdown Shutdown //关闭端口
  11. [Huawei-GigabitEthernet0/0/2]port-security mac-address sticky //开启Sticky MAC
  12. [Huawei-GigabitEthernet0/0/2]port-security mac-address sticky 0001-0002-0003 vlan 10
  13. //静态Sticky MAC配置

4.3 检查配置结果

  1. [Huawei]display current-configuration interface GigabitEthernet 0/0/2 //查看接口下配置
  2. [Huawei]display mac-address security vlan 1 GigabitEthernet 0/0/2 //查看安全表项
  3. [Huawei]display port-security [ interface interface-type interface-number ] //查看端口安全信息