【计算机网络】第6篇:虚拟局域网——基于标签的广播域划分及其安全边界
目录1. 问题的缘起一张物理网络多个逻辑隔离2. 802.1Q标签格式设计权衡与实现约束2.1 标签插入的位置2.2 三字段分解2.3 优先级位的工程价值3. Trunk链路与本征VLAN3.1 Access口与Trunk口的分工3.2 本征VLAN的设计冗余4. VLAN跳层攻击原理与变体4.1 交换机欺骗攻击4.2 双重标签攻击5. 防御策略的体系化6. 结语参考文献1. 问题的缘起一张物理网络多个逻辑隔离交换式以太网解决了碰撞域问题却制造了新的困扰。广播帧仍然被泛洪到交换机的所有端口一个ARP请求可能让成百上千台不相关的设备收到。在大型办公网络中市场部的ARP流量不应打扰开发部的服务器财务部的数据帧不应出现在访客Wi-Fi的网段上。物理隔离方案很明确搭建两张独立的物理网络各用各的交换机和线缆。但成本随隔离需求线性增长——五个部门需要五套物理设备、五倍的维护工作。VLAN的核心洞察是用软件配置替代物理设备在同一交换机内部创建多个逻辑隔离的二层网络。从控制平面看交换机在逻辑上被分割为多个独立的网桥每个VLAN维护自己的转发表、运行自己的STP实例、泛洪自己的广播帧。从数据平面看帧在端口与端口的交换过程中始终携带其VLAN归属信息交换机据此决定转发范围。两个VLAN之间如果不通过三层路由设备帧就无法跨越VLAN边界。2. 802.1Q标签格式设计权衡与实现约束2.1 标签插入的位置802.1Q选择在以太网帧的源MAC地址与EtherType之间插入4字节标签。这个位置的选择经过了审慎考量——它必须对不支持VLAN的老旧网卡和驱动程序保持透明。支持802.1Q的交换机在发送帧时插入标签接收端的交换机剥离标签后交付给目标主机。对于终端设备而言VLAN标签的存在是不可见的——它们收发的是标准以太网帧。这意味着VLAN部署可以无缝兼容现网设备终端主机无需任何软硬件升级。2.2 三字段分解4字节的802.1Q标签分解为三个字段。TPID标签协议标识符占16位固定为0x8100。网卡通过检查这个域区分标准以太网帧和802.1Q标记帧。0x8100的位置恰好是未标记帧的EtherType字段所在地因此接收方可以从同一位置读取并判断帧类型。TCI标签控制信息占16位包含三个子字段PCP优先级码点占3位支持8个优先级类别为QoS提供基础DEI丢弃适格指示占1位标识该帧在拥塞时可优先丢弃VIDVLAN标识符占12位取值范围0-4095。12位的VID限定了理论最大VLAN数量为4096个。0和4095被保留为特殊用途——VID 0表示该帧不含VLAN信息仅携带优先级标记VID 4095通常用于预留。实际可用VLAN为1-4094共4094个。在中大型企业网络中或许够用但在云数据中心场景下显然不足这正是VXLAN等覆盖网络技术兴起的原因之一——VXLAN的VNI字段提供24位标识空间支持1600万个虚拟网络。2.3 优先级位的工程价值3位PCP字段在VLAN部署中常被低估。语音通话的SIP信令帧和RTP语音流帧可以标记为不同优先级交换机在出口队列调度时优先转发高优先级的RTP帧。VoIP电话通常内置了自动为语音帧打上优先级标签的功能只需交换机识别并调度即可。对于实时通信场景PCP的三位优先级往往比VLAN隔离本身更具业务价值。3. Trunk链路与本征VLAN3.1 Access口与Trunk口的分工交换机端口被配置为两种VLAN模式之一。Access端口属于单个VLAN连接终端设备。进入Access端口的帧被交换机打上该端口所属VLAN的标签离开Access端口的帧被剥离标签以标准以太网帧形态交付给终端。Trunk端口属于多个VLAN连接交换机之间或交换机与路由器之间。Trunk端口收发802.1Q标记帧通过VID字段区分不同VLAN的流量。一条Trunk链路同时承载数十乃至上百个VLAN的帧交换机通过标签完成分拣。3.2 本征VLAN的设计冗余Trunk端口上有一个特殊设定本征VLANNative VLAN。进入Trunk端口的未标记帧被归入本征VLAN离开Trunk端口时如果帧属于本征VLAN则剥离标签发出。本征VLAN的原始动机是兼容。如果一台交换机需要在同一条链路上同时与支持VLAN的设备和不支持VLAN的老旧设备通信本征VLAN为无法理解标签的帧提供了一条退路。但在现实部署中本征VLAN逐渐变成了安全弱点的温床。核心矛盾在于Trunk链路两端如果本征VLAN配置不一致来自VLAN A的帧在发出时被剥离标签对端收到未标记帧后将它错误地归类到本征VLAN B。两个原本应该隔离的VLAN在Trunk链路上意外地连通。这种配置错误不会触发任何告警——交换机不会报错端口照常转发网络表面上一切正常。只有被错误地打通的两个VLAN中的设备才会发现彼此的存在。更隐蔽的是攻击者可以利用这个特性主动构造未标记帧。如果攻击者猜测或探测到了Trunk口本征VLAN的配置发送携带特定VLAN流量的未标记帧进入Trunk端口这些帧会被归入本征VLAN并转发到本征VLAN的所有成员端口。配合VLAN跳层攻击攻击便从理论推演变为实际操作。4. VLAN跳层攻击原理与变体4.1 交换机欺骗攻击这是最直接但依然有效的VLAN跳跃方式。攻击者将一台设备连接到交换机的Access端口但将自己的网卡配置为发送802.1Q标记帧或更直接地与交换机建立DTP动态Trunk协议协商。如果端口未做DTP禁用和Trunk协商关闭攻击者可以诱导交换机将该端口模式从Access改为Trunk。一旦端口成为Trunk攻击者就可以通过打入任意VID标签的帧进入任意VLAN。DTP本是为了自动化Trunk配置而设计——两台交换机相连时自动协商是否启用Trunk以及使用哪种封装。但当DTP被启用在不该启用的端口上它就变成了一个自动化的安全漏洞。配置的本质不是命令的语法而是理解哪些自动化机制在哪些场景下构成威胁。4.2 双重标签攻击双重标签攻击是更精巧的变体利用的是802.1Q标签剥离的时序。攻击者发送一个携带双重802.1Q标签的帧——外层标签为自己的VLAN例如VLAN 10内层标签为目标VLAN例如VLAN 20。交换机从Access端口收到带有外层VLAN 10标签的帧认为它属于VLAN 10从Trunk端口将外层标签剥离帧恢复为未标记。但Trunk端口剥离的仅仅是外层标签内层VLAN 20标签仍然存在。对端交换机收到这个未标记帧因为它没有外层标签被归入本征VLAN。在本征VLAN内部内层标签暴露交换机将其识别为VLAN 20的标记帧将该帧转发到VLAN 20的成员端口。攻击者由此实现了从VLAN 10向VLAN 20发送数据两个本应隔离的VLAN被单向穿透。防御手段非常简洁——确保本征VLAN是一个未被使用的独立VLAN或者将Trunk端口标记所有VLAN包括本征VLAN的帧都打上标签从而消除剥离外层标签后内层暴露的可能性。5. 防御策略的体系化VLAN跳层攻击的防御需从端口配置入手而非依赖防火墙或入侵检测系统。关闭Trunk协商协议所有面向终端设备的端口上禁用DTP配置为静态Access模式。交换机不响应DTP协商帧从根本上切断端口被动态提升为Trunk的可能。本征VLAN最小化原则Trunk端口上将本征VLAN设置为一个虚假且未被使用的VLAN ID不同于任何正在使用的业务VLAN。同时将Trunk端口配置为所有VLAN标记发出确保不会向对端发送未标记帧。双重标签攻击依赖未标记帧作为载体这个配置直接切断载体。未使用的VLAN集中收敛将所有未使用的端口划入一个隔离的黑洞VLAN不与生产网络通信。主动关闭所有未被分配端口的VLAN在三层的接口。限制Trunk端口的VLAN列表Trunk链路上显式允许特定VLAN通过拒绝其余VLAN。即使攻击者打入携带某VID标签的帧若该VID不在Trunk的允许列表中帧在入口即被丢弃。这些配置措施的共性在于不依赖对攻击行为的检测和响应而是通过减少系统的合法功能面来缩小攻击可用的路径。交换机端口的默认行为应当是对用户最安全的行为而非最方便网络管理员的行为。6. 结语VLAN的设计体现了网络虚拟化的早期智慧用4字节的标签将物理交换机切分为多个逻辑网桥解决了广播域隔离问题。但这一设计自带的向后兼容包袱——本征VLAN、DTP自动协商、Trunk口未标记帧的语义暧昧——都是在特定历史条件下合理的工程决策却在安全需求远超当初设计预期的今天暴露为弱点。理解802.1Q的设计逻辑与VLAN跳层攻击的原理之间的对应关系比背诵命令参数更有价值。它能帮助网络工程师在面对一个看似正常的VLAN配置时判别哪些明面正常之下隐藏着可被利用的路径。参考文献[1] IEEE 802.1Q-2018. IEEE Standard for Local and Metropolitan Area Networks — Bridges and Bridged Networks.[2] Cisco Systems. VLAN Security White Paper. https://www.cisco.com, 2005.[3] Convery, S. Hacking Layer 2: Fun with Ethernet Switches.Black Hat USA Briefings, 2002.[4] Stevens, W. R. *TCP/IP Illustrated, Volume 1: The Protocols*. Addison-Wesley, 1994.
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2584182.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!