Port Security

本文介绍了一个高安全性网络的构建需求,通过使用端口安全(PortSecurity)功能限制MAC地址学习数量,防止非法接入,确保网络的安全性和稳定性。文章详细解释了如何在交换机端口上部署端口安全,包括配置安全MAC地址学习限制、设置违例惩罚机制等关键步骤。

背景需求

  • 如下图所示的网络拓扑中,展示的是一个对安全性要求较高的网络,
  • 某企业搭建该网络需求如下:
    (1)员工通过该企业分配的PC连接到接入层交换机(Access-Switch)上,以便获得与核心网络(Core Network)的IP连通。
    (2)出于网络安全考虑,企业要求接入层交换机上每个连接终端设备的端口均只允许一台PC接入网络,也就是说,如果有用户试图在某个端口下级联一台小型交换机或者集线器从而扩展上网端口,那么这种行为应该被发现而且被禁止。
    (3)并且要求,只有可信赖的终端发送的数据帧才允许被交换机转发到上层网络,员工不能私下更换位置(将PC从接入层交换机的某个端口变更至其他端口)。
    在这里插入图片描述

解决方法

  • 端口安全(Port Security)可用于实现上述需求。
  • 通过在交换机的特定端口上部署端口安全功能,可以限制端口的MAC地址学习数量,并配置当出现违规行为时的惩罚机制。
  • 并且,部署了Port Security的端口可以将其学习到的MAC地址变为安全MAC地址,从而阻止除了安全地址之外的其他MAC地址通过该端口接入网络。

端口安全(Port Security)

  • 端口部署端口安全功能之后,会解析交换机在端口上收到的数据帧的源MAC地址,并进行MAC地址学习,学习到的MAC地址也会被交换机转换为动态安全MAC地址,后续该端口将只允许这些MAC地址接入网络。
  • 当交换机端口学习到的MAC地址达到Port Security设置的上限后,交换机将不在该端口上继续学习MAC地址,因此其他非信任的终端将无法通过该端口进行通信。
  • 动态安全MAC地址表项是不会被老化的,但是需要注意的是,当交换机重启后,这些MAC地址表项还是会被丢失,因此交换机不得不重新学习动态安全MAC地址。
  • Sticky MAC表项是安全MAC地址表项的升级版本,这种表项是不会被老化的,而且若交换机保存配置后重启,表项也不会丢失(交换机重启之后,可以恢复运行数据安全MAC地址表项)。

示例

如下图所示的网络拓扑中,在交换机SW上部署Port Security,需求如下:

  • 将GE0/0/1至GE0/0/3端口都激活Port Security。
  • 其中GE0/0/1及GE0/0/2端口将学习MAC地址的数量限制为1,也就是这两个端口各自只允许连接一台PC。当该端口连接其他PC时,交换机需发出告警,且要求此时端口依然能够正常转发合法PC的数据帧(存在非法用户接入时,端口不会被关闭,但是只允许合法用户进行通信)。
  • 另外,GE0/0/3端口将学习MAC地址的数量限制为2,并且当学习到的MAC地址数超出端口限制数时,交换机需发出告警并将该端口关闭。

在这里插入图片描述

为实现上述需求,涉及以下三条命令(HW):

  • 在端口视图下配置的port-security enable命令(HW)用于将该端口设置为安全端口。
  • 在端口视图下配置的port-security max-mac-num 1命令(HW)用于配置该端口的动态安全MAC地址学习限制数量,(此命令是可选的,若不配置该命令,端口缺省的动态安全MAC地址学习限制是1)。
  • 在端口视图下配置的port-security protect-action {protect | restrict | shutdown}命令(HW)用于配置当端口学习到的MAC地址数达到限制后的保护动作,此命令后面有三个可选关键字如下:
    (1)protect:当该安全端口学习到的MAC地址数量达到限制数量时,它将丢弃源MAC地址不与该端口的安全MAC地址匹配的数据帧。
    (2)restrict:当该安全端口学习到的MAC地址数量达到限制数量时,它将丢弃源MAC地址不与该端口的安全MAC地址匹配的数据帧,同时发出告警,该行为为缺省动作。
    (3)shutdown:当该安全端口学习到的MAC地址数量达到限制数量时,如果该端口学习到新的MAC地址,它将被立即关闭(置为Error-Down状态),同时设备将发出告警。
操作步骤

(1)当 PC1及PC2接入SW并且开始发送数据时,在SW上查看MAC地址表项:
在这里插入图片描述

