当前位置: 首页 > news >正文

DHCP snooping、DHCP安全及威胁防范

DHCP snooping、DHCP安全及威胁防范

[SW1]display dhcp snooping user-bind all,查看DHCP snooping表项。

DHCP snooping:

表项是通过服务器发送给客户端的ACK报文生成的。

只能在交换机上开启,路由器不支持,并且建议在接入交换机开启(汇聚和核心交换机开启没有意义)

主要原理:当DHCP服务器给客户端回复ACK报文时,会在交换机连接终端的接口生成snooping表项。

snooping表项包含:MAC地址,IP地址,接口编号,VLAN-ID,租期信息。

snooping表项的老化时间根据租期而定,同时如果终端发送释放报文那么绑定表也会随之删除。

书签-DHCP主要的攻击方式:

一、DHCP饿死攻击:攻击者伪装成主机向DHCP Server服务器请求IP分配,耗尽服务器的地址池地址,是的正常PC无法请求到可以使用的IP。

1、防御饿死攻击:

可以通过开启DHCP请求消息中数据链路层MAC地址和报文中CHADDR字段一致性检查,如果不一致就会认为是攻击,丢弃该报文。

[SW1]dhcp enable //首先,全局使能DHCP功能

[SW1]dhcp snooping enable //全局使能DHCP Snooping功能

[SW1-GigabitEthernet0/0/1]dhcp snooping enable //接口下使能DHCP snooping功能

[SW1-vlan1]dhcp snooping enable //在vlan视图下使能DHCP snooping,即在该vlan下的所有接口都使能

[SW1-GigabitEthernet0/0/1]dhcp snooping check dhcp-chaddr enable //开启chaddr一致性检查

如何判断发生了饿死攻击:可以通过检查DHCP服务器地址池分配是否存在异常来判断是否发生了饿死攻击!!!

防御变异的饿死攻击:

对于攻击者将帧源MAC和CHADDR的MAC同时修改的场景,一致性检查无效,实际该场景没有预防措施。

对于这种场景我们可以通过限制接口snooping表项数量来控制。

[SW1-GigabitEthernet0/0/1]dhcp snooping max-user-number 1~1024个;//限制该接口学习snooping表项的数量

2、DHCP客户端伪造DHCP报文攻击:

攻击者仿冒合法用户发送request报文续租IP导致IP无法被正常回收,久而久之,将没有空闲IP分配给合法终端;

攻击者仿冒合法用户发送release报文释放IP地址,导致合法用户异常下线。

[SW1-GigabitEthernet0/0/1]dhcp snooping check dhcp-request enable //开启DHCP请求消息与绑定表匹配查询。

3、非DHCP客户端伪造DHCP报文攻击:

[SW1-GigabitEthernet0/0/1]dhcp snooping sticky-mac,//开启设备基于DHCP snooping表项粘滞功能的MAC地址表学习机制,默认关闭MAC地址表学习功能,且报文不予转发。

功能相似:[SW1-GigabitEthernet0/0/1]mac-address learning disable action discard;

特别注意:一旦配置这条命令,这个接口就只能连接DHCP客户端,对于静态IP配置的终端无法进行通讯。

4、DHCP报文泛洪攻击:

[SW1]DHCP snooping check dhcp-rate enable //全局开启接口处理DHCP报文的频率功能。用来防止PC一秒钟发送成千上万次的正常的DHCP请求

[SW1]dhcp snooping check dhcp-rate 1~100 //每秒钟处理1~100和DHCP数据包

5、仿冒DHCP Server攻击:

私接路由器等设备,成为假的DHCP Server给同网络的终端分配地址。(交换机出来的网线接入到路由器LAN口,LAN口默认开启了DHCP功能)

信任接口和非信任接口

启用了DHCP snooping功能的交换机所有接口默认情况下都是非信任接口 该接口没有snooping表项

        5.1 非信任接口收到DHCP请求消息时,只转发给信任接口。

              非信任接口收到DHCP响应消息时,直接丢弃

        5.2 信任接口收到了DHCP请求消息时,会转发给其他的信任接口,如果没有,将丢弃

              信任接口收到了DHCP响应消息时,会发给非信任接口

[SW1-GigabitEthernet0/0/3]dhcp snooping trusted //将该接口配置为信任接口

6、DHCP中间人攻击:

[SW1]arp dhcp-snooping-detect enable //全局开启基于DHCP snooping绑定表的动态ARP检测。

相关文章:

  • 力扣刷题31-33(力扣 0024/0070/0053)
  • Linux kernel高频技术面试题一
  • 解决错误LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to
  • 云原生周刊:Kubernetes v1.30 一瞥 | 2024.3.25
  • STM32 库函数 3*4矩阵键盘
  • 简明 Python 教程(第5章 函数)
  • 动态内存分配
  • 区块链安全之DDoS防护的重要性及其实施策略
  • CentOS Stream 8系统配置阿里云YUM源
  • 基于pear-admin-flask 的 flask 使用教程
  • 代码随想录Day59:下一个更大元素II、接雨水
  • 苹果与百度合作,将在iPhone 16中使用生成式AI
  • 【排序算法】希尔排序
  • JAVA面试大全之基础篇
  • 压力测试(QPS)及测试工具Locust
  • [ JavaScript ] 数据结构与算法 —— 链表
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【Linux系统编程】快速查找errno错误码信息
  • 10个确保微服务与容器安全的最佳实践
  • Angular Elements 及其运作原理
  • canvas绘制圆角头像
  • CAP理论的例子讲解
  • Codepen 每日精选(2018-3-25)
  • Create React App 使用
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Mysql数据库的条件查询语句
  • PHP 的 SAPI 是个什么东西
  • SegmentFault 2015 Top Rank
  • XML已死 ?
  • Yii源码解读-服务定位器(Service Locator)
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 驱动程序原理
  • 整理一些计算机基础知识!
  • #1015 : KMP算法
  • #android不同版本废弃api,新api。
  • #Java第九次作业--输入输出流和文件操作
  • $NOIp2018$劝退记
  • (14)Hive调优——合并小文件
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (六)库存超卖案例实战——使用mysql分布式锁解决“超卖”问题
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (顺序)容器的好伴侣 --- 容器适配器
  • (转)Linux下编译安装log4cxx
  • (转)创业家杂志:UCWEB天使第一步
  • (转)关于pipe()的详细解析
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转载)从 Java 代码到 Java 堆
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET程序员迈向卓越的必由之路
  • .net反编译工具