26 DHCP中继/DHCP SNOOPING

发布时间 2023-12-06 23:46:18作者: 搞笑一下

DHCP Relay

DHCP Relay即DHCP中继,它是为解决DHCP服务器和DHCP客户端不在同一个广播域而提出的,提供了对DHCP广播报文的中继转发功能,能够把DHCP客户端的广播报文“透明地”传送到其它广播域的DHCP服务器上,同样也能够把DHCP服务器端的应答报文“透明地”传送到其它广播域的DHCP客户端。

image

DHCP Relay报文格式

Hops:表示当前的DHCP报文经过的DHCP中继的数目。该字段
由客户端或服务器设置为0,每经过一个DHCP中继时,该字段
加1。
Giaddr(gateway ip address):表示第一个DHCP中继的IP地址。
当客户端发出DHCP请求时,第一个DHCP中继在将DHCP请求报
文转发给DHCP服务器时,会把自己的IP地址填入此字段。

image

DHCP Relay工作原理

有中继场景时DHCP客户端首次接入网络的工作原理:
发现阶段

DHCP中继接收到DHCP客户端广播发送的
DHCP DISCOVER报文后,通过路由转发将DHCP报文单播
发送到DHCP服务器或下一跳中继。

提供阶段

DHCP服务器根据DHCP DISCOVER报文中的
Giaddr字段选择地址池为客户端分配相关网络参数,
DHCP中继收到DHCP OFFER报文后,以单播或广播方式发
送给DHCP Client。

选择阶段

中继接收到来自客户端的DHCP REQUEST报文
的处理过程同“发现阶段”

确认阶段

中继接收到来自服务器的DHCP ACK报文的处
理过程同“提供阶段”。

配置命令介绍

[Huawei-GigabitEthernet0/0/0]DHCP select relay //使能接口的DHCP中继功能
[Huawei-GigabitEthernet0/0/0]DHCP relay server-ip ip-address //在接口视图下配置DHCP服务器的IP地址
[Huawei]DHCP server group group-name // 创建DHCP服务器组
[Huawei-DHCP-server-group-HW]DHCP-server ip-address [ ip-address-index ] // 在DHCP服务器组中配置DHCP服务器成员
[Huawei-GigabitEthernet0/0/0]DHCP relay server-select group-name // 配置接口应用的DHCP服务器组

DHCP Snooping

DHCP Snooping是DHCP的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址。DHCP 服务器记录DHCP客户端IP地址与MAC地址等参数的对应关系,防止网络上针对DHCP攻击。DHCP Snooping主要是通过DHCP Snooping信任功能和DHCP Snooping绑定表实现DHCP网络安全。

DHCP Snooping信任功能

DHCP Snooping的信任功能,能够保证DHCP客户端从合法的DHCP服务器获取IP地址。DHCP Snooping信任功能将接口分为信任接口和非信任接口

信任接口正常接收DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报文。
信任接口正常接收DHCP服务器响应的DHCP ACK、DHCP NAK和DHCP Offer报文。
非信任接口收到的DHCP Server发送的DHCP OFFER、DHCP ACK、DHCP NAK报文会被直接丢弃。

image

DHCP Snooping配置

[Huawei] dhcp snooping enable [ ipv4 | ipv6 ] //全局使能DHCP Snooping功能
[Huawei-vlan2] dhcp snooping enable  //VLAN视图下使能DHCP Snooping功能
[Huawei-vlan2] dhcp snooping trusted interface interface-type interface-number //VLAN视图下配置接口为“信任”状态
[Huawei-GigabitEthernet0/0/1] dhcp snooping enable  //接口视图下使能DHCP Snooping功能
[Huawei-GigabitEthernet0/0/1] dhcp snooping trusted  //接口视图下配置接口为“信任”状态
[Huawei] dhcp snooping check dhcp-giaddr enable vlan { vlan-id1 [ to vlan-id2 ] } 
//配置DHCP snooping接口检测的内容

DHCP Snooping绑定表

二层接入设备使能了DHCP Snooping功能后,从收到DHCP ACK报文中提取关键信息(包括PC的MAC地址以及获取到的IP地址、地址租期),并获取与PC连接的使能了DHCP Snooping功能的接口信息(包括接口编号及该接口所属的VLAN),根据这些信息生成DHCP Snooping绑定表。由于DHCP Snooping绑定表记录了DHCP客户端IP地址与MAC地址等参数的对应关系,故通过对报文与DHCP Snooping绑定表进行匹配检查,能够有效防范非法用户的攻击。

image

DHCP饿死攻击

攻击原理:攻击者持续大量地向DHCP Server申请IP地址,直到耗尽DHCP Server地址池中的IP地址,导致DHCP Server不能给正常的用户进行分配。
漏洞分析:DHCP Server向申请者分配IP地址时,无法区分正常的申请者与恶意的申请者。

image

防饿死攻击

解决方法:通过限制交换机接口上允许学习到的最多MAC地址数目,防止通过变换MAC地址,大量发送DHCP请求。

image

交换机端口限制MAC地址学习配置指令

[LSW1-GigabitEthernet0/0/3]port-security enable 
[LSW1-GigabitEthernet0/0/3]port-security max-mac-num 1
[LSW1-GigabitEthernet0/0/3]port-security protect-action shutdown

改变CHADDR值的DoS攻击

攻击原理:同理饿死攻击,DHCP根据CHADDR给客户端分配地址,此次攻击只改变CHADDR值,不改变Ethernet_II中的dst mac地址,可以绕过限制交换机MAC地址学习的防御

image

DHCP Snooping防改变CHADDR值的Dos攻击

解决方法:为了避免受到攻击者改变CHADDR值的攻击,可以在设备上配置DHCP Snooping功能,检查DHCP Request报文中CHADDR字段。如果该字段跟数据帧头部的源MAC相匹配,转发报文;否则,丢弃报文。从而保证合法用户可以正常使用网络服务。

image

配置命令

[LSW1]dhcp snooping check dhcp-chaddr enable

dhcp中间人攻击

攻击者利用ARP机制,让Client学习到DHCP Server IP与Attacker MAC的映射关系,又让Server学习到Client IP与Attacker Mac的映射关系。如此一来,Client与Server之间交互的IP报文都会经过攻击者中转。
漏洞分析:从本质上讲,中间人攻击是一种Spoofing IP/MAC攻击,中间人利用了虚假的IP地址与MAC地址之间的映射关系来同时欺骗DHCP的客户端和服务器。

image

DHCP Snooping防DHCP中间人攻击

解决方法:为防御中间人攻击与IP/MAC Spoofing攻击,可使用DHCP Snooping的绑定表工作模式,当接口接收到ARP或者IP报文,使用ARP或者IP报文中的“源IP+源MAC”匹配DHCP Snooping绑定表。如果匹配就进行转发,如果不匹配就丢弃。

image