(2)如果将PC1进行更换,将其他的终端接入SW的GEO/0/1端口并尝试进行通信:

  • 当这台新的终端发送的数据帧到达SW时,SW解析数据帧的源MAC地址,并发现该MAC地址与GE0/0/1端口的安全MAC地址表项不符,
  • 并且该端口已经达到了安全MAC地址学习数量的上限,
  • 因此新加入的终端将触发违例惩罚,由于GE0/0/1端口上配置的protect-action是restrict,因此交换机会丢弃该终端发送的数据帧,并且弹出如下告警:May 5 2020 17:45:56-08:00 SW L2IFPPI/4/PORTSEC_ACTION_ALARM:OID 1.3.6.1.4.1.2011.5.25.42.2.1.7.6 The number of MAC address on interface (6/6) GigabitEthernet0/0/1 reaches the limit, and the port status is1.(1:restrict;2:protect;3shutdown)

(3)交换机SW的GEO/0/3端口通过集线器下联两台PC:PC3、PC4。当PC3及PC4开始发送数据时,在SW上查看MAC地址表项:
在这里插入图片描述

(4)现在如果将PC5也连接到了该集线器,并且它也开始发送数据帧到SW:

  • 当SW在GE0/0/3端口上收到PC5发送的数据帧时,它将解析这个数据帧的源MAC地址,并发现该MAC地址不在GE0/0/3端口的安全MAC地址中,
  • 并且该端口已经达到了安全MAC地址学习数量的上限,
  • 因此新加入的终端PC5将触发违例惩罚,该端口配置的保护动作是shutdown,因此SW会将GE0/0/3关闭,并输出如下告警:May 5 2020 18:13:18-08:00 SW L2IFPP1/4/PORTSEC_ACTION_ALARM:OID 1.3.6.1.4.1.2020.5.25.422.1.7.6 The number of MAC address on interface (8/8) GigabitEthernet0/0/3 reaches the limit, and the port status is : 3.(1:restrict;2:protect;3:shutdown) Aug 5 2020 18:13:19-08:00 SW %%01PHY/1/PHY(1)[0]: GigabitEthemet0/0/3: change status to down.

(5)此时在SW上查看MAC地址表项:
在这里插入图片描述

(6)查看GE0/0/3的端口的状态信息:
在这里插入图片描述
通过查看GE0/0/3端口的当前配置信息,发现该端口被系统自动添加了一条shutdown配置。

(7)假设现在集线器所连接的用户知晓了自己的违例行为,并且进行了纠正:将新增的PC5移除。

  • 缺省情况下,处于Error-Down状态的端口状态自动恢复为Up的功能并未被激活,因此即使SW的GE0/0/3下联的非法终端被移除,该端口也会一直处于Error-Down状态。
  • 系统视图下配置error-down auto-recovery cause port-security interval命令(HW)可以激活端口自动恢复为Up的功能,该命令中的interval关键字后面需配置相应的时间参数作为端口自动恢复为Up的延迟时间。
  • 对于还未处于Error-Down状态的端口而言,如果存在非法接入用户导致端口状态变成Error-Down,当违例行为消除,SW将在一段时间后自动将该端口复到Up状态。
### Port Security 的历史与发展 Port Security(端口安全)的概念起源于网络基础设施的安全需求增长时期。随着计算机网络的发展,尤其是局域网(LAN)技术的进步,如何保护交换机端口免受未授权访问成为一个重要议题。 #### 初期发展 早期的LAN环境中,安全性主要依赖于物理控制——即确保只有经过许可的工作站能够连接到特定位置上的网络插孔。然而,这种做法容易受到内部人员滥用以及社会工程学攻击的影响。为了应对这些挑战,Cisco公司在1990年代后期引入了基于MAC地址过滤机制的第一代Port-Based Network Access Control (PNAC),这标志着现代意义上的Port Security正式诞生[^4]。 #### 技术演进 随着时间推移,Port Security功能不断扩展和完善: - **静态配置**:管理员可以手动设置允许接入某个物理端口的最大数量及其对应的MAC地址列表。 - **动态学习模式**:支持自动识别并记录首次成功登录该接口的有效终端设备信息作为合法条目;一旦超出预设阈值,则触发防护措施阻止新加入者。 - **违规处理策略**:当检测到违反既定规则的行为时,可采取多种响应方式,比如关闭受影响端口、发送告警通知给管理平台等操作来保障网络安全稳定运行。 #### 当前趋势 如今,Port Security已经成为企业级园区网不可或缺的一部分,并与其他高级别的身份验证手段相结合形成更强大的综合防御体系。例如802.1X认证协议的应用使得每个试图连入内网资源的人都需先完成个人凭证校验过程才能获得相应权限级别下的服务访问权。与此同时,零信任架构理念也促使着传统边界型防护思路向细粒度持续监控转变,进一步提升了整体信息安全水平。 ```python # Python伪代码展示简单的端口安全管理逻辑 def port_security_check(mac_address, max_allowed_devices=1): if len(get_connected_macs()) >= max_allowed_devices or mac_address not in trusted_mac_list: shutdown_port() send_alert("Unauthorized device detected.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值