DHCP安全特性技术白皮书(V1.00)

DHCP安全特性技术白皮书

关键词DHCPDHCP ServerDHCP Relay DHCP ClientDHCP Snooping

    要:本文主要介绍了基于DHCP SnoopingDHCP安全特性,包括其产生背景、应用及其在杭州华三通信技术有限公司(以下简称“H3C公司”)低端以太网交换机上的实现。并对比了基于DHCP中继和DHCP Snooping的安全机制的异同,有利于用户理解和选择不同的产品和功能。

缩略语清单:

缩略语

英文全名

中文解释

DHCP

Dynamic Host Configuration Protocol

动态主机配置协议

BOOTP

Bootstrap Protocol

自举协议

ARP

Address Resolution Protocol

地址解析协议

 



概述

DHCPDynamic Host Configuration Protocol,动态主机配置协议)是在BOOTP协议基础上进行了优化和扩展而产生的一种网络配置协议。

图1  DHCP典型组网示意图

本文主要介绍基于DHCP Snooping技术的DHCP安全特性,主要包括其产生背景、应用及其在H3C低端以太网交换机的实现。并对比了基于DHCP中继和DHCP Snooping安全机制的异同,有利于用户理解和选择不同的产品和功能。

关于DHCP“客户/服务器”通信模式的实现原理,DHCP报文格式,以及H3C低端以太网交换机作为DHCP客户端、DHCP服务器和DHCP中继代理的工作过程请参见《DHCP基础实现技术白皮书》。

技术应用背景

DHCP协议是在UDPIP协议的基础上运行,有很多不安全因素。而且DHCP的运作机制中,通常服务器和客户端没有认证机制,如果网络上存在多台DHCP服务器将会给网络照成混乱。例如,恶意用户冒充DHCP服务器,发放错误的IP地址、DNS服务器信息或默认网关信息,来实现流量的截取等等。

针对网络中DHCP的不安全因素,杭州华三通信技术有限公司(以下简称“H3C公司”)开发了DHCP中继和DHCP Snooping的安全特性。交换机可以通过运行在网络层的DHCP中继的安全功能,或运行在数据链路层的DHCP Snooping功能来监听DHCP报文,记录服务器分配给客户端的IP地址等配置信息,并通过与交换机上其它功能模块的配合,提高整体网络的安全性。

2.1  技术优点

DHCP Snooping是运行在二层接入设备上的一种DHCP安全特性。设备通过监听DHCP报文,过滤不可信任的DHCP信息;建立和维护DHCP Snooping表项,记录用户从DHCP服务器获取的IP地址和用户主机的MAC地址的对应关系,一般可以与其它功能模块配合使用,提高网络的安全性。

DHCP中继运行在网络层,其安全功能与DHCP Snooping类似,同样是记录用户的MAC地址与IP地址的信息,一般与ARP功能模块配合使用,提高网络的安全性。

2.2  应用场合

DHCP中继和DHCP Snooping的安全特性主要应用于接入层交换机上,实现常见二层网络攻击的防范。

表1  常见网络攻击和防范对照表

攻击类型

防范方法

DHCP服务欺骗攻击

DHCP Snooping功能、DHCP Snooping信任端口功能

ARP“中间人攻击

DHCP Snooping功能、ARP入侵检测功能

IP/MAC欺骗攻击

DHCP Snooping功能、IP过滤功能

DHCP报文泛洪攻击

DHCP报文限速功能

 

2.2.1  DHCP服务欺骗攻击

DHCP工作过程中,通常服务器和客户端没有认证机制,如果网络上存在多台DHCP服务器,不仅会给网络造成混乱,也对网络安全造成很大威胁。这种网络中出现非法的DHCP服务器,通常分为两种情况:

l              用户不小心配置的DHCP服务器,由此引起的网络混乱非常常见。

l              黑客将正常的DHCP服务器中的IP地址耗尽,然后冒充合法的DHCP服务器,为客户端分配IP地址等配置参数。例如黑客利用冒充的DHCP服务器,为用户分配一个经过修改的DNS服务器地址,在用户毫无察觉的情况下被引导至预先配置好的假的金融网站或电子商务网站,骗取用户的帐户和密码,这种攻击的危害是很大。

图2  DHCP服务欺骗攻击示意图

为了防止DHCP服务欺骗攻击,H3C低端以太网交换机提供了“DHCP Snooping信任端口”特性,对DHCP服务器信息来源进行控制。只允许处理信任端口接收的DHCP响应报文,而非信任端口接收到的DHCP响应报文被交换机丢弃,防DHCP客户端从网络中不可信任的DHCP服务器获取IP地址。

