打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DHCP Snooping+DAI 学习笔记 时间:2010-11-24 09:27来源:未知 作者:admin 点击:185次 DHCP 的 Snooping 特性是他的一种安全特性,使用了这个特性

DHCP Snooping+DAI 学习笔记

时间:2010-11-24 09:27来源:未知 作者:admin 点击:185次
DHCP 的 Snooping 特性是他的一种安全特性,使用了这个特性后,可以达到什么样的效果呢?慢慢讲来。 使用了这个特性后, DHCP 服务器后就会在分配 IP 地址的时候,把那些分配出去的 IP 地址和对应的客户机的 MAC 地址都记录在一个 binding 数据库中,下面的客户机发送消息的时候,都得检查数据包的源 IP 地址和 MAC 地址,是不是和这个数据库中的相关条目是一样的,如果就通过,如果不是,就直接 DROP 掉。在使用这个特性的时候,其中牵涉到信任端口和

 

DHCPSnooping特性是他的一种安全特性,使用了这个特性后,可以达到什么样的效果呢?慢慢讲来。
使用了这个特性后,DHCP服务器后就会在分配IP地址的时候,把那些分配出去的IP地址和对应的客户机的MAC地址都记录在一个binding数据库中,下面的客户机发送消息的时候,都得检查数据包的源IP地址和MAC地址,是不是和这个数据库中的相关条目是一样的,如果就通过,如果不是,就直接DROP掉。在使用这个特性的时候,其中牵涉到信任端口和非信任端口。对于非信任端口,只接受DHCP请求包,不接受DHCP的一切非请求包。所以使用了这个特性,我们就可以避免DHCP服务器的冒充,我们把连接DHCP服务器的端口和连接设备的上联接口都配置成信任接口。在access mode 下的接口,我们都设置成非信任接口,这样的话,即使下面连接的设备不小心开启了DHCP服务,也不会相应自己接收到的DHCP请求包,这样一来,就可以限制DHCP服务器的冒充。这个时候,还可以在某程度上限制用户私自修改IP地址而导致的 IP地址冲突。因为你如果想修改的话,IP地址和MAC地址的对应关系就和DHCP服务器的绑定表中不一样了,就会被丢弃。但是,如果要IP地址和MAC都同时修改对了的话,就可以顺利通过了。
配置如下:
一般我们配置的时候,都是会先建立DHCP服务器啊,开启这个DHCP服务:service dhcp ,就OK 了。下面就是根据要求建立各个不同的DHCP POOL 。并且设置好IP地址的分配范围,网关,DNS服务器,租赁时间这些经常使用的配置信息。然后下面服务器建设好了,就是为这个服务器的安全着想了,开启这个安全特性,在全局配置模式下利用命令:ip dhcp snooping vlan [id] ,意思是说在某个特性的vlan 或者某些vlan中使用这个特性,在这个特性中,牵涉到俩个概念:信任端口和非信任端口。使用了这个特性后,我们就可以设置这些端口上的接收DHCP包的速率,默认的情况下是不做任何限制的。对于非信任接口,我们建议的速度上限为100,而对信任接口,我们想尽量的增加点。如果超速了,就会被认为是攻击了,那怎么办呢?端口就会进入到errdiable状态,这样的话就可以防止DOS攻击了。这个时候呢,因为牵涉到了端口在发现这种类似的攻击的时候,采取了进入errdisable状态,所以呢,我们得设定一下:在什么情况下,可以让端口从errdisable状态下恢复到转发状态。一般有两种方式:手动的和自动的。手动的就是shutdown和 no shutdown 。这样的就OK 了。自动的就是设置那个超时的时间:全局模式下-----errdisable recovery interval [value] 。这里牵涉到的这个errdisable ,以后还会详细的进行叙述,也算是一种对网络的保护手段,就是当触犯了什么条件的时候,端口就会进入到这个状态,当然了,我们还得让这个端口回到正常的状态,这样一来还得实施恢复状态的命令。
启用这个errdisable 的检测:errdisable detec cause [具体的导致原因,也可以全部启用]
            对于这个功能的启用,有的特性是默认使用这种对端口的处理方式的。
