以太网交换安全: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 serverdhcp enable //打开DHCP

dhcp serverint g0/0/0

dhcp server-GigabitEthernet0/0/0ip add 10.1.1.254 24

dhcp server-GigabitEthernet0/0/0dhcp select interface //基于接口的DHCP

非法服务器

Attackerdhcp enable

Attackerint g0/0/0

Attacker-GigabitEthernet0/0/0ip add 192.168.1.254 24

Attacker-GigabitEthernet0/0/0dhcp select interface

LSW1

SW1dhcp enable

SW1dhcp snooping enable //开启DHCP snooping功能

SW1vlan 1 //进入VLAN1

SW1-vlan1dhcp snooping enable

SW1-vlan1dhcp snooping trusted interface g0/0/1 //将G0/0/1的接口设为信任接口

SW1int g0/0/3

SW1-GigabitEthernet0/0/3dhcp snooping max-user-number 1 //将接口的最大MAC地址学习数为1

SW1dis 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/0dhcp select global
这个是dhcp选择全局地址池,这个你要定义dhcp pool,具体的网关啥的需要你自己配置

三、测试

我们可以修改一个PC的MAC地址来达成实验的目的,首先查看一下PC1的IP地址,然后将PC1的MAC地址修改就可以看到,PC1获取不到IP地址了,这是因为我们限制PC1与交换机连接的接口最大学习数为1,所以我们PC1的MAC地址修改后它就获取不到了

PC2因为没有限制学习数所以可以更改MAC地址获取IP地址

四、总结

总的来说,DHCP Snooping是提升网络中DHCP服务安全性的重要技术手段之一。它通过监控和管理DHCP交互过程,确保只有经过验证的DHCP服务器才能为客户端分配IP地址,从而有效防止了多种针对DHCP的攻击行为

相关推荐
爱讲故事的几秒前
计算机网络第四章复习:网络层 Data Plane 数据平面
网络·计算机网络·平面
云安全助手2 分钟前
国内调用GPT的现实困境与聚合平台解决方案探析
网络·人工智能·网络安全·ai大模型
毒爪的小新2 分钟前
Open WebUI 从零到一:打造属于你的私人ChatGPT
linux·ai·语言模型·chatgpt·openwebui
xlq223223 分钟前
67.子网划分运营商
网络·智能路由器
一个扣子3 分钟前
第四十篇:云端沙箱与检查点:自动化CI时如何保住安全底线、回滚无压力
安全·沙箱·企业级·回滚·claude code·检查点
小灰灰搞电子4 分钟前
C++ boost::asio 详解:网络编程领域的“瑞士军刀“
网络·c++·boost
梁辰兴5 分钟前
计算机网络基础:计算机网络面临的安全性威胁
网络·计算机网络·计算机·计算机网络基础·梁辰兴
keyipatience6 分钟前
命名管道:跨进程通信的终极指南
linux·运维·服务器
小雨下雨的雨1 小时前
HarmonyOS V2状态管理深度解析:列表数据与分页架构
华为·架构·harmonyos·鸿蒙
折哥的程序人生 · 物流技术专研8 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试