2.2.2   ARP“中间人”攻击

按照ARP协议的设计,一个主机即使收到的ARP应答并非自身请求得到的,也会将其IP地址和MAC地址的对应关系添加到自身的ARP映射表中。这样可以减少网络上过多的ARP数据通信,但也为“ARP欺骗”创造了条件。

3 所示,Host AHost C通过Switch进行通信。此时,如果有黑客(Host B)想探听Host AHost C之间的通信,它可以分别给这两台主机发送伪造的ARP应答报文,使Host AHost CMAC_B更新自身ARP映射表中与对方IP地址相应的表项。此后,Host A Host C之间看似“直接”的通信,实际上都是通过黑客所在的主机间接进行的,即Host B担当了“中间人”的角色,可以对信息进行了窃取和篡改。这种攻击方式就称作“中间人(Man-In-The-Middle)攻击”。

图3  “中间人”攻击示意图

为了防止ARP中间人攻击,H3C低端以太网交换机提供了“ARP入侵检测”特性,根据动态获取的DHCP Snooping表项或静态配置的IPMAC绑定表项,对非法ARP报文进行过滤,保证接入交换机只传递合法的ARP请求和应答信息。

2.2.3  IP/MAC欺骗攻击

常见的欺骗种类有MAC欺骗、IP欺骗、IP/MAC欺骗,黑客可以伪造报文的源地址进行攻击,其目的一般为伪造身份或者获取针对IP/MAC的特权,另外此方法也被应用于DoS Deny of Service,拒绝服务)攻击,严重的危害了网络安全。

为了防止IP/MAC欺骗攻击,H3C低端以太网交换机提供了IP过滤特性,开启该功能后,交换机可以强制经过某一端口流量的源地址符合动态获取的DHCP Snooping表项或静态配置的IPMAC绑定表项的记录,防止攻击者通过伪造源地址来实施攻击。此外,该功能也可以防止用户随便指定IP地址,造成的网络地址冲突等现象。

2.2.4  DHCP报文泛洪攻击

DHCP报文泛洪攻击是指:恶意用户利用工具伪造大量DHCP请求报文发送到服务器,一方面恶意耗尽了IP资源,使得合法用户无法获得IP资源;另一方面,如果交换机上开启了DHCP Snooping功能,会将接收到的DHCP报文上送到CPU。因此大量的DHCP报文攻击设备会使DHCP服务器高负荷运行,甚至会导致设备瘫痪。

为了防止上述DHCP报文泛洪攻击,H3C低端以太网交换机提供了“DHCP报文限速”特性,使受到攻击的端口暂时关闭,来避免此类攻击对网络和服务器的冲击。

2.3  应用限制

l              DHCP中继和DHCP Snooping的安全特性运行于不同的网络环境中,因此两者只需选择其一应用。在同一交换机上,DHCP Snooping的启动需以关闭DHCP中继为前提。

l              为了使DHCP客户端通过DHCP Snooping设备从合法的DHCP服务器获取IP地址,必须将DHCP Snooping设备上与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。

l              建议用户不要在交换机上同时配置DHCP Snooping功能和灵活QinQ功能,否则可能导致DHCP Snooping功能无法正常使用。

l              配置IP过滤功能之前,需要先开启交换机的DHCP Snooping功能,并配置信任端口。

l              建议用户不要在汇聚组中的端口上配置IP过滤功能。

l              如果交换机支持IRF功能,建议用户不要在Fabric端口上配置IP过滤功能。

特性介绍

3.1  相关术语

l              DHCP ServerDHCP服务器,为用户提供可用的IP地址等配置信息。

l              DHCP ClientDHCP客户端,通过DHCP动态申请IP地址的用户。

l              DHCP RelayDHCP中继,用户跨网段申请IP地址时,实现DHCP报文的中继转发功能。

l              DHCP SnoopingDHCP监听,记录通过二层设备申请到IP地址的用户信息。

l              DCHP SecurityDHCP安全特性,实现合法用户IP地址表的管理功能。

3.2  相关协议

l              RFC 951Bootstrap Protocol (BOOTP)

l              RFC 1497BOOTP Vendor Information Extensions

l              RFC 1542Clarifications and Extensions for the Bootstrap Protocol

l              RFC 2131Dynamic Host Configuration Protocol

l              RFC 2132DHCP Options and BOOTP Vendor Extensions

l              RFC 3046DHCP Relay Agent Information Option

3.3  设备处理流程

3.3.1  DHCP Snooping表项的建立与老化