启用这个errdisable 的恢复机制:errdisable recovery cause [具体的导致原因]
                           或者errdisable recovery interval [value]
                           或者 手动搞定!!!
对于上面我们讲述的这个特性,有些应用对故障的处理方式就是默认的这种,而有的却不是,但是我们可以进行设置,利用命令:errdisable detection cause _____ 。当然了,这样一来,我们就得设备这种故障的恢复手段了,自动也行,手动也罢。
昨晚,重新看了下DHCP Snooping特性和DAI。有了更加清晰的认识。
对于启用snooping特性的设备、VLAN来说,这些这个设备或者这个VLAN就会对经过的DHCP报文,进行侦听。在这个特性中,我们说是可以把特定的端口设置为信任的口或者非信任的端口。对于信任的端口,无论是那种类型的DHCP报文,都会让他通过。如果是在一个非信任端口上接收到DHCP报文的话,交换机就会对目的MAC地址和DHCP客户端的地址进行比较,如果符合规则就OK ,否则就丢弃掉。这个包如果是DHCP请求包的话,那目的MAC是广播的,肯定会允许的了。如果是非DHCP请求包的话,那就算是属于DHCP回应包的范畴了,如果这样一来的话,那这个报文的目的MAC地址肯定就必须得是DHCP服务器的MAC地址了。这个时候,交换机就会检查这个数据报的目的MAC地址和DHCP客户端的地址(说的也就是查看DHCP 绑定表中的客户端的地址),如果对的话,那就说明是合法的DHCP服务器,如果不对的话,那就是非法的DHCP服务器咯。并且,我们在设计的时候,除了连接DHCP服务器的端口设置为信任口,其他的口都设置为非信任口的,并且非信任口是丢弃、不转发dhcp offer报文的。所以呢,这个非信任口下的设备开启了DHCP服务,想做个冒牌的DHCP服务器,也是成功不了的啊~~~因为即使你开启了这个DHCP服务,你可以接收到那些DHCP请求包了,但是第一个回合的DHCP OFFER就从这个端口中发不出去。这样的话,这个通过DHCP获取IP地址就是不完整的,就获得不了IP 了,这个冒牌的DHCP服务器就不OK了。同时,我们设置了俩种不同类型的端口,其中每种类型的端口都可以进行速度的限制。
在下述的情况中,DHCP包将同样被丢弃:
1.         来自外网或者防火墙的DHCP服务器,包括DHCP OFFER,DHCP ACK,DHCP RELEASEQUERY 
2.         来自非信任端口,且目的MAC地址和DHCP客户端的硬件地址不匹配的。
3.         交换机收到DHCP RELEASE 或者DHCPDECLINE 的广播信息,其MAC地址包含在DHCP绑定表数据库中,但与数据库中的接口信息不匹配。(因为这个时候,我们知道说的这个MAC地址肯定就指的是源MAC地址,能够发送这样的DHCP广播的机器肯定就是DHCP服务器了,所以呢,我们判定的时候,就是要判定这个所谓的MAC地址代表的机器是不是真正的合法的DHCP 服务器。)
通过上面的描述,我们讲述的这个东西DHCP Snooping只是要侦听DHCP包的,并且实现的功能只是防止非法DHCP服务器的接入!!不能够防止用户非法修改Ip地址,防止地址冲突和防止中间人攻击。因为这些都是属于IP地址了或者是MAC地址的欺骗类型的,牵涉的都是ARP包,而不是DHCP包。所以就不能达到这些效果了。
为了防止这些,我们就需要学习下面的这个特性,可是不幸的是:只有在3500以上才支持这样的特性。(对于我们使用2900系列做接入交换机的网络来说,还得另想高招啊!用port security 可以在某种程度上防止这些事情事情的发生。)
 
