一、端口安全概述

为什么需要端口安全?

说实话,我刚入行那会儿,觉得交换机端口安全就是个摆设。直到有一次,客户公司内部网络被攻击,原因就是有人随便插了个无线路由器到办公网口上。嗯,从那以后,我再也不敢小看端口安全了。

你想想看,一个企业网络里,交换机端口是最容易被忽视的入口。任何一个人,只要拿着笔记本电脑往墙上的网口一插,就能直接接入内网。这就像你家大门没上锁,谁都能进来溜达一圈。

我在项目中遇到过这样的情况:某公司财务部员工离职后,他的工位网口被新员工使用。结果新员工的电脑中了病毒,直接在内网横向扩散,导致整个财务系统瘫痪了三天。事后排查发现,如果当时启用了端口安全,这种问题完全可以避免。

端口安全主要解决以下几个痛点:

  • 非法设备接入——防止未授权的电脑、路由器、AP 等设备接入网络
  • MAC 地址欺骗——防止攻击者伪造合法设备的 MAC 地址进行中间人攻击
  • DHCP 耗尽攻击——防止攻击者通过大量伪造 MAC 地址耗尽 DHCP 地址池
  • 网络资源滥用——防止员工私自接入个人设备占用带宽
⚠️ 注意:端口安全不是万能的。它只能基于 MAC 地址做基础防护,无法防御 ARP 欺骗、VLAN 跳跃等更高级的攻击。我建议把它作为纵深防御体系中的第一道防线,而不是唯一防线。

端口安全的基本概念

端口安全,说白了就是给交换机的每个端口设置一个「白名单」。只有白名单里的设备才能通过这个端口通信。其他设备想进来?门儿都没有。

核心概念其实就三个:

概念 说明 我的经验
安全 MAC 地址 允许通过该端口的 MAC 地址列表 我习惯手动配置关键设备的 MAC,比如服务器、打印机
最大安全 MAC 数 端口允许学习/配置的最大 MAC 地址数量 普通办公口设 1-2 个就够了,别设太多
违规处理模式 当非法 MAC 出现时,端口怎么处理 我最常用的是 shutdown 模式,简单粗暴有效

这里有个容易混淆的地方:安全 MAC 地址分为三种类型——

  • 静态安全 MAC:管理员手动配置,保存在 running-config 中
  • 动态安全 MAC:交换机自动学习,重启后丢失
  • 粘性安全 MAC:交换机自动学习后保存到配置中,重启不丢失

我个人比较推荐粘性 MAC。为什么呢?因为静态配置太麻烦,动态的又怕重启后丢数据。粘性 MAC 刚好取了个折中——第一次插上设备让它自动学习,之后配置就固化下来了。

端口安全的工作原理

工作原理其实不复杂。我尽量用大白话讲清楚:

当一台设备连接到交换机端口时,交换机会检查这个设备的 MAC 地址。如果这个 MAC 地址在安全 MAC 列表里,就放行。如果不在,就触发违规处理。

具体流程是这样的:

  1. 设备接入端口,发送第一个数据帧
  2. 交换机提取源 MAC 地址
  3. 检查该 MAC 是否在安全 MAC 列表中
  4. 如果在,正常转发;如果不在,检查当前已学习的安全 MAC 数量
  5. 如果未达到最大安全 MAC 数,学习该 MAC 并加入列表
  6. 如果已达到最大数,触发违规处理

💡 核心要点:端口安全是在端口级别生效的。同一个交换机上,你可以给不同端口设置不同的安全策略。比如给服务器端口设 5 个 MAC,给办公端口只设 1 个。

违规处理有三种模式,我分别说说:

模式 行为 恢复方式 我推荐场景
protect 丢弃非法 MAC 的流量,不通知 自动恢复 不太推荐,出了问题你都不知道
restrict 丢弃非法 MAC 的流量,发送日志 自动恢复 监控场景,先观察再决定
shutdown 直接关闭端口 手动恢复或配置自动恢复 生产环境首选,安全第一

我曾经在一个客户现场遇到过这种情况:他们启用了 shutdown 模式,结果有个员工换电脑后端口直接被 shutdown 了。运维人员不知道怎么回事,折腾了半天才找到原因。所以我现在都会建议:启用 shutdown 模式的同时,配置 errdisable 自动恢复,比如 5 分钟后自动恢复端口。这样既保证了安全,又不会因为一次误操作导致长时间断网。

📌 小技巧:配置端口安全前,先用 show mac address-table 看看端口上当前有哪些 MAC 地址。这样你心里有数,知道该设多少个安全 MAC 比较合理。

嗯,端口安全的基本概念和原理就这些。说白了就是给端口上个锁,钥匙就是 MAC 地址。下一节我会讲具体的配置命令和实战案例,到时候咱们再细聊。