以太网交换安全:DHCP Snooping

一、DHCP Snooping的概念及功能

DHCP Snooping是一种用于增强网络中DHCP服务安全性的技术。以下是对以太网交换安全中的DHCP Snooping进行详细的介绍:

  1. 基本概述
    • 定义目的:DHCP Snooping是一种网络安全技术,旨在防止未经授权的DHCP服务器在网络中分配IP地址,从而保护网络不受中间人攻击和其他相关威胁。
    • 工作原理:通过监控DHCP交互过程中的报文,DHCP Snooping能够区分合法与非法的DHCP服务器,并确保只有经过验证的DHCP服务器才能为客户端分配IP地址。它通过建立和维护一个包含MAC地址、IP地址和VLAN信息的绑定表来实现这一目标。当设备收到来自非信任端口的DHCP响应时,会检查这些信息是否与绑定表中的记录匹配,如果不匹配则丢弃该报文。
  2. 主要功能
    • 过滤非法DHCP服务器:DHCP Snooping能够识别并阻止非法DHCP服务器发出的响应,确保网络中的设备只能从管理员指定的合法DHCP服务器获取IP地址。
    • 信任接口功能:DHCP Snooping的信任功能能够保证客户端从合法的服务器获取IP地址。网络如果存在私自架设的DHCP服务器仿冒者,则可能导致DHCP客户端获取错误的IP地址和网络配置参数,无法正常通信。DHCP Snooping信任功能可以控制DHCP服务器应答报文的来源,以防止网络中可能存在的DHCP服务器仿冒者为DHCP客户端分配IP地址及其他配置信息 DHCP Snooping信任功能将接口分为信任接口和非信任接口
    • 生成并维护绑定表:开启DHCP Snooping功能的交换机会从收到的DHCP ACK报文中提取关键信息,如客户端的MAC地址、分配的IP地址等,并与接口编号和VLAN等信息一起组成DHCP Snooping绑定表。这张表记录了DHCP客户端与服务器之间的各种关系,可以用于防范非法用户的攻击。
    • 源MAC校验:除了基本的绑定表功能外,DHCP Snooping还支持源MAC地址校验。这意味着交换机会检查收到的DHCP请求报文中的二层源MAC地址是否与CHADDR字段中的硬件地址一致,如果不一致则丢弃该报文,以防止仿冒DHCP报文攻击。
  3. 应用场景
    • 防止DHCP Server仿冒者攻击:由于DHCP协议本身缺乏认证机制,网络上可能存在伪造的DHCP服务器。DHCP Snooping可以通过配置信任和非信任接口来防止这种情况的发生,从而保证客户端只能从合法的DHCP服务器获取IP地址。
    • 防止非DHCP用户攻击:静态获取IP地址的用户(非DHCP用户)可能对网络造成多种攻击。通过开启根据DHCP Snooping绑定表生成接口静态MAC表项的功能,可以有效防止这类攻击。
    • 防止DHCP报文泛洪攻击:如果攻击者短时间内向设备发送大量的DHCP报文,可能会对设备的性能造成冲击。DHCP Snooping可以通过检测DHCP报文的上送速率来防止这种攻击。
    • 防止仿冒DHCP报文攻击:已获取到IP地址的合法用户可能通过发送伪造的DHCP Request或Release报文来进行续租或释放IP地址。DHCP Snooping可以通过匹配操作来判别这些报文是否合法,从而防止仿冒攻击。
    • 防止DHCP Server饿死攻击和更改CHADDR值的Dos攻击:如果设备接口下存在大量攻击者恶意申请IP地址,可能会导致DHCP Server中的IP地址快速耗尽。通过配置允许接入的最大DHCP用户数和检测Request报文中的CHADDR字段与帧头MAC地址是否一致,可以有效防止这种攻击。

二、 实验

命令配置

合法服务器