下面我们看看DAI:动态ARP检测。
这个特性关心的就只是ARP类型的包。它是一种验证网络中ARP包的安全特性,可以阻止、记录并丢弃非法IP和MAC地址绑定的ARP包。
DAI保证只有合法的ARP请求回应可以进行传播。交换机会进行如下的处理:截取所有来自非信任端口的ARP请求和相应,在更新ARP缓存或者传输数据包的时之前验证所截取的数据包的IP-MAC地址绑定是否合法,并丢弃非法的ARP包。这样一来的话,我们通过这种特性就可以实现:防止中间人攻击,防止用户修改IP地址和MAC地址,防止用户静态指定IP地址。我们分别来分析是如何实现这几个功能的。如果一个数据包是ARP的请求包,那么DAI肯定就会检查源MAC和IP了,看看这个地址对是不是和绑定表中的一样,如果一样就OK 了,放过;如果不一样,就丢弃。这样一来就可以防止用户随便的修改IP地址或者MAC地址了,如果是用户都修改了,并且没有和其他的地址对产生冲突,那么也不会通过的,因为这个特性的判断的依据是DHCP的合法绑定表。你自己修改的,根本在哪个表中就 不存在啊~~!所以更得把你给干掉了。这样一来呢,我们就达到了防止用户修改IP地址或者MAC地址的问题了。并且,通过认识到这一点,我们会达到防止用户私自静态指定Ip地址,因为个人指定的那些IP地址在DHCP的绑定表中也是不存在的,所以静态指定了后,还是不可以进行通信的。如果你进行绑定的时候,用的是你自动获取的IP地址的话,一段时间内还是可以正常上网的。这个时间段就是说的IP地址的租赁时间,等时间到了后,DHCP绑定表中的内容相应的IP地址的对应条目就没有了。那么下面的这个使用静态的IP地址的还是上不去了啊,因为他上网的时候要经过这个DAI特性的检测的,且恰恰这个特性进行检测的依据中没有相关的地址条目了。以上的这俩个功能的实现都是从ARP请求包来实现的,下面就看看从ARP回应包来分析:其实,我们从路的这端来看一个数据包是请求包的时候,那么我们站在路的那端的角度上来思考这个问题的话,这个包就是回应包了,回应包到达的第一个使用这个特性的端口也会进行和我们起初说的那种对待ARP包的方式一样的,也是检测那个包的源IP地址和MAC地址。这样的话,也就可以保证IP地址和MAC地址的合法性。正是因为使用了这个特性后,PC不可以随便的修改IP地址和MAC地址,即使同时修改,并且成功了,也是不行的。所以也就达到了避免中间人攻击。到现在为止,我们看到了,使用了DHCP Snooping +DAI后,我们就可以达到:避免非法DHCP服务器的冒充;避免用户私自修改IP地址或者MAC地址;避免用户私自指定静态的IP地址;避免中间人攻击。其实,除了第一个DHCP服务器的冒充,后面的这3个,都是基于ARP欺骗的招数。我们都搞定了!
对于这两种特性来说:都是有信任端口和非信任端口的角色。并且在这些接口上都可以进行速度的限制的。默认的情况下,都是非信任端口,并且速度方面都是不限制的—unlimited。并且如果出现违背端口速度的话,这个端口就进入到errdisable状态。这样的话,我们还得需要牵涉到errdisable特性。在上面我们已经提到过了。
下面就看具体的配置实例:
1.       设备全局开启:server dhcp
2.       设置DHCP服务器:ip dhcp pool [name]
进来后,我们就可以进行详细的设置一个地址池的内容。
3.排除出不允许自动分配的IP地址:ip dhcp excluded-address ;
4.要把DHCP 数据库保存到一个硬件设备上,而非只是设备的内存中,这样的话,断电的话就没有了,到时候重新启动设备的时候,就得重新获取IP地址了,还会浪费很多的资源:ip dhcp database [url],这个时候,俩个地方的信息会进行同步的。我们还可以进一步的设置具体的同步时间。
5.开启支持DHCP中继的功能:使用命令:ip dhcp relay information option ,这样就OK 了。并且得开启命令:ip dhcp relay information trust-all ,也就相信所有包含这个relay optionDHCP包。
6.设置DHCP服务器的地址,全局配置模式下:ip dhcp-server [ip].
并且在每个交换机的全局配置模式下都可以进行DHCP服务器的指定。
7.全局设置DHCP  Snooping特性。Ip dhcp snooping
Ip dhcp snooping vlan [id ]
Ip dhcp database [url]
8.设置该特性中的信任端口(默认是非信任的)和各种类型端口的速度限制。
9.清楚当出现问题的时候,端口是如何来处理的,是否进入errdisable?我们可以手动设置成这样的处理方式,同时我们还得注意设置好errdisable的恢复方法。基于具体原因或者基于时间。
10.如果我们使用DHCP中继的时候,那么我们就得在中间的3层设备上开启那个dhcp relay information option 。并且得在下面的交换机上设置命令:ip helper-address [the ip of DHCP]。因为开启了这个特性后,这个3层设备不单单是转发DHCP报文到这个IP地址,只要是UDP的包他就会转发到这个DHCP IP的,所以呢,这也是一个弊端,会严重增加CPU的利用率。我们得进行限制:
全局配置模式下:no ip forward-protocol udp [具体的服务的名称] .
这样一来的话,就可以限制这些无谓的UDP的转发了。
 