开启DHCP Snooping功能后,H3C低端以太网交换机根据设备的不同特点可以分别采取监听DHCP-REQUEST广播报文和DHCP-ACK单播报文的方法来记录用户获取的IP地址等信息。目前,H3C低端以太网交换机的DHCP Snooping表项主要记录的信息包括:分配给客户端的IP地址、客户端的MAC地址、VLAN信息、端口信息、租约信息,如4 所示。

图4  DHCP Snooping表项示意图

为了对已经无用的DHCP Snooping动态表项进行定期进行老化删除,以节省系统的资源,和减少安全隐患,H3C低端以太网交换机支持根据客户端IP地址的租约对DHCP Snooping表项进行老化。具体实现过程为:当DHCP Snooping至少记录了一条正式表项时,交换机会启动20秒的租约定时器,即每隔20秒轮询一次DHCP Snooping表项,通过表项记录的租约时间、系统当前时间与表项添加时间的差值来判断该表项是否已经过期。若记录的表项租约时间小于系统当前时间与表项添加时间的差值,则说明该表项已经过期,将删除该条表项,从而实现DHCP Snooping动态表项的老化。

需要注意的是:DHCP Snooping表项的老化功能有一定的局限性,当DHCP服务器端的租约设置为无限期或者很长时,会出现老化不及时的现象。

3.3.2  DHCP Snooping信任端口功能

DHCP Snooping的信任端口功能所提供的是对于DHCP服务器信息来源的控制,此功能通过将不信任端口接收的DHCP响应报文丢弃,防止DHCP客户端从网络中不可信任的DHCP服务器获取IP地址。

l              信任端口是与合法的DHCP服务器直接或间接连接的端口。信任端口对接收到的DHCP报文正常转发,从而保证了DHCP客户端获取正确的IP地址。

l              不信任端口是不与合法的DHCP服务器连接的端口。如果从不信任端口接收到DHCP服务器响应的DHCP-ACKDHCP-OFFER报文则会丢弃,从而防止了DHCP客户端获得错误的IP地址。

图5  DHCP Snooping信任端口功能示意图

开启DHCP Snooping功能后,交换机上的所有端口默认被配置为非信任端口,此时从非信任端口接收的DHCP-ACKDHCP-NAKDHCP-OFFER报文都不会被交换机转发、也不会上送CPU处理;当某端口被配置为信任端口时,从该端口传入的DHCP-ACKDHCP-NAKDHCP-OFFER报文将被镜像至CPU处理。

需要注意的是:目前H3C低端以太网交换机实现的DHCP Snooping功能是需要和DHCP Snooping信任端口功能配合使用的。启动DHCP Snooping功能后,为了使DHCP客户端能从合法的DHCP服务器获取IP地址,必须将与合法DHCP服务器相连的端口设置为信任端口,设置的信任端口和与DHCP客户端相连的端口必须在同一个VLAN内。

3.3.3  ARP入侵检测功能

1. ARP入侵检测功能工作机制

为了防止ARP中间人攻击,H3C低端以太网交换机支持将收到的ARP(请求与回应)报文重定向到CPU,结合DHCP Snooping安全特性来判断ARP报文的合法性并进行处理,具体如下。

l              ARP报文中的源IP地址及源MAC地址的绑定关系与DHCP Snooping表项或者手工配置的IP静态绑定表项匹配,且ARP报文的入端口及其所属VLANDHCP Snooping表项或者手工配置的IP静态绑定表项一致,则为合法ARP报文,进行转发处理。

l              ARP报文中的源IP地址及源MAC地址的绑定关系与DHCP Snooping表项或者手工配置的IP静态绑定表项不匹配,或ARP报文的入端口,入端口所属VLANDHCP Snooping表项或者手工配置的IP静态绑定表项不一致,则为非法ARP报文,直接丢弃,并通过Debug打印出丢弃信息提示用户。

图6  ARP入侵检测功能示意图

2. 手工配置IP静态绑定表项

DHCP Snooping表只记录了通过DHCP方式动态获取IP地址的客户端信息,如果用户手工配置了固定IP地址,其IP地址、MAC地址等信息将不会被DHCP Snooping表记录,因此不能通过基于DHCP Snooping表项的ARP入侵检测,导致用户无法正常访问外部网络。

为了能够让这些拥有合法固定IP地址的用户访问网络,交换机支持手工配置IP静态绑定表的表项,即:用户的IP地址、MAC地址及连接该用户的端口之间的绑定关系。以便正常处理该用户的报文。

3. ARP信任端口设置