dhcp server\]dhcp enable //打开DHCP \[dhcp server\]int g0/0/0 \[dhcp server-GigabitEthernet0/0/0\]ip add 10.1.1.254 24 \[dhcp server-GigabitEthernet0/0/0\]dhcp select interface //基于接口的DHCP 非法服务器 \[Attacker\]dhcp enable \[Attacker\]int g0/0/0 \[Attacker-GigabitEthernet0/0/0\]ip add 192.168.1.254 24 \[Attacker-GigabitEthernet0/0/0\]dhcp select interface LSW1 \[SW1\]dhcp enable \[SW1\]dhcp snooping enable //开启DHCP snooping功能 \[SW1\]vlan 1 //进入VLAN1 \[SW1-vlan1\]dhcp snooping enable \[SW1-vlan1\]dhcp snooping trusted interface g0/0/1 //将G0/0/1的接口设为信任接口 \[SW1\]int g0/0/3 \[SW1-GigabitEthernet0/0/3\]dhcp snooping max-user-number 1 //将接口的最大MAC地址学习数为1 \[SW1\]dis dhcp snooping user-bind all //查看DHCP snooping的绑定表 DHCP Dynamic Bind-table: Flags:O - outer vlan ,I - inner vlan ,P - map vlan IP Address MAC Address VSI/VLAN(O/I/P) Interface Lease -------------------------------------------------------------------------------- 10.1.1.251 5489-98f4-648d 1 /-- /-- GE0/0/3 2024.10.17-15:25 10.1.1.250 5489-98b7-5bb8 1 /-- /-- GE0/0/4 2024.10.17-15:06 10.1.1.249 5489-982c-5138 1 /-- /-- GE0/0/5 2024.10.17-15:11 10.1.1.252 5489-98b7-5bb9 1 /-- /-- GE0/0/4 2024.10.17-15:25 10.1.1.248 5489-98b2-2984 1 /-- /-- GE0/0/6 2024.10.17-15:33 -------------------------------------------------------------------------------- print count: 5 total count: 5 **\[dhcp server-GigabitEthernet0/0/0\] dhcp select interface 这个意思是使用接口的ip作为网关,例如你vlanif的ip是192.168.100.1,那么下面的pc获取的地址就是192.168.100.254,网关就是192.168.100.1** **\[dhcp server-GigabitEthernet0/0/0\]dhcp select global 这个是dhcp选择全局地址池,这个你要定义dhcp pool,具体的网关啥的需要你自己配置** ### 三、测试 我们可以修改一个PC的MAC地址来达成实验的目的,首先查看一下PC1的IP地址,然后将PC1的MAC地址修改就可以看到,PC1获取不到IP地址了,这是因为我们限制PC1与交换机连接的接口最大学习数为1,所以我们PC1的MAC地址修改后它就获取不到了 ![](https://i-blog.csdnimg.cn/direct/7db5e8de12e042e4af3f03331661f669.png) ![](https://i-blog.csdnimg.cn/direct/b98aba92da8a4215b0e55a1d1588babe.png) ![](https://i-blog.csdnimg.cn/direct/a38b693e35bc4ddea0a4511c0afe542f.png) PC2因为没有限制学习数所以可以更改MAC地址获取IP地址 ![](https://i-blog.csdnimg.cn/direct/c2d8bf9702a44be2926a8ac43ab98e30.png) ![](https://i-blog.csdnimg.cn/direct/d6312dd5867a452bb68308ae0a32f2ea.png) ![](https://i-blog.csdnimg.cn/direct/15e1c1afd9194bf1a5b7b3f1461704cd.png) ### 四、总结 总的来说,DHCP Snooping是提升网络中DHCP服务安全性的重要技术手段之一。它通过监控和管理DHCP交互过程,确保只有经过验证的DHCP服务器才能为客户端分配IP地址,从而有效防止了多种针对DHCP的攻击行为

相关推荐
柳鲲鹏32 分钟前
WINDOWS最快布署WEB服务器:apache2
服务器·前端·windows
遇到困难睡大觉哈哈3 小时前
HarmonyOS 公共事件机制介绍以及多进程之间的通信实现(9000字详解)
华为·harmonyos
M4K03 小时前
Linux百度网盘优化三板斧
linux
好奇的菜鸟3 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
bcbobo21cn3 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile
Absinthe_苦艾酒4 小时前
计算机网络(三)传输层TCP
网络·tcp/ip·计算机网络
wayuncn4 小时前
月付物理服务器租用平台-青蛙云
运维·服务器·服务器租用·服务器托管·物理机租用
望获linux4 小时前
【实时Linux实战系列】CPU 隔离与屏蔽技术
java·linux·运维·服务器·操作系统·开源软件·嵌入式软件
0wioiw04 小时前
C#基础(项目结构和编译运行)
linux·运维·服务器
GLAB-Mary5 小时前
AI会取代网络工程师吗?理解AI在网络安全中的角色
网络·人工智能·web安全