到这里,应该说是DHCP服务器的配置搞定了~~~但是还得配加上DAI
 
全局配置模式下:ip arp inspection vlan [id]
定义DAI检查数据包的那些部分:ip arp inspection validate [ ]
进入端口,设置成信任的或者是非信任的,同时设置速度的限制。
默认的情况下是不限速的,且是不信任的端口。
 
这个时候,DHCP+DAI就设置完毕了啊~~~但是呢,DAI的支持只有3560以上才可以。
 
对于我们静态指定的那些合法的Ip地址,我们需要手动添加到ip dhcp snooping binding表中。得通过使用mac-accesslist 来实现。具体如下:
 
就是这样的一个设置添加静态指定的IP地址的过程!也就是说这个指定的IP地址是合法的。这个地址对也是在这个绑定表中的。就会让这样的ARP包进行发送了。
 
 
看看snoopingDAI,都是为数据的传输提供一个可靠的前提,一个安全的环境,因为他们都是分别针对的DHCP包和ARP包。而不是针对一般的数据包。但是经过对DHCP包和ARP包的严格把关,就可以建立那些完全正确、可靠的表,这样也就保证了以后的数据包传输的时候不会被欺骗。
 
在这里用到了mac access-list ,第二层的访问控制列表。得好好看看~~~打算通过那几个设备做个试验。
 
俩个不同的命令的输出的不同结果:
 
说的就是:show ip dhcp binding show ip dhcp snooping binding 。命令的输出中,包含的表项是不一样的,并且这俩个命令的描述也是不一样的。
 
 
我们在启用了DHCP服务的CORE2上不可以使用命令:show ip dhcp snooping,也不可以使用命令:ip dhcp snooping vlan [id]
因为他已经是DHCP服务器了。这个上面不用启用DHCP的监控特性了吗?就是因为这样的吗?如果不启用的话,那么那个合法的绑定表又该如何建立呢?但是,下面的设备上得启用这个特性,防止非法的DHCP服务器的入侵。
(责任编辑:admin)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IP地址相关知识介绍
解决 IP 地址冲突de完美方法
神州数码交换机 DHCP 服务器配置
强制DHCP服务器分配上网IP-ARP经验
ARP攻击防御解决方案技术白皮书
ARP协议详解 ARP报文结构
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服