由于实际组网中,交换机的上行口会接收其他设备的请求和应答的ARP报文,这些ARP报文的源IP地址和源MAC地址并没有在DHCP Snooping表项或者静态绑定表中。为了解决上行端口接收的ARP请求和应答报文能够通过ARP入侵检测问题,交换机支持通过配置ARP信任端口,灵活控制ARP报文检测功能。对于来自信任端口的所有ARP报文不进行检测,对其它端口的ARP报文通过查看DHCP Snooping表或手工配置的IP静态绑定表进行检测。

3.3.4  IP过滤功能

IP过滤功能是指交换机可以通过DHCP Snooping表项和手工配置的IP静态绑定表,对非法IP报文进行过滤的功能。

在端口上开启该功能后,交换机首先下发ACL规则,丢弃除DHCP报文以外的所有IP报文。(同时,需要考虑DHCP Snooping信任端口功能是否启动。如果没有启动,则丢弃DHCP应答报文,否则,允许DHCP应答报文通过。)接着,下发ACL规则,允许源IP地址为DHCP Snooping表项或已经配置的IP静态绑定表项中的IP地址的报文通过。

交换机对IP报文有两种过滤方式:

l              根据报文中的源IP地址进行过滤。如果报文的源IP地址、接收报文的交换机端口号与DHCP Snooping动态表项或手工配置的IP静态绑定表项一致,则认为该报文是合法的报文,允许其通过;否则认为是非法报文,直接丢弃。

l              根据报文中的源IP地址和源MAC地址进行过滤。如果报文的源IP地址、源MAC地址、接收报文的交换机端口号,与DHCP Snooping动态表项或手工配置的IP静态绑定表项一致,则认为该报文是合法的报文,允许其通过;否则认为是非法报文,直接丢弃。

3.3.5  DHCP报文限速功能

为了防止DHCP报文泛洪攻击,H3C低端以太网交换机支持配置端口上对DHCP报文的限速功能。开启该功能后,交换机对每秒内该端口接收的DHCP报文数量进行统计,如果每秒收到的DHCP报文数量超过设定值,则认为该端口处于超速状态(即受到DHCP报文攻击)。此时,交换机将关闭该端口,使其不再接收任何报文,从而避免设备受到大量DHCP报文攻击而瘫痪。

同时,设备支持配置端口状态自动恢复功能,对于配置了报文限速功能的端口,在其因超速而被交换机关闭后,经过一段时间可以自动恢复为开启状态。

3.4  DHCP SnoopingDHCP Relay安全机制比较

表2  DHCP SnoopingDHCP Relay安全机制对照表

特性

DHCP Relay

DHCP Snooping

DHCP服务欺骗攻击

通过“伪服务器检测”功能在日志中记录DHCP服务器的信息,协助管理员发现伪DHCP服务器

通过“DHCP Snooping信任端口”功能,自动丢弃非信任端口的DHCP响应报文,防止伪DHCP服务器攻击

防止非法用户(或用户随意更换IP地址)访问网络

通过“DHCP中继安全地址检查”功能与ARP模块的配合,防止局域网中的非法用户访问外网

通过“ARP入侵检测”、“IP过滤”功能防止局域网中的非法用户访问外网

表项老化机制

通过“握手机制”进行DHCP 中继用户地址表项的定时老化

通过“租约定时器”实现根据客户端IP地址的租约对DHCP Snooping表项进行老化

 

关于DHCP Relay安全机制的具体介绍请参考《DHCP基础实现技术白皮书》中的相关介绍。

典型组网案例

7 所示,客户端分布在不同的区域,通过DHCP Snooping设备连接到DHCP 中继设备,实现跨网段申请IP地址。为了提高安全性,在多台DHCP Snooping设备上开启DHCP Snooping信任端口、ARP入侵检测、IP过滤等功能,防范常见的二层网络攻击;同时为保证局域网内拥有固定IP地址的Host AHost B可以正常访问外网,需要在DHCP Snooping设备上配置IP静态绑定表项。

图7  DHCP Snooping安全功能组网示意图

总结和展望

随着网络规模的扩大化和网络环境的复杂化,DHCP服务被应用到越来越多的网络环境中,H3C公司的DHCP特性解决方案不仅具有完整的产品系列,可以为客户提供完善、灵活、便捷的组网。同时,基于DHCP中继和DHCP Snooping的安全特性也为接入层设备防止常见的二层攻击提供了解决方案。随着新的网络威胁不断涌现,我们需要加强对威胁DHCP安全的因素进行研究,设计出更好的防范与消除威胁的方案。

参考文献

请参考《DHCP基础实现技术白皮书》。

附录

请参考《DHCP基础实现技术白皮书》。

附件下载

不同款型规格的资料略有差异, 详细信息请向具体销售和800咨询。 H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!