上周帮朋友公司查网络异常,发现一台办公电脑老是断连,重启交换机端口才恢复。最后揪出来是一台员工私自接的路由器,还带WiFi,连着手机和平板一起蹭内网——这不是个别现象,很多小办公室的交换机默认开着所有端口,谁插根网线就能进内网。
为什么端口不设防等于敞开大门
普通二层交换机不像防火墙,它不认IP、不管账号,只看MAC地址。只要物理线插上,设备通电,交换机就默认转发数据。攻击者拿个笔记本往空闲端口一插,几秒就能扫到内网资产;实习生随手把家里旧路由器接上去,可能就让整个财务共享文件夹暴露在外。
动手做一次端口安全实验(以Cisco Packet Tracer为例)
打开Packet Tracer,拖一台2960交换机和两台PC。先不做任何配置,PC0直连Fa0/1,PC1直连Fa0/2,互相能ping通——这就是裸奔状态。
接着进入交换机命令行:
Switch> enable
Switch# configure terminal
Switch(config)# interface fa0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport port-security
Switch(config-if)# switchport port-security maximum 1
Switch(config-if)# switchport port-security violation restrict
Switch(config-if)# switchport port-security mac-address sticky这段命令的意思是:在Fa0/1口启用端口安全,只允许1个MAC地址接入,新设备插进来就丢包(restrict),已学习的MAC自动记下来(sticky)。
配完再试:PC0正常联网。这时候如果拔掉PC0,换上PC1插同一端口,会发现ping不通,且交换机日志里冒出%SW_MATM-4-MACFLAP_NOTIF: Host 0050.7966.6800 in vlan 1 is flapping between port Fa0/1 and port Fa0/2——说明它已经拦住了非法接入。
真实环境要注意的细节
企业里别只开restrict模式,建议改成violation shutdown,直接关闭端口,配合SNMP告警或邮件通知管理员;sticky学到的MAC要定期导出备份,避免设备重装系统后MAC变了被锁死;如果是会议室、前台这种公用端口,可以设成maximum 3,但必须配合802.1X认证,光靠MAC限制扛不住伪造。
某次给本地律所做巡检,发现他们用的TP-Link交换机没端口安全功能,我就帮他们在每个信息点加了物理锁扣,贴上“禁接私设设备”标签——技术控不住人的时候,物理+管理双保险更实在。