免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4630 | 回复: 0
打印 上一主题 下一主题

最佳配置:二层攻击与防范 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-10 07:43 |只看该作者 |倒序浏览
第二层的多数攻击都将使设备失去攻击者跟踪能力,这样,攻击者就能够在转发路径上大肆执行恶意操作,先修改配置,然后攻击网络。 \r\n\r\n下面列出的是人们最常谈到的第二层攻击,无独有偶,这些也是 @stake 记录的攻击类型 [1] : \r\n\r\n•  MAC 洪泛攻击 \r\n\r\n•  802.1Q 和 ISL 标记攻击 \r\n\r\n•  双封装 802.1Q/ 嵌套式 VLAN 攻击 \r\n\r\n•  ARP 攻击 \r\n\r\n•  专用 VLAN 攻击 \r\n\r\n•  组播暴力攻击 \r\n\r\n•  扩展树攻击 \r\n\r\n•  随机帧重压攻击 \r\n\r\n下面详细说明这些攻击。 \r\n\r\nMAC 洪泛攻击 \r\n\r\n从严格意义上讲,这种攻击不属于 “攻击”,因为它只是限制所有交换机和桥接器的工作路径。它们占用了用于保存所有接收分组的源地址的有限硬件学习表,当这些表充满后,由于无法再读到流量的地址,无法转发流量,因而会出现流量洪泛现象。但是,由于分组洪泛只局限在初始 VLAN 内,因而不允许 VLAN 跳转(如 @stake 的报告所示)。 \r\n\r\n恶意用户可以利用这种攻击将与其连接的交换机转变成哑伪集线器,搜索并查看所有洪泛流量。很多程序都可以用于执行此项任务,例如 macof ,它是 dsniff 套件的一部分 [4] 。恶意用户可以利用这个弱点发起实际攻击,例如 ARP 破坏攻击(欲知详情,请参见《 ARP 攻击》)。 \r\n\r\n非智能交换机无法抵御这种攻击,因为它不检查发送方的第二层标识,发送方只需发送伪分组就能假冒无限数量的设备。 \r\n\r\n思科的交换机支持多种特性,以便识别并控制所连设备的身份。这些交换机奉行的安全准则非常简单:认证和说明对所有不可信设备都至关重要。 \r\n\r\n需要强调的是,端口安全性、 802.1x 和动态 VLAN 这三个特性可用于根据用户的登陆 ID 和设备自身的 MAC 层标识限制设备连接。 \r\n\r\n例如,利用端口安全性,预防 MAC 洪泛攻击可以像限制每个端口可以使用的 MAC 地址数那么简单:设备流量的标识将直接与其原始端口相接。 \r\n\r\n802.1Q 和 ISL 标记攻击 \r\n\r\n标记攻击属于恶意攻击,利用它,一个 VLAN 上的用户可以非法访问另一个 VLAN 。例如,如果将交换机端口配置成 DTP auto ,用于接收伪造 DTP 分组,那么,它将成为干线端口,并有可能接收通往任何 VLAN 的流量。因此,恶意用户可以通过受控制的端口与其它 VLAN 通信。 \r\n\r\n有时候,即使只是接收普通分组,交换机端口也可能违背自己的初衷,像全能干线端口那样操作(例如,从本地以外的其它 VLAN 接收分组)。这种现象通常称为“ VLAN 渗漏”(如果想阅读关于类似问题的报告,请参见 [5] )。 \r\n\r\n对于第一种攻击,只需将所有不可信端口(不符合信任条件)上的 DTP 设置为“关”,即可预防这种攻击的侵袭;要对付第二种攻击,可以按照下面介绍的简单配置步骤操作(例如下一节中介绍的步骤),也可以通过软件升级实现。幸运的是, Cisco Catalyst 2950 、 Catalyst 3550 、 Catalyst 4000 和 Catalyst 6000 系列交换机并不需要进行这种升级,因为其上运行的软件和硬件能够在所有端口上实施适当的流量分类和隔离(如 @stake 在 [1] 中说明的那样)。 \r\n\r\n那么,报告中为什么会提及本地 VLAN 呢 [5] ?我们将在下面的章节中提供答案 ...... \r\n\r\n双封装 802.1Q/ 嵌套式 VLAN 攻击 \r\n\r\n虽然在交换机内部,但 VLAN 数字和标识用特殊扩展格式表示,目的是使转发路径保持端到端 VLAN 独立,而且不会损失任何信息。在交换机外部,标记规则由 ISL 或 802.1Q 等标准规定。 \r\n\r\nISL 属于思科专有技术,是设备中使用的扩展分组报头的紧凑形式:由于每个分组总会获得一个标记,没有标识丢失风险,因而可以提高安全性。 \r\n\r\n另一方面,制订了 802.1Q 的 IEEE 委员会决定,为实现向下兼容性,最好支持本地 VLAN ,即不与 802.1Q 链路上任何标记显式相关的 VLAN 。这种 VLAN 以隐含方式用于 802.1Q 型端口上接收到的所有无标记流量。 \r\n\r\n这种功能是用户所希望的,因为利用这个功能, 802.1Q 型端口可以通过收发无标记流量直接与老 802.3 端口对话。但是,在所有其它情况下,这种功能可能会非常有害,因为通过 802.1Q 链路传输时,与本地 VLAN 相关的分组将丢失其标记,例如其服务等级( 802.1p 位)。 \r\n\r\n但是基于这些原因——丢失识别途径和丢失分类信息,就应避免使用本地 VLAN ,更不要说还有其它原因,如图 2 所示。 \r\n\r\n图 2 双封装攻击 \r\n\r\n先剥离,再送回 \r\n\r\n攻击者 802.1q 帧 帧 \r\n\r\nVLAN A VLAN B 数据 包含本地 VLAN A 的干线 VLAN B 数据 \r\n\r\n注意: 只有干线所有的本地 VLAN 与攻击者相同,才会发生作用。 \r\n\r\n当双封装 802.1Q 分组从 VLAN 恰巧与干线的本地 VLAN 相同的设备进入网络时,这些分组的 VLAN 标识将无法端到端保留,因为 802.1Q 干线总会对分组进行修改,即剥离掉其外部标记。删除外部标记之后,内部标记将成为分组的惟一 VLAN 标识符。因此,如果用两个不同的标记对分组进行双封装,流量就可以在不同 VLAN 之间跳转。 \r\n\r\n这种情况将被视为误配置,因为 802.1Q 标准并不逼迫用户在这些情况下使用本地 VLAN 。事实上,应一贯使用的适当配置是从所有 802.1Q 干线清除本地 VLAN (将其设置为 802.1q-all-tagged 模式能够达到完全相同的效果)。在无法清除本地 VLAN 时, 应选择未使用的 VLAN 作为所有干线的本地 VLAN ,而且不能将该 VLAN 用于任何其它目的 。 STP 、 DTP 和 UDLD (参见 [3] )等协议应为本地 VLAN 的唯一合法用户,而且其流量应该与所有数据分组完全隔离开。 \r\n\r\nARP 攻击 \r\n\r\nARP 协议 [6] 是一项老技术。 ARP RFC 产生的时候,网络中的所有人都被视为“友好人士”,因而没有在 ARP 功能中考虑安全性。这样,任何人都可以声称自己是某个 IP 地址的所有者。更准确地说,任何人都可以声称其 MAC 地址与某个子网内的任何 IP 地址相关。这是完全可行的,因为 ARP 请求或答复中包含设备的第二层标识信息( MAC 地址)和第三层标识( IP 地址),而且没有核实机制,无法核查这些标识的准确性。 \r\n\r\n在另一个实例中,由于不能用准确、可靠的手段确认设备的身份,因而出现了严重的安全漏洞。这个例子同时表明,如果 OSI 模型中的较低层次遭到攻击,由于较高层意识不到问题的存在,因而将直接影响较高层的操作。( ARP 是一种独特的协议样本,它在第二层内运行,但从逻辑上,它位于 OSI 模型中数据链路层与网络层之间的边界上。) \r\n\r\n@stake 发动的 ARP 攻击的目的是,通过发送包含伪造标识的 ARP 分组,欺骗某交换机将分组转发到另一个 VLAN 中的某台设备。但是,在所有思科设备中, VLAN 是正交的,因而不依赖于 MAC 地址。所以,只通过修改 ARP 分组中的设备标识,是不可能影响它与其它 VLAN 内设备的通信方式的。事实上,正如报告中所说,不可能进行任何 VLAN 跳转。 \r\n\r\n另一方面,在同一个 VLAN 内,利用 ARP 破坏或 ARP 欺诈攻击 [7] ,可以有效地欺骗终端站点或路由器识别伪造的设备标识,致使恶意用户能够以中间人的身份,发动中间人( MiM )攻击。 \r\n\r\n对于这种情况,一张图可对其进行最好的说明(见图 3 )。 \r\n\r\n图 3 ARP 破坏攻击 \r\n\r\n将免费信息送至 0000.0000.000B :我的 IP 地址为 1.1.1.1 ,我的 MAC 地址为 000:00:00:00:00:0C \r\n\r\nPC 1.1.1.2 的 ARP 表受到侵袭。所有外出流量都将通过 PC 1.1.1.3 ,然后将流量透明地转发至路由器。 \r\n\r\n发动 MiM 攻击的方法是,在发送至受袭设备的 ARP 包中假冒另一台设备(例如默认网关),由于接收方不检查这些分组,因而其 ARP 表将接收假冒信息。 \r\n\r\n预防这种攻击有两种方法,一种方法是阻挡攻击者和受攻击设备之间的第二层直接通信,另一种方法是在网络中嵌入更多智能,使之能够检查转发 ARP 分组的标识是否正确。第一种方法可以通过 Cisco Catalyst 专用 VLAN 或专用 VLAN 边缘特性实现。第二种方法可以利用称为 ARP 检查的新特性实现,这种特性首先在 Cisco Catalyst 6500 Supervisor Engine II 上的 CatOS 7.5 中推出,以后将在 Cisco Catalyst 交换机的 Cisco IOS 软件中提供。 \r\n\r\n专用 VLAN 攻击 \r\n\r\n“专用 VLAN 攻击”有点用词不当,因为它对应的不是安全漏洞,而是对特性的某种期望。专用 VLAN 属于第二层特性,因而应该只在第二层隔离流量。另一方面,路由器则属于第 3 层( L3 )设备,当它与专用 VLAN 混合端口相连时,即使目的地与始发地在同一个子网中,也应该将该端口上接收到的第三层流量转发到相应的目的地( @stake 将这种行为称为第二层代理)。 \r\n\r\n因此,虽然两个相互隔绝的 VLAN 中的两台主机应该通过第二层直接通信相互交流,但它们通常在相互交谈时将路由器作为分组中继。 \r\n\r\n上述现象如图 4 所示。 \r\n\r\n图 4 第二层代理 \r\n\r\n与常规路由流量相同,如果需要,可以利用转发设备上相应的 ACL 配置对通过第二层代理中继的分组进行过滤。 \r\n\r\n利用输出思科 IOS ACL 阻挡中继流量的示例如下: \r\n\r\ndeny subnet/mask subnet/mask \r\n\r\npermit any subnet/mask \r\n\r\ndeny any any \r\n\r\n如果想详细了解 VLAN ,请参见 [8] 。 \r\n\r\n组播暴力攻击 \r\n\r\n这种攻击试图利用交换机的潜在安全漏洞(读操作:缺陷)发起第二层组播帧风暴。 @stake 希望通过测试了解第二层交换机快速接收到大量第二层组播帧时将发生什么情况。正确的反应是将流量限制在原始 VLAN 中,错误的反应是将帧泄漏到其它 VLAN 中。 \r\n\r\n@stake 的结果显示,这种攻击对 Cisco Catalyst 交换机无效,因为所有帧都包含在相应的广播域中(这个结果毫不奇怪:毕竟,在所有 Catalyst 交换机中,广播只是组播的一个特殊部分)。 \r\n\r\n生成树协议 \r\n\r\n试图利用交换机弱点(例如缺陷)发动攻击的另一种攻击是 STP 攻击。 @stake 测试的所有 Cisco Catalyst 交换机都支持这种协议。默认状态下, STP 是打开的,而且交换机上的所有端口都可以收听 STP 消息。 @stake 试图测试,在某些情况下,思科 PVST (每 VLAN 生成树)是否将无法打开 1 多个 VLAN 。攻击包括窥探线路上的 STP 帧,以便获取端口 STP 的 ID 。接下来,攻击者将发出 STP 配置 / 拓扑变更认可 BPDU ,宣布它称为优先级较低的新根桥。 \r\n\r\n在此过程中,测试者输入广播流量,看是否有 VLAN 漏出,结果是没有出现这种现象。这说明,在思科交换机上实施的 STP 的功能十分强大。 \r\n\r\n随机帧重压攻击 \r\n\r\n这种攻击有很多形式,但主要特点是,它包含随机分布在多个分组域的暴力攻击,只保持源地址和目标地址不变。 @stake 工程师的多次测试表明,任何分组都无法成功地跳过 VLAN 。 \r\n\r\n专用 VLAN 可以更好地隔离第二层的主机,并防止它们受到不可信设备的意外恶意流量的攻击。使用时,可以建立互信任主机组,将第二层网络分成多个子域,只让友好设备相互交流。如果想详细了解专用 VLAN ,请参见 [8] 。 \r\n\r\n结论 \r\n\r\n实践表明, VLAN 技术的可靠性远远高于诽谤者的预期,只有用户误配置或特性误用才能突破其强大功能。 \r\n\r\n用户会犯的最严重的错误是,不重视高级交换网络体系结构中的数据链路层,尤其是 VLAN 。需要牢记的是, OSI 模型的安全性与其最薄弱链路的安全性相当。因此,必须同等地重视每一层次,才能保证整个结构的安全性。 \r\n\r\n•  设备或算法可能失败的一种方式,例如,当设备误操作、成为易受攻击的薄弱环节时。 \r\n\r\n基于 Cisco Catalyst 交换机的任何良好网络设备都应该包含本文介绍的最佳实践准则,这样才能有效保护网络的第二层安全体系结构免遭破坏。 \r\n\r\n虽然前面章节讨论的某些安全概念比较通用,但需要注意的是,本文针对的只是包含 Cisco Catalyst 交换机的网络,其它交换机厂商的实施方法可能大不相同,因而某些交换机可能更容易遭受本文介绍的各种攻击的侵袭。 \r\n\r\n参考资料 \r\n\r\n•  研究报告:安全使用 VLAN : @stake 安全评估—— 2002 年 8 月 \r\n\r\nhttp://www.cisco.com/warp/public ... 0/tech/stake_wp.pdf \r\n\r\n2. SAFE :企业网的安全蓝图, http://www.cisco.com/go/safe/ \r\n\r\n3. Catalyst 4500 、 5000 和 6500 系列交换机配置和管理的最佳实践, http://www.cisco.com/warp/customer/473/103.html \r\n\r\n4. dsniff ,作者 Dug Song , http://monkey.org/~dugsong/dsniff/ \r\n\r\n5. VLAN 安全性测试报告, 2000 年 7 月, http://www.sans.org/newlook/resources/IDFAQ/vlan.htm \r\n\r\n6. 以太网地址解析协议, RFC 826 , http://www.ietf.org/rfc/rfc0826.txt \r\n\r\n7. ARP 欺骗攻击: \r\nhttp://www.sans.org/newlook/resources/IDFAQ/switched_network.htm \r\n\r\n8. 白皮书: Catalyst 6500 系列服务供应商特性(专用 VLAN ) \r\nhttp://www.cisco.com/warp/public ... 0/tech/c65sp_wp.htm \r\n9. @stake , http://www.atstake.com/ \r\n\r\n缩略词与定义 \r\n\r\n802.1Q      定义了标准 VLAN 标记方案的 IEEE 规范 \r\n\r\nBPDU    桥协议数据单元 \r\n             运行生成树协议的交换机所交换的信息 \r\n\r\nCDP      思科发现协议 \r\n             用于发现由兼容设备组成的网络拓扑的思科专有协议 \r\n\r\nDTP       动态中继协议 \r\n             用于动态协商中继参数(例如状态和格式)的思科专有协议 \r\n\r\nIEEE      电子和电气工程师协会 \r\n\r\nISL        交换机间链路 \r\n             思科专有 VLAN 标记格式 \r\n\r\n本地VLAN    // 不与 802.1Q 链路上任何标记显式相关的 VLAN \r\n\r\nOSI       开放系统互联 \r\n             网络参考模型 \r\n\r\nPAgP     端口汇聚协议 \r\n             用于动态协商通道参数(如端口数)的思科专有协议 \r\n\r\nSTP       生成树协议 \r\n             IEEE 802.1D 标准中定义的桥协议 \r\n\r\nUDLD    单向链路检测 \r\n             用于核实物理链路双向性的思科专有协议 \r\n\r\nVLAN     虚拟局域网 \r\n             包含一个或多个交换机端口的虚拟广播域 \r\n\r\nVTP        VLAN 中继协议 \r\n              用于在预定域中分发 VLAN 信息的思科专有协议
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP