DHCP服务安全策略

2017-11-20 12:12郑秀琴
电脑知识与技术 2017年26期

郑秀琴

摘要:DHCP服务是一种非常重要的网络基础服务,在局域网中DHCP服务常常会受到DHCP Server仿冒者攻击和各种形式的DHCP DoS攻击,导致服务异常,影响用户正常使用网络。该文针对不同的DHCP攻击类型与不同的网络环境,分别制定了使用DHCP Snooping、ACL、端口隔离等技术防御DHCP安全威胁的方案。

关键词:DHCP;DHCP Snooping;ACL;端口隔离

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2017)26-0040-03

DHCP作为一种网络基础服务,它的安全会影响整个局域网的正常运行。目前很多局域网都使用路由器+交换机或三层交换机+二层交换机的架构來组建的,并且使用DHCP服务来管理分配IP地址。尽管DHCP提供了DHCP Snooping安全特性来保障DHCP服务的安全,但有些比较老的路由器和交换机不支持该特性。另外,局域网中的小路由器使用LAN口接入时,如果路由器开启DHCP服务,也会给正常的DHCP服务造成一定的干扰。还有局域网中开启VMware虚拟机,如果虚拟机以桥接的方式接入网络并开启DHCP服务的话,也会干扰原本网络中的DHCP服务。本文针对不同的网络环境,我们分别采取不同的安全措施,确保DHCP服务的稳定运行。

1 DHCP服务概述

1.1 DHCP协议及其作用

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。DHCP协议采用Client/Server模型,主机地址的动态分配任务由主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP主要使用UDP67和UDP68,分别作为DHCP Server和DHCP Client的服务端口。

DHCP主要有两个用途:一是给内部网络或网络服务供应商自动分配IP地址,二是给用户或者内部网络管理员作为对所有计算机作中央管理的手段。使用DHCP给我们带来很多好处,如不用人工记忆IP地址、节约IP地址、IP地址不会重复、不必担心在配置网络时输入错误地址等。

1.2 DHCP 的工作原理

使用 DHCP 分配IP地址时,局域网中至少有一台DHCP 服务器,DHCP客户端获取IP址的过程如图1所示。

(1) DHCP发现: DHCP客户端在局域网中发送DHCP DISCOVER广播包,寻找可用的DHCP服务器。

(2) DHCP提供:DHCP服务器向DHCP客户端发送DHCP OFFER单播数据包,提供一个IP租约。

(3) DHCP请求:当DHCP客户端收到一个IP租约提供时,会发送一个DHCP REQUEST广播包,告诉DHCP服务器接受了这个租约提供。

(4) DHCP确认:当DHCP服务器收到来自客户端的DHCP REQUEST消息后,发送DHCP ACK单播数据包,确认客户端的请求。

2 运用DHCP Snooping解决DHCP的安全问题

2.1 DHCP Snooping 的原理

DHCP Snooping 是DHCP(Dynamic Host Configuration Protocol)的一种安全特性,通过截获DHCP Client 和DHCP Server 之间的DHCP 报文并进行分析处理,可以过滤不信任的DHCP 报文并建立和维护一个DHCP Snooping 绑定表。该绑定表包括MAC 地址、IP地址、租约时间、绑定类型、VLAN ID、接口等信息。DHCP Snooping 通过记录DHCP Client 的IP 地址与MAC 地址的对应关系,保证合法用户能访问网络,作用相当于在DHCP Client 和DHCP Server 之间建立一道防火墙。

DHCP Snooping 可以解决设备应用DHCP 时遇到DHCP DoS攻击、DHCP Server 仿冒攻击、DHCP 仿冒续租报文攻击等问题。

2.2 DHCP Snooping配置

下面以华为交换机为列,介绍DHCP Snooping的配置,对抗不同类型的DCHP攻击。

表1为DHCP Snooping 工作模式与攻击类型。

2.2.1 使能DHCP Snooping 功能

使能DHCP Snooping 功能的顺序如下:

1) 全局使能DHCP 功能。

2) 全局使能DHCP Snooping 功能。

3) 在接口或VLAN 下使能DHCP Snooping 功能。

使能DHCP Snooping 功能的具体操作步骤为:

1) 执行命令system-view,进入系统视图。

2) 执行命令dhcp enable,全局使能DHCP 功能。

3) 执行命令dhcp snooping enable,全局使能DHCP Snooping 功能。

4) 执行命令vlan vlan-id,进入VLAN 视图。

或者执行命令interface interface-type interface-number,进入接口视图。

5) 执行命令dhcp snooping enable,使能接口或VLAN 的DHCP Snooping 功能。

6) 执行命令quit,返回到系统视图。

使能DHCP Snooping 功能为后面各种DHCP Snooping配置的前提。endprint

2.2.2 配置防止DHCP Server 仿冒者攻击

当网络中存在DHCP Server 仿冒者时,DHCP Server 仿冒者回应给DHCP Client 仿冒信息,如错误的网关地址、错误的DNS 服务器、错误的IP 等,从而使Client 无法访问网络或访问到不正确的网络。

为了避免受到DHCP Server 仿冒者的攻击,可以在交换机上配置DHCP Snooping 功能,把网络侧的接口配置为Trusted 模式,把用户侧的接口配置为Untrusted 模式,凡是从Untrusted 接口收到的DHCP Reply 报文全部丢弃。使能接口的DHCP Snooping 功能后,缺省情况下,接口为“不信任”状态。

同时为定位DHCP Server 仿冒者,还可以配置伪DHCP Server 探测功能,通过检查DHCP Reply 报文,获取DHCP Server 相关信息,记入日志中,便于网络管理员进行网络维护。

具体操作步骤为:

1) 执行命令system-view,进入系统视图。

2) 执行命令dhcp server detect,使能DHCP Server 探测功能。

3) 执行命令interface interface-type interface-number,进入接口视图,该接口为连接DHCP Server 的网络侧接口。或者执行命令vlan vlan-id,进入VLAN 视图。

4) 接口视图下执行命令dhcp snooping trusted ,或者VLAN 视图下执行命令dhcp snooping trusted interface interface-type interface-number ,配置接口为“信任”状态。

2.2.3 配置防止改变CHADDR 值的DoS 攻击

如果攻击者改变的不是数据帧头部的源MAC,而是通过改变DHCP 报文中的CHADDR值来不断申请IP 地址,而交换机仅根据数据帧头部的源MAC来判断该报文是否合法,那么MAC 地址限制不能完全起作用,这样的攻击报文还是可以被正常转发。

为了避免受到攻击者改变CHADDR 值的攻击,可以在交换机上配置DHCP Snooping 功能,检查DHCP Request 报文中CHADDR 字段。如果该字段跟数据帧头部的源MAC相匹配,转发报文;否则,丢弃报文。

具体操作步骤为:

1) 执行命令system-view,进入系统视图。

2) 执行命令interface interface-type interface-number,进入接口视图。或者执行命令vlan vlan-id,进入VLAN 视图。该接口为用户侧接口。

3) 执行命令dhcp snooping check mac-address enable,配置接口或VLAN 下检查DHCP 报文的CHADDR 值与源MAC 是否一致。缺省情况下,交换机没有使能CHADDR 值检查功能。

2.2.4 配置防止仿冒DHCP 续租报文攻击

如果攻击者通过不断发送DHCP Request 报文来冒充用户续租IP 地址,会导致一些到期的IP 地址无法正常回收。

为了避免攻击者仿冒DHCP 续租报文进行攻击,可以在交换机上配置绑定表,检查DHCP Request 报文的源IP 地址、源MAC 地址、VLAN 及接口是否与绑定表中的匹配,如果找到匹配的表项,则DHCP Request 报文被正常转发。否则,报文被丢弃。

使能Option82 功能,可以根据Option82 信息建立精确到接口的绑定表。从而避免DHCP Server 仿冒者回应给DHCP Client 仿冒信息。在二层上应用DHCP Snooping 时,不配置Option82 功能也可以获得绑定表所需的接口信息。

具体操作步骤为:

1) 执行命令system-view,进入系统视图。

2) 执行命令interface interface-type interface-number,进入接口视图,该接口应为用户侧接口。或者执行命令vlan vlan-id,进入VLAN 视图。

3) 执行命令dhcp snooping check user-bind enable,配置接口或VLAN 下的DHCP Request報文检查功能。缺省情况下,接口或VLAN 下没有使能DHCP Request 报文检查功能。该命令还可以检查Release 报文是否匹配绑定表,以防止非法用户冒充合法用户释放IP 地址。

4) 执行命令dhcp option82 insert enable,使能Option82 功能;或者执行命令dhcp option82 rebuild enable,使能强制插入Option82 功能。

2.2.5 配置DHCP 报文上送速率和用户数限制

如果网络中有攻击者不断地发送DHCP 报文,会对交换机的DHCP 协议栈造成影响。为了避免受到攻击者发送大量DHCP 报文攻击,可以在交换机上配置DHCP Snooping功能,检查DHCP 报文,并限制报文的上送速率,在一定的时间内只允许规定数目的报文上送协议栈,多余的报文将被丢弃。用户可以在全局、VLAN 或接口下配置限制DHCP 报文上送速率,如果在全局、VLAN或接口下同时配置,有效的顺序为接口优先,VLAN 其次,最后为全局。

当用户数达到配置的最大用户数限制数量,任何用户将无法成功申请到IP 地址。为了抑制用户恶意申请IP 地址,可配置限制用户数的功能。endprint

对于DHCP 用户,用户上线后生成动态绑定表可转化为静态MAC,报文可以被正常转发。对于静态用户,静态绑定表无法转化为静态MAC,因此还必须配置静态MAC,报文才能正常转发。

具体操作步骤如下:

1) 执行命令system-view,进入系统视图。

2) 执行命令dhcp snooping check dhcp-rate enable,全局使能DHCP 报文的速率检查功能。

3) 执行命令dhcp snooping check dhcp-rate rate,全局配置DHCP 报文的上送速率。

4) 执行命令interface interface-type interface-number,进入接口视图。或者执行命令vlan vlan-id,进入VLAN 视图。

5) 执行命令dhcp snooping check dhcp-rate enable,在接口或VLAN下使能DHCP 报文的速率检查功能。

6) 执行命令dhcp snooping check dhcp-rate rate,在接口或VLAN下配置DHCP 报文的上送速率。

7) 执行命令dhcp snooping max-user-number max-user-number,配置接口或VLAN 下允许接入的最大用户数。缺省情况下,交换机接口或VLAN 下允许接入的最大用户数为32768。

3 运用ACL抵御DHCP Server仿冒者攻击

在有些场合,要求一机一认证,这种情况下小路由器往往是当作交换机用的,即不使用WAN端口接入。DHCP协议是基于物理网信任广播的,如果你的路由器的DHCP功能若不关闭,会把自己作为网关发送这类广播,给其他计算机分配地址,不经意间就冒充了真正的网关,造成劫持,成了DHCP Server仿冒者。而有些局域网设备不支持DHCP Snooping特性,无法抵御这类攻击。这种情况下我们可以根据DHCP使用的UDP端口,配置访问控制策略,拒绝来自访问非DCHP Server接入端口的UDP67端口。

4 隔离端口防止DHCP攻击

在有些网络环境中,局域网内的主机之间是无需互相通信的,这种情况下接入交换机上可以设置端口隔离。因为端口隔离后,连接在不同端口的计算机之间不能进行通信,隔断了局域网内通过广播传播的病毒的传播途径。端口隔离技术在ISP宽带接入中可以发挥重要作用。使用PVLAN技术也能起到相同的效果。

具体操作步骤:

1) 执行命令system-view,进入系统视图。

2) 执行命令port-isolate mode l2,配置端口隔离模式为二层隔离三层互通。

3) 执行命令interface interface-type interface-number,进入接口视图。

4) 执行命令port-isolate enable group n,配置接口的隔离功能

5 结论

针对DHCP服务的攻击主要有DHCP Server仿冒者攻击和各种形式的DoS攻击,网络管理员可以根据网络设备和网络应用需求,采取不同的安全策略,确保DHCP服务的正常运行。使用ACL和端口隔离解决问题的思路,也可用于其他服务,如最近使用445等端口进行传播的勒索病毒以及一度猖獗的ARP病毒等。

参考文献:

[1] 孙雁杰,刘良. 基于DHCP SNOOPING的DHCP网络部署[J].科技风,2017(3):93-114.

[2] 汤小康. 基于DHCP Snooping技术的校园网非法DHCP服务器的接入[J]. 网络安全技术与应用,2015(7):48-51.

[3] 唐磊. 端口隔離技术在校园网络管理中的应用[J]. 信息安全与技术,2015(7):76-78.

[4] 刘小华. DHCP在校网应用中的安全问题及对策研究[J]. 计算机安全,2013(2):47-50.endprint