ip dhcp snooping分析
ip dhcp snooping 技术学习笔记
泰克网络实验室学员学习笔记IP DHCP SNOOPING 技术学习笔记DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。
DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息。
默认情况下交换机不会有dhcp snooping功能,所以下面接几个dhcp server,交换机都不知道。
但是如果想做dhcp snooping功能,则在交换机的全局配置模式下敲:ip dhcp snooping。
则此时默认每个接口都是untrust,即收到udp是67端口的包都会丢掉。
(dhcp有四个包:1.client--dhcp server:discover,发现dhcp server在哪里,广播S:UDP 68,D:UDP 67。
2.dhcp server--client:告诉它自己在哪里,S:UDP 67 D:UDP 68。
3.server-client request S:UDP 68,D:UDP 67。
4.client-server:Response S:67,D:68)发现只要是SERVER发的都是67的包。
起了snooping 后,每个接口都不允许接dhcp server,除非在接server的接口上做ip dhcp snooping trust.即可信任的,收到源自67和也接受(只看进来的包)。
在接口下起用命令:ip verify source,即一个数据包过来进到接口,首先看源IP,源MAC,VLAN等信息和switch上表中存的是不是一致,一致才看目的是哪里,进行传输,如果源的信息与表中的不一致,则丢掉。
备注:以上只是我的一点学习心得,如果有正确的地方欢迎各位高手指证。
<本文作者为泰克网络实验室学员>。
爆肝了,一口气搞懂什么是DHCPSnooping
爆肝了,一口气搞懂什么是DHCPSnoopingDHCP Snooping是DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)的一种安全特性,用于保证DHCP客户端从合法的DHCP服务器获取IP地址,并记录DHCP客户端IP地址与MAC地址等参数的对应关系。
DHCP Snooping可以抵御网络中针对DHCP的各种攻击,为用户提供更安全的网络环境和更稳定的网络服务。
目录•为什么需要DHCP Snooping?•DHCP Snooping应用场景有哪些?•DHCP Snooping是如何工作的?为什么需要DHCP Snooping?目前DHCP协议(RFC2131)在应用的过程中遇到很多安全方面的问题,网络中存在一些针对DHCP的攻击,如DHCP Server仿冒者攻击、DHCP Server的拒绝服务攻击、仿冒DHCP报文攻击等。
为了保证网络通信业务的安全性,引入DHCP Snooping技术。
在DHCP Client和DHCP Server之间建立一道防火墙,以抵御网络中针对DHCP的各种攻击。
DHCP Snooping应用场景有哪些?防止DHCP Server仿冒者攻击导致用户获取到错误的IP地址和网络参数攻击原理由于DHCP Server和DHCP Client之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。
如果该DHCP服务器为用户分配错误的IP地址和其他网络参数,将会对网络造成非常大的危害。
如下图所示,DHCP Discover报文是以广播形式发送,无论是合法的DHCP Server,还是非法的DHCP Server都可以接收到DHCP Client发送的DHCP Discover报文。
DHCP Client发送DHCP Discover报文示意图DHCP Client发送DHCP Discover报文示意图如果此时DHCP Server仿冒者回应给DHCP Client仿冒信息,如错误的网关地址、错误的DNS(Domain Name System)服务器、错误的IP等信息,如图2所示。
DHCP snooping
一、机制概述DHCP都非常熟悉了,对于DHCP客户端而言,初始过程中都是通过发送广播的DHCP discovery消息寻找DHCP服务器,然而这时候如果内网中存在私设的DHCP服务器,那么就会对网络造成影响,例如客户端通过私设的DHCP 服务器拿到一个非法的地址,最终导致PC无法上网。
在DHCP snooping环境中(部署在交换机上),我们将端口视为trust或untrust两种安全级别,也就是信任或非信任接口。
在交换机上,将连接合法DHCP 服务器的接口配置为trust。
只有trust接口上收到的来自DHCPserver的报文(如DHCPOFFER, DHCPACK, DHCPNAK, 或者DHCPLEASEQUERY)才会被放行,相反,在untrust接口上收到的来自DHCPserver的报文将被过滤掉,这样一来就可以防止非法的DHCPserver接入。
同时在部署了DHCP Snooping了交换机本地,还能维护一张DHCPsnooping的绑定数据库(binding database),用于保存侦听到的DHCP交互的表项,信息包括(针对untrust接口的):MAC地址、IP地址(DHCP 分配的)、租期、绑定类型、VLAN号、接口编号(DHCP客户端也就是连接客户端PC的untrust接口)。
这个DHCP snooping banding databse除了可以做一些基本的安全接入控制,还能够用于DAI等防ARP欺骗的解决方案。
一台支持DHCP snooping的交换机,如果在其untrust接口上,收到来自下游交换机发送的、且带有option82的DHCP报文,则默认的动作是丢弃这些报文。
如果该交换机开启了DHCP snooping并且带有option82的DHCP报文是在trusted接口上收到的,则交换机接收这些报文,但是不会根据报文中包含的相关信息建立DHCP bingdingdatabse表项。
思科DHCPSnooping技术的网络安全管理方案
• 51•随着网络规模扩大和拓扑结构的适当调整,IP地址更多的是以动态分配形式为主。
不过实际生活中存在许多的IP地址盗用、ARP 病毒攻击等现象,究其原因就是用户比较多、地理位置较为分散以及随机性太强,进而造成网络安全管理工作的巨大困扰。
本文结合思科DHCP Snooping(DHCP 监听)、DAI(ARP 检测)、IPSG(IP 源地址防护)等技术探究合理的网络安全管理方案。
21世纪以来,互联网技术日益更新,在为人们带来许多生活便利的同时,还隐藏着网络安全的隐患。
我们急需对网络安全情况引起重视,在享受网络的便利同时提高防范心理。
那么,如何解决这一安全问题呢?要始终坚持“安全第一,预防为主”的指导策略,做好前期防范工作和事中援救事宜,根据预测、分析与防治工作出具应急预案,将可能出现的网络安全问题的解决处理办法的重点落在准确性与便捷性上,提高应急处置能力,最大限度地减少网络安全危机的发生及其不良后果。
1 网络安全日常管理日常管理是网络安全工作的基础,改进平时的管理,必须不断增强安全防范意识:网络管理员和所有员工都要高度重视网络安全,时刻保持警觉,决不松懈,共同为网络筑起一道“防护墙”。
其日常管理有以下基本规则。
(1)要确保内部局域网和外网严格执行物理隔离。
对局域网中的每一个用户来说,在进入到局域网之前,系统必须进行补丁下载,并且在进入到局域网之前对病毒进行杀毒。
每台PC都要经过实名认证,并将IP地址和MAC地址相关联。
(2)要安装杀毒软件:每个网络服务器、电脑等设施对有关杀毒软件的配备上是具有必要性的,使用者在固定周期内进行软件升级和杀毒操作。
在紧急情况下,客户使用端口会被迫进行升级与杀毒操作。
(3)要做好密码设置工作:指定计算机设备,如局域网中连接外网的计算机服务器、门户网、网络服务器、远程服务器等,必须设置不同的登录密码,这一密码最好的设置是由数字、26个英文字母及标点符号构成,长度为12位数,定期删除和更换设备的登录密码。
DHCP与DHCP_Snooping
Switch(Config)#interface ethernet 0/0/1 Switch(Config- Ethernet 0/0/1)#ip dhcp snooping trust
设置dhcp包的转发速p snooping limit rate 200
显示DHCP探测状态;
DHCP-Snooping将交换机端口划分为两类: 1. 非信任端口:通常为连接终端设备的端口,如PC, 网络打印机等 2. 信任端口:连接合法DHCP服务器的端口或者连 接汇聚交换机的上行端口 信任端口可以正常接收并转发DHCP Offer报文, 而不信任端口会将接收到的DHCP Offer报文丢弃。 这样,可以完成交换机对假冒DHCP Server的屏蔽 作用,确保客户端从合法的DHCP Server获取IP地 址。
地址池 在用户定义了 DHCP 范围及排除范围后,剩余 的地址欧成了一个地址池,地址池中的地址可以动 态的分配给网络中的客户机使用
租约 租约是 DHCP 服务器指定的时间长度,在这个 时间范围内客户机可以使用所获得的 IP 地址。当 客户机获得 IP 地址时租约被激活。在租约到期前 客户机需要更新 IP 地址的租约,当租约过期或从 服务器上删除则租约停止。
Switch(Config)#ip dhcp snooping binding user 00-03-0f-1234-56 address 192.168.1.16 255.255.255.0 vlan 1 interface Ethernet0/0/16
设置端口 ethernet0/0/1为 DHCP Snooping信任 端口,默认是非信任端口;
启动DHCP Snooping功能: 启动DHCP Snooping绑定功能: 在交换机端口 Ethernet0/0/16 配置静态绑定:
dhcpsnoopingDHCP安全
dhcpsnoopingDHCP安全技术背景你有没有遇到过这样的现象,在公司⽹络环境中,有⼈私接⼩路由,导致下发⾮法IP地址,⽽获取到⾮法IP地址的终端将⽆法正常访问⽹络。
是不是很⽓⼈,⽽且在实际当中,接路由器⼀般都是藏起来,你找都不好找,那有没有⼀种办法,让这种⼩路由⽆法使⽤呢?即便是你接上了,也不让你⽤!!(其实如果接对的话,是没有问题的,就怕是你接错了)DHCP snooping 横空出世1)什么是DHCPsnoopingDHCP snooping,是针对于dhcp(动态分配主机协议)所做的安全机制,在⼀个内⽹中我们⽐较常见的情况如下,⼀个⼯位上的员⼯,为了⾃⼰上⽆线⽅便,⾃⼰私接了⼀台⽆线路由器,⽽恰巧⼜接在了lan⼝上,这种⼩型家⽤路由器的内⽹是可以分配 DHCP的,这样⼀台内⽹有些终端就从这⾥获得到了IP,⽽这个IP是根本就没有办法上⽹的,所以要通过dhcp snooping来解决(确认的说应该是在出现问题之间就解决掉)不让⾮法的DHCP服务器在⽹络中活动2)配置在哪⾥?确认的说,配置在接⼊交换机,并将上联⼝配置为trust信任3)有哪些特点只要开启了DHCPsnooping功能,那么所有的接⼝默认都是不信任的DHCP snooping的两种状态,1 信任:接收和转发所有DHCP包2 不信任:接收客户端的请求包,但是不转发实例在此拓扑中,R1为公司的GW,负责DHCP下发IP,⽽R2充当 TP-LINK,⾮法的DHCPserver三层交换机做DHCP 中继,配置在这⾥不再多说,(如果有不明⽩的,可以回看DHCP HELP那⼀篇)先保证全⽹能够正常通信,PC1能够获得公司合法的IP地址另外两台交换机的互联接⼝本配置TRUNK此时是正常的情况,PC可以获得到正确的IP地址此时开启R2,摸拟DHCP,并配置⼀个⾮法的DHCP地址池再⽤PC进⾏测试,这个时候,PC机就要看运⽓了,有的时候能够获得到正确的,有的时候获得到的就是⾮法的这个时候就要开启DHCP snooping了先到最后⼀台,SW4上开启1)全局开启(config)#ip dhcp snooping2)针对vlan(config)#ip dhcp snooping vlan 10 //记住,cisco的设备是针对于VLAN的,所以在开启的时候后⾯⼀定要加上VLAN编号3)进⼊接⼝配置信任:(config-if)#ip dhcp snooping trustSW4配置完成,此时如果⽤PC请求的话,还是有可能请求到⾮法的IP地址,因为TP-LINK在SW3上,所以SW3也要进⾏开启,配置完了吗?PC机请求⼀下发现SW3会有系统消息直接给的drop丢弃了,你会发现,在开启snooping之前,是没有这个消息的,为什么?关键词 option82⽤wireshark 抓包看⼀下这个82选项中包含了啥?这个紫⾊的框框中是什么意思?AABBCC004000,像是⼀个MAC,为什么会有它的MAC?答:这个是客户机请求DHCP时,会携带的交换机MAC地址,⽤于定位⽤,在⼀个局域⽹中有很多交换机,当请求到达路由器在回包的时候,好知道应该给哪台交换机,⽽这时,开启了DHCP snooping的设备是⽆法辨识82选项的,也就不允许通过。
华为交换机DHCPSNOOPING功能使用案例解析
[L:315]Interface(src:Eth0/0/1 dst:Eth0/0/1) ,vlan(O/I:1/0 pkt:0), mac(client:c454-4400-3f71 src:c454-4400-3f71 dst:ffff-ffff-ffff),port(src:68 dst:67)
Ping网关测试不通
手动添加一个user-bind表项测试
[Quidway]user-bind static ip-address 192.168.0.250 mac-address c454-4400-3f71
可以ping通网关
得出结论:
如果一个网段中有部分预留的IP地址要使用的话,必须手动添加user-bind表项才行,如果是DHCP获取的IP地址可以自动的生产user-bind表项,不用添加,总之dhcp snooping + user-bind是一个非常好的功能,再也不用担心下面接入交换机上乱接小路由器的lan口而担心了!哈哈!
1、dhcp snooping测试拓扑(一)
2、dhcp snooping测试概述(一)
1.提供上行方向两个DHCP源,其中S2700的24号端口开启dhcp snooping功能并且连接的dhcp源设置为信任。
2.S2700的23好端口开启dhcp snooping功能,并且连接的dhcp源设置为不信任(默认情况下为不信任)
10、测试配置
#
dhcp enable
dhcp snooping enable
#
interface Ethernet0/0/1
DHCP SNOOPING工作原理测试
DHCP SNOOPING工作原理测试一.工作原理:A.在指定VLAN启用DHCP Snooping后,将端口分为Trusted接口和Untrusted接口,默认VLAN所有接口都变为Untrusted接口,需要手动设置Trusted接口。
B.对于Untrusted接口,只能接收DHCP的请求消息,不会向这个接口发送出DHCP的请求消息。
C.对于Untrusted接口,从接口进入的DHCP的响应消息也会被drop掉D.对于Trusted接口,没有任何限制,也不做检测。
---测试后觉得这个不确切,Trusted接口如果没有DHCP请求包进入,不会发出DHCP 响应包---当DHCP服务器和DHCP客户端都属于Trusted接口,DHCP客户端是能正常获取IP 地址的---也就是说Trusted口有DHCP请求包进入时,才会发出DHCP响应包另外测试中还发现:①对于思科路由器,如果修改接口mac,交换机不知道是伪造的,最后拿到IP的进入dhcp snooping binding绑定表②但是不知道为什么貌似交换机能识别windows主机修改了自己的mac地址---虽然它从DHCP服务器那里成功的获取了IP地址,但是dhcp snooping binding表里面不会增加记录---把交换机清空配置,重启这种情况没有出现,我还以为交换机怎么能识别出来的呢---重启交换机后,windows主机照也能冲掉路由器在交换机dhcp snooping binding 表的记录③同一VLAN ,CAM表不会记录重复的mac地址条目,后到的会冲掉之前的---即使windows修改接口MAC地址会被DHCP snooping发现,但是CAM表是被更新的---如果属于不同的VLAN重复的mac地址是会被CAM表记录的二.测试拓扑:三.验证:A.交换机在VLAN开启DHCP Snooping之后,VLAN所有接口默认都为Untrust接口----不用验证,省略B.Untrust接口只接收DHCP请求的数据包,不会发出DHCP请求的数据包---这个可以把R1作为DHCP客户端,R2作为DHCP服务器端,连接PC1的接口默认Untrust和修改为Trust来进行验证①如果没有开启DHCP Snooping,在PC上面能够抓到所有的DHC广播包②开启DHCP Snooping后,如果连接PC1的接口为Untrusted口,在它上面抓包,收不到任何DHCP的广播包③开启DHCP Snooping后,如果连接PC1的接口为Trusted口,在它上面抓包,可以抓到DHCP Discover包和DHCP Request包(都是有客户端发送的广播包,收不到服务器发送的广播包),并且可以看到开启DHCP Snooping之后,DHCP Discover包增加了82选项④关于82选项---交换机开启DHCP Snooping之后默认是会添加的,可以在交换机上通过SW1(config)#no ip dhcp snooping information option 取消掉---对于思科路由器作为DHCP服务器情况,因为它能识别82选项,当发现DHCP Discover 包含82选项,而又不是由DHCP Relay发送过来的,不会给客户端分派IP地址,除非通过如下全局命令或接口命令信任82选项:R2(config)#ip dhcp relay information trust-allR2(config-if)#ip dhcp relay information trusted---值得注意的是,如果交换机开启了DHCP Snooping,又没有关闭82选项,那么在作为DHCP中继的路由器全局或接口也得开启信任82选项,否则路由器不会中继DHCP Discover包---像微软的DHCP服务器,其压根就识别不了82选项,因而会忽略掉82选项C.对于Untrust接口,从接口进入的DHCP响应包会丢弃---这个不好测试,只能通过DHCP中继来测试①当交换机没有开启DHCP Snooping时,PC1可以收到R2发给它的DHCP Offer包(DHCP 响应包)②当交换机开启DHCP Snooping且不配置任何口为信任口时,PC1无法收到DHCP包,并且有如下日志:Mar 1 18:42:53.774: %DHCP_SNOOPING-5-DHCP_SNOOPING_UNTRUSTED_PORT:DHCP_SNOOPING drop message on untrusted port, message type: DHCPOFFER, MAC sa: 0002.0002.0002③当交换机开启DHCP Snooping,仅配置连接R2的接口为信任口时,PC1无法收到DHCP 包④当交换机开启DHCP Snooping,同时配置连接R2和PC1的接口为信任口时,PC1可以收到R2发给它的DHCP Offer包(DHCP响应包)D.对于Trusted接口,没有任何限制,也不做检测。
深度解析DHCP Relay和Snooping
一、DHCP relay首先分析一下DHCP relay是什么协议。
在使用DHCP协议,客户机可以向DHCP服务器动态的请求配置信息,包括分配的IP地址,子网掩码,缺省网关等信息。
由于DHCP请求报文以广播方式进行的,这种类型报文的转发局限于一个网段内,不可以跨网段工作,因此,为进行动态主机配置需要在所有网段上都设置一个DHCP服务器,这显然是不经济的。
DHCP 中继的引入解决了这一问题,它在处于不同网段间的DHCP客户机和服务器之间承担中继服务,将DHCP协议报文跨网段中继到目的DHCP服务器,于是许多网络上的DHCP客户机可以共同使用一个DHCP服务器。
DHCP协议是以客户/服务器模式工作的,当DHCP客户启动时,发送配置请求报文,DHCP 中继收到该报文并适当处理后发送给指定的位于其它网络上的DHCP服务器。
服务器根据客户提供的必要信息,再次通过DHCP中继发送配置信息给客户机,完成对主机的动态配置。
DHCP RELAY功能示意图如下所示:DHCP RELAY实现的主要功能为:1、配置IP辅助地址用户通过命令行界面,在接口配置模式下,为接口配置IP辅助地址,即指明DHCP SERVER 的IP地址。
在接口控制块中维护辅助地址信息,供DHCP中继时使用。
各接口可以配置多个IP辅助地址(每个接口可配置的的IP辅助地址最大个数为20,可以根据具体产品需要调整该值),IP辅助地址将被保存在接口控制块中。
2、处理DHCP中继报文DHCP中继代理不是对所有收到的DHCP报文都作中继处理,在中继前需要识别需要处理的DHCP报文。
需要强调的是在服务器端如回应报文发送给DHCP中继,则回应报文目的端口设为67。
DHCP中继模块通过Socket收发DHCP中继报文。
从各接口接收的DHCP协议报文,都是由Socket接收。
对DHCP报文识别后,交由中继模块处理。
通常DHCP请求报文的源地址是0,DHCP中继代理必须可以接收IP源地址为0的报文。
DHCP Snooping功能和实例详解
DHCP Snooping功能与实例详解一、采用DHCP服务的常见问题架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。
但在DHCP 服务的管理上存在一些问题,常见的有:●DHCP Server的冒充●DHCP Server的DOS攻击,如DHCP耗竭攻击●某些用户随便指定IP地址,造成IP地址冲突1、DHCP Server的冒充由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP服务器,它就可以为客户端分配IP地址以及其他网络参数。
只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。
2、DHCP Server的拒绝服务攻击通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR (也就是Client MAC address)字段来判断客户端的MAC地址。
正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。
攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。
端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。
但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。
由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。
DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。
当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。
dhcp snooping工作原理
dhcp snooping工作原理DHCP Snooping工作原理一、引言DHCP(动态主机配置协议)是一种常用的网络协议,它用于为网络设备分配IP地址、子网掩码、默认网关等配置信息。
然而,由于DHCP是基于广播的协议,存在一些安全风险,比如DHCP服务器被伪造、DHCP报文被篡改等问题。
为了解决这些安全问题,网络管理员可以使用DHCP Snooping技术。
二、DHCP Snooping的定义DHCP Snooping是一种网络安全技术,它通过监听和验证网络中的DHCP报文,防止未经授权的DHCP服务器提供IP地址配置,以及防止未经授权的客户端请求IP地址。
它基于交换机的硬件特性实现,并且可以防止恶意攻击和网络故障。
三、DHCP Snooping的工作原理1. DHCP Snooping开启网络管理员需要在交换机上启用DHCP Snooping功能。
一般情况下,DHCP Snooping默认是关闭的。
启用DHCP Snooping后,交换机将对DHCP报文进行监听和验证。
2. DHCP Snooping数据库交换机会建立一个DHCP Snooping数据库,用于存储已经授权的DHCP服务器的信息,包括MAC地址、IP地址、端口等信息。
这个数据库可以手动配置,也可以通过动态学习的方式自动更新。
3. DHCP报文的验证当交换机收到DHCP报文时,它会首先验证该报文的合法性。
交换机会检查报文中的源MAC地址、源IP地址、接收端口等信息,并与DHCP Snooping数据库中的信息进行比对。
如果验证通过,交换机会将该报文转发给目标设备;如果验证不通过,交换机会丢弃该报文。
4. DHCP Snooping绑定表交换机还会维护一个DHCP Snooping绑定表,用于记录每个客户端设备的MAC地址、IP地址、VLAN、端口等信息。
当交换机收到一个DHCP报文时,它会根据报文中的源MAC地址查找绑定表,如果找到对应的绑定信息,交换机会更新该绑定信息;如果没有找到,则会创建一个新的绑定信息。
DHCP snooping IPSG DAI一些应用经验
DHCP snooping、IPSG、DAI的一些使用经验源自于一次客户的需求,客户网络中员工使用的都是静态IP,没有DHCP,客户的需求是,防止外来电脑设定一个内网IP,就能够访问内网的资源,但是客户静态IP的合法用户并不固定端口,也就是说合法的静态IP用户会抱着笔记本一会儿接这个端口,一会儿接那个端口,那么IP跟mac的绑定就不能与端口相关联起来。
借这个机会研究了一下DHCP snooping、IPSG、DAI,在经过很多测试实验之后,找到了解决方法,也总结了些学习经验。
一、刚开始试了DAI,开启dhcp snooping的情况下,,DAI会根据这个DHCP snooping的binding列表来检查端口来检查源arp包,但是客户没有dhcp server,做静态绑定的话又必须要跟接口关联Switch(config)#ip source binding 1111.1111.1111 vlan 1 1.1.1.10 ?interface binding interface但是客户需要又不能跟接口关联,所以这个binding表是空的,那岂不就是谁都无法接入,之后试了一下,发现只开启DAI,而不开启dhcp snooping,这样,DAI不会检查dhcp binding表,而是匹配arp表转发,所以,只要手工写arp表项就好了,而且在开启DAI情况下,untrust接口不会学习arp,也就是说,一台陌生的pc接入网络,交换机不会将陌生pc的mac地址学来,而是会在手工写的mac地址表里面找条目,有他的mac地址,这台PC就能访问网络,没有,这台pc就不能访问网络,与接口无关。
总共就配这两条命令,pc长ping 1.1.1.1,可以通虽然没有开dhcp snooping,但是还是show一下binding表,是空的查看arp表项,有手工写的arp表项,1.1.1.10对应我的mac我再no掉手工写的arp表项Switch(config)#no arp 1.1.1.10 60eb.69eb.b6ff ARPA查看arp表项,1.1.1.10对应的mac变成了incomplete,交换机不会自动学习陌生的mac地址了Ping包立刻中断交换机开始报DAI的log,无效的arp请求,我发的ping包请求网关mac是无效的*Mar 1 04:16:32.398: %SW_DAI-4-DHCP_SNOOPING_DENY: 1 Invalid ARPs (Res) on Fa0/1, vlan 1.([60eb.69eb.b6ff/1.1.1.10/0019.e7aa.5f40/1.1.1.1/04:16:31 UTC Mon Mar 1 1993])这时我再加上arp条目Switch(config)#arp 1.1.1.10 60eb.69eb.b6ff ARPA立刻又能通了为了验证结论的准确性,我再开启dhcp snoopingSwitch(config)#ip dhcp snoopingSwitch(config)#ip dhcp snooping vlan 1ping包过了很久才中断,但好歹中断了,并且ping包断的时候交换机也开始报DAI的log,证明开启了dhcp binding,binding表是空时,即使arp有表项,也是无法接入的。
dhcp防御的原理和方法
dhcp防御的原理和方法DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于为网络中的设备分配IP地址、子网掩码、网关等网络配置信息。
然而,由于DHCP协议的工作方式,可能会导致网络安全问题。
为了防御这些安全威胁,我们需要了解DHCP防御的原理和方法。
DHCP防御的原理主要是通过限制和监控DHCP服务器的功能和使用,以减少潜在的安全风险。
下面将介绍几种常见的DHCP防御方法。
1. DHCP Snooping(DHCP监听)DHCP Snooping是一种基于交换机的DHCP防御技术。
它通过在交换机上设置一个可信任的DHCP服务器列表,对从未授权的DHCP服务器发送的DHCP报文进行过滤和拦截。
只有在可信任的DHCP服务器列表中的服务器才能够向客户端提供IP地址等配置信息,从而防止恶意的DHCP服务器攻击。
2. IP-MAC Binding(IP-MAC绑定)IP-MAC Binding是一种将IP地址和MAC地址绑定在一起的技术,可以有效防止IP地址冲突和IP地址欺骗攻击。
通过在DHCP服务器上配置IP-MAC绑定规则,只有符合规则的MAC地址才能够获得指定的IP地址,其他设备无法获取该IP地址。
3. DHCP Option Filtering(DHCP选项过滤)DHCP Option Filtering是一种通过过滤和限制DHCP选项来增强DHCP安全性的方法。
DHCP选项是在DHCP报文中用于传递配置信息的字段,通过过滤和限制某些敏感的DHCP选项,可以防止恶意DHCP服务器向客户端发送恶意配置信息,从而保护网络安全。
4. DHCP Rate Limiting(DHCP速率限制)DHCP Rate Limiting是一种通过限制DHCP请求的速率来防止DHCP服务器被过度利用的方法。
通过设置DHCP服务器的速率限制策略,可以限制每个客户端请求IP地址的速率,防止DHCP服务器被恶意用户或恶意程序耗尽资源。
dhcp snooping
理解DHCPDHCP 协议被广泛用来动态分配可重用的网络资源,如 IP 地址。
一次典型的DHCP 获取 IP 的过程如下所示:DHCP Client 发出 DHCP DISCOVER广播报文给 DHCP Server,若 Client 在一定时间内没有收到服务器的响应,则重发 DHCP DISCOVER 报文。
DHCP Server收到 DHCP DISCOVER报文后,根据一定的策略来给 Client 分配资源(如 IP 地址),然后发出 DHCP OFFER报文。
DHCP Client 收到 DHCP OFFER报文后,发出 DHCP REQUEST请求,请求获取服务器租约,并通告其他服务器已接受此服务器分配地址。
服务器收到 DHCP REQUEST报文,验证资源是否可以分配,如果可以分配,则发送 DHCP ACK 报文;如果不可分配,则发送 DHCP NAK 报文。
DHCP Client收到DHCP ACK 报文,就开始使用服务器分配的资源。
如果收到 DHCP NAK,则重新发送 DHCP DISCOVER报文。
理解DHCP SnoopingDHCP Snooping 就是 DHCP 窥探,通过对 Client 和服务器之间的 DHCP 交互报文进行窥探,实现对用户的监控,同时 DHCP Snooping起到一个 DHCP 报文过滤的功能,通过合理的配置实现对非法服务器的过滤。
下边对 DHCP Snooping 内使用到的一些术语及功能进行一些解释:DHCP Snooping TRUST 口:由于 DHCP 获取 IP的交互报文是使用广播的形式,从而存在着非法服务器影响用户正常 IP 的获取,更有甚者通过非法服务器欺骗窃取用户信息的现象,为了防止非法服务器的问题,DHCP nooping 把端口分为两种类型, TRUST口和UNTRUST口,设备只转发TRUST口收到的DHCP Reply报文,而丢弃所有来自UNTRUST口DHCP Reply报文,这样我们把合法的DHCP Server 连接的端口设置为 TURST 口,其他口设置为 UNTRUST 口,就可以实现对非法DHCP Server 的屏蔽。
DHCP snooping
DHCP SNOOPING一、DHCP原理:五种报文:①DHCP Discover :用于客户端申请IP地址使用,源地址为4个0,目的地址为广播地址。
目的端口为67(服务器监听端口,客户端监听端口为68)②DHCP offer:此报文为服务器端向客户端提供IP地址,源地址为服务器地址,目的地址为分配IP。
Option 字段如下:③DHCP Request:确认机制,但源地址为0,目的为广播。
让服务器知道自己收到了。
④DHCP ACK:当服务器收到request消息会回复ACK地址,确认可以使用该地址。
而且当客户端收到ACK报文后,会发送ARP消息,以分配的IP地址为目标,观察是否同网段内该地址是否已经被使用。
⑤DHCP NAK:表示有错误,请求失败。
租期到期后从发request时,服务端无法识别,就会发送NAK。
⑥DHCP DECLINE :检测到IP地址冲突,会向服务器发送此报文,表示此IP地址不可用。
并从新发送discovery报文。
⑦DHCP RELEASE:客服端释放此IP地址,表示服务器可以将此IP分配给其他人。
⑧DHCP INFORM:获取更详细信息,DNS,网关,则发送inform请求。
DHCP snooping功能:1)信任功能:信任端口正常转发接收到的DHCP 应答报文。
非信任端口在接收到DHCP服务器响应的DHCP Ack、DHCP Offer 后,丢弃该报文。
2)DHCP Snooping 的基本监听功能,能够记录DHCP 客户端IP 地址与MAC 地址等参数的对应关系。
DHCP监听表内容:●用户的IP 地址●用户的MAC 地址●用户所属VLAN ID●用户所属接口●租期(表项存活时间)饿死攻击一:DHCP饿死攻击,大量申请IP地址,discover报文中的二层地址会不断变化,但是二层包头的源地址不变,可由DHCP SNOOPING 防止攻击。
饿死攻击二:报文中的二层地址与二层包头的源地址一起改变。
IP-COM DHCP snooping功能使用
DHCP 侦听功能使用一、应用场景:在一些酒店或者学校环境中,用户私自外接路由器(接路由器的LAN口,当AP使用)但是又不关DHCP服务器,导致其他用户从非法DHCP上获取IP地址,导致无法上网。
通过DHCP 侦听功能,指定交换机上某个口为信任接口,从而指定信任的DHCP 服务器。
过滤非法DHCP服务器的DHCP响应包。
二、未使用DHCP 侦听功能图1:未使用DHCP侦听的拓扑三、使用DHCP侦听功能:DHCP Snooping的信任端口功能所提供的是对于DHCP服务器信息来源的控制,此功能通过将不信任端口接收的DHCP响应报文丢弃,防止DHCP客户端从网络中不可信任的DHCP服务器获取IP地址。
●信任端口是与合法的DHCP服务器直接或间接连接的端口。
信任端口对接收到的DHCP报文正常转发,从而保证了DHCP客户端获取正确的IP地址。
●不信任端口是不与合法的DHCP服务器连接的端口。
如果从不信任端口接收到DHCP服务器响应的DHCP-ACK和DHCP-OFFER报文则会丢弃,从而防止了DHCP客户端获得错误的IP地址。
图2 DHCP Snooping信任端口功能示意图开启DHCP Snooping功能后,交换机上的所有端口默认被配置为非信任端口,此时从非信任端口接收的DHCP-ACK、DHCP-NAK、DHCP-OFFER报文都不会被交换机转发、也不会上送CPU处理;当某端口被配置为信任端口时,从该端口传入的DHCP-ACK、DHCP-NAK 及DHCP-OFFER报文将被镜像至CPU处理。
三、具体应用:在如图2所示的图中,假设正常的DHCP服务器跟交换机的连接端口为24号接口,其他的1-23连接PC或者别的设备,那么在G3224P里面设置如下:(1)开启全局DHCP 侦听功能(2)设置连接正常DHCP服务器的端口为信任端口按照如上设置后,无论在交换机上接有多少个DHCP服务器,电脑都只能从信任端口(24口)上获取IP地址。
DHCP Snooping功能与实例详解 -经典
DHCP Snooping功能与实例详解架设DHCP服务器可以为客户端自动分配IP地址、掩码、默认网关、DNS服务器等网络参数,简化了网络配置,提高了管理效率。
但在DHCP服务的管理上存在一些问题,常见的有:●DHCP Server的冒充●DHCP Server的DOS攻击,如DHCP耗竭攻击●某些用户随便指定IP地址,造成IP地址冲突1、DHCP Server的冒充由于DHCP服务器和客户端之间没有认证机制,所以如果在网络上随意添加一台DHCP 服务器,它就可以为客户端分配IP地址以及其他网络参数。
只要让该DHCP服务器分配错误的IP地址和其他网络参数,那就会对网络造成非常大的危害。
2、DHCP Server的拒绝服务攻击通常DHCP服务器通过检查客户端发送的DHCP请求报文中的CHADDR(也就是Client MAC address)字段来判断客户端的MAC地址。
正常情况下该CHADDR字段和发送请求报文的客户端真实的MAC地址是相同的。
攻击者可以利用伪造MAC的方式发送DHCP请求,但这种攻击可以使用Cisco 交换机的端口安全特性来防止。
端口安全特性(Port Security)可以限制每个端口只使用唯一的MAC地址。
但是如果攻击者不修改DHCP请求报文的源MAC地址,而是修改DHCP报文中的CHADDR字段来实施攻击,那端口安全就不起作用了。
由于DHCP服务器认为不同的CHADDR值表示请求来自不同的客户端,所以攻击者可以通过大量发送伪造CHADDR的DHCP请求,导致DHCP服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种DHCP耗竭攻击。
DHCP耗竭攻击可以是纯粹的DOS攻击,也可以与伪造的DHCP服务器配合使用。
当正常的DHCP服务器瘫痪时,攻击者就可以建立伪造的DHCP服务器来为局域网中的客户端提供地址,使它们将信息转发给准备截取的恶意计算机。
甚至即使DHCP请求报文的源MAC地址和CHADDR字段都是正确的,但由于DHCP请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。
DHCP-Snooping特性使用不当造成PC机无法获取IP地址
DHCP-Snooping特性使用不当造成PC机无法获取IP地址DHCP-Snooping特性使用不当造成PC机无法获取IP地址DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,该协议采用Client-Server模型,是基于UDP层的协议,兼容并扩充了BOOTP(BOOTstrap Protocol)协议。
DHCP Client采用知名端口号68,DHCP Server采用知名端口号67。
当网络中有DHCP Relay 设备时,DHCP的主要过程如下:DHCP协议使用在PC机与DHCP Relay设备之间,当Client收到Relay设备转发的DHCP Ack 报文后,对报文中提供的配置参数进行检查,同时进行配置,完成DHCP过程;如果Client 收到Nak报文,则重新开始整个过程。
需要注意的是DHCP Relay设备回给Client的报文有可能是单播,也有可能是广播,这完全取决于Client是否将发出的 Discover报文里面的Bootp flags字段进行置位。
如果该字段数值为1,则DHCP Relay将 Offer或者Ack/Nak报文广播给Client;反之,如果该字段数值为0,则DHCP Relay将 Offer或者Ack/Nak报文单播给Client。
以上,只是简单介绍客户端通过DHCP动态获取地址的过程,主要为了给DHCP-Snoooping这个交换机新增的特性做铺垫。
从字面上看,DHCP-Snooping和IGMP-Snooping完成的功能类似,都是对特定报文进行侦听。
当交换机开启了DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCP Request或DHCP Ack报文中提取并记录IP地址和MAC地址信息。
另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。
信任端口可以正常接收并转发DHCP Offer 报文,而不信任端口会将接收到的DHCP Offer报文丢弃。
IP DHCP Snooping 和 DAI
IP DHCP Snooping 和 Ip Source Guard、 DAI1.目的为了配合使用公司的dhcp enforcement准入控制组件,强制终端电脑用dhcp来获取IP,并使用内部网络。
为了防止终端用户通过手动设置IP来绕过DHCP,必须在交换机上配合使用IP DHCP Snooping、IP Source Guard、或DAI(dynamic arp inspection)技术,使得手动设置IP的终端电脑无法使用网络。
2.环境如下图其中:3.原理介绍3.1. DHCP Server用于管理分配IP地址从特定的地址池,它可以是一个PC/ROUTER/SWITCH。
3.2. DHCP Relay Agent一个用于在DHCP SERVER与DHCP Client之间转发DHCP Packets的中间三层设备。
它主要应用于DHCP SERVER与Client端在不同的子网时,临时作为一个代理,在它们之间传递数据包。
DHCP Relay Agent的中继转发不同与一般的二层转发,它在收到一个DHCP消息时,会生成一个新的DHCP消息同时发送到外出接口。
3.3. DHCP Snooping一种DHCP安全特性,通过监听DHCP流量,来建立和维护一个DHCP Snooping Binding Database/Table,并且过滤untrusted DHCP消息。
连接在交换机上的所有PC都配置为动态获取IP地址,PC作为DHCP客户端通过广播发送DHCP请求,DHCP服务器将含有IP地址信息的DHCP回复通过单播的方式发送给DHCP客户端,交换机从DHCP报文中提取关键信息(包括IP地址,MAC地址,vlan号,端口号,租期等),并把这些信息保存到DHCP 监听绑定表中。
DHCP Snooping就像是运行在untrusted hosts与DHCP SERVER之间的一个firewall 一样。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
应用场景:
IP Source Guard可以实现防止用户私设IP地址及防止用户变化源IP的扫描行为,要求用户必须动态DHCP方式获取IP,否则将无法使用网络;
IP Source Guard配合ARP-check功能使用可以有效预防ARP欺骗,具体配置参考IP Source Guard+ ARP-check防范ARP
功能简介:
IP Source Guard:IP Source Guard(IP源防护)维护一个IP 源地址绑定数据库,IP Source Guard可以在对应的接口上主机报文进行基于源IP、源IP和源MAC的报文过滤,从而保证只有IP源地址绑定数据库中的主机才能正常使用网络。
IP Source Guard会自动将DHCP Snooping绑定数据库中的合法用户绑定同步到IP
Source Guard的IP源地址绑定数据库(硬件安全表项中),这样IP Source Guard就可以在打开DHCP Snooping设备上对客户端的进行严格过滤;默认情况下,打开IP Source Guard的功能的端口会过滤所有非DHCP的IP报文;只有当客户端通过DHCP从服务器获取到合法的IP或者管理员为客户端配置了静态的IP源地址绑定,端口将允许和这个客户端匹配的IP报文通过。
IP Source Guard支持基于IP+MAC或者基于IP的过滤,如果打开基于IP+MAC的过滤,IP Source Guard会对所有报文的MAC+IP进行检测,仅仅允许IP源地址绑定表格中存在的用户报文通过;而基于IP的过滤,仅仅会对报文的源IP地址进行检测。
一、组网需求
用户网关在核心交换机上,核心交换机创建DHCP Server,接入交换机下联PC使用动态DHCP获取IP地址,为了防止内网用户私设IP,需要实施IP Source Guard功能,对于私设IP地址的用户不让访问外网。
二、组网拓扑
三、配置要点
1、在核心交换机上开启DHCP Server功能(部分场景中,客户可能采用专用DHCP服务
器,则核心交换机只需要启用DHCP Relay功能即可)
2、在接入交换机上全局开启dhcp snooping功能,并且在上联核心的端口开启DHCP
Snooping信任口
3、在接入交换机连接用户的端口开启IP Source Guard功能
4、网络中存在个别用户使用静态IP,配置IP Source Guard功能后也能实现安全控制。
四、配置步骤
核心交换机配置:
1、开启核心设备的DHCP服务功能
Ruijie(config)#service dhcp
2、创建核心设备的IP地址,即用户的网关地址
Ruijie(config)#interface vlan 1
Ruijie(config-if-VLAN 1)#ip address 192.168.1.254 255.255.255.0
Ruijie(config-if-VLAN 1)#exit
3、创建核心设备的DHCP地址池
Ruijie(config)#ip dhcp pool vlan1
Ruijie(dhcp-config)#network 192.168.1.0 255.255.255.0 ------>子网掩码要和所设置IP地址的子网掩码一致,这里都是/24位掩码
Ruijie(dhcp-config)#dns-server 218.85.157.99 ------>设置分配给客户端的DNS地址
Ruijie(dhcp-config)#default-router 192.168.1.254 ------>设置分配给用户的网关地址,这个要和核心设备上所设置的IP地址一致,为192.168.1.254
Ruijie(dhcp-config)#end
Ruijie#wr
接入交换机配置:
1、在接入交换机上开启dhcp snooping功能
Ruijie>enable
Ruijie#configure terminal
Ruijie(config)#ip dhcp snooping ------>开启DHCP snooping功能
2、连接DHCP服务器的接口配置为可信任口
Ruijie(config)#interface gigabitEthernet 0/49
Ruijie(config-GigabitEthernet 0/49)#ip dhcp snooping trust ------>开启DHCP snooping的交换机所有接口缺省为untrust口,交换机只转发从trust口收到的DHCP响应报文(offer、ACK)
3、连接用户的接口开启IP Source Guard功能
Ruijie(config)#interface range fastEthernet 0/1-2 ------>同时进入1口和2口接口配置模式
Ruijie(config-if-range)#ip verify source port-security------>开启源IP+MAC的报文检测,将DHCP Snooping形成的snooping表写入地址绑定数据库中,请正确配置ip verfiy soure port-security,不要使用ip verify source(仅绑定IP),部分产品存在限制,只绑定IP的情况下可能出现异常。
注意:如果交换机下还有级联交换机,则不要在级联交换机端口配置IP Source guard,而应该在接入交换机上部署IP Source Guard方案。
避免二个设备都进行硬件绑定用户的
IP+MAC,导致消耗设备硬件资源表项。
4、配置静态绑定用户,这些用户希望采用静态IP地址,也能实现安全检查,避免端口下
其他用户私用IP地址。
Ruijie(config)#ip source binding 001a.a2bc.3a4d vlan 10 192.168.10.5 interface fa0/15
Ruijie(config)#interface fastEthernet 0/15
Ruijie(config-fastethernet 0/15)#ip verify source port-security
------>开启源IP+MAC的报文检测
5 、保存配置
Ruijie(config-if-range)#end
Ruijie#write ------>确认配置正确,保存配置
五、功能验证
1、相关功能信息查看
1)查看核心交换机DHCP服务器地址池分配情况
2)查看PC获取IP地址情况,在电脑上点击开始----->运行-------->输入cmd进入命令行界面-------->输入ipconfigl可以查看如下信息:
3)查看DHCP Snooping表
4)查看IP Source Guard相关信息
2、效果验证
1)自动获取IP地址,获取的IP地址是192.168.1.1,此时电脑能ping通网关
查看网关的MAC地址
2)对电脑IP地址进行手动释放(在电脑cmd命令行界面敲ipconfig/release),然后手动设置一个IP地址
在电脑上手动设置IP地址,点击确定
在cmd命令行输入ipconfig/all,确认是手动设置的IP地址
在接入交换机上查看地址绑定数据库,没有用户的绑定信息
3)验证此时电脑是否能ping通网关
由于IP Source Guard功能只是对IP报文进行检查,不对ARP报文进行检查,故此时电脑arp -a依然可以看到网关的arp信息
4)如果要让手动设置的IP地址上网,可以在交换机上手动添加一条地址绑定信息,命令如
下:
此时地址绑定数据库中有该电脑绑定的相关信息
此时私设的IP地址也能够正常上网。