以太网交换安全: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地址修改后它就获取不到了

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

四、总结

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

相关推荐
wowocpp4 分钟前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu
转世成为计算机大神5 分钟前
网关 Spring Cloud Gateway
java·网络·spring boot·1024程序员节
Leo.yuan13 分钟前
39页PDF | 华为数据架构建设交流材料(限免下载)
数据结构·华为
乡村农夫21 分钟前
cuda 环境搭建
linux
tingting011942 分钟前
Linux 普通用户禁用sudo su - 命令
linux·运维·服务器
WZF-Sang1 小时前
Linux—进程学习-01
linux·服务器·数据库·学习·操作系统·vim·进程
lqj_本人1 小时前
Flutter&鸿蒙next 状态管理框架对比分析
flutter·华为·harmonyos
乌龟跌倒1 小时前
网络层3——IP数据报转发的过程
网络·tcp/ip·计算机网络·智能路由器
Qhumaing1 小时前
html第一个网页
网络·html·html5
棱角~~1 小时前
盘点和嗨格式一样好用的10款数据恢复!!
数据库·经验分享·安全·电脑·学习方法