使用DHCP监听、IPSG和DAI实现Cisco多层交换网络的安全
上一篇 / 下一篇 2008-09-20 15:49:56 / 个人分类:网络技术
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
TAG:
-
引用
删除
jerrylee / 2008-09-22 22:15:56
-
非常有意义的排错经历,关于option82请在本站中查找以前的文章,有专门的解释。
环境
PC---cisco 2960 ---cisco 6506(dhcp server)
这两天一直在测试,在cisco 2960开启 ip dhcp snooping 功能,下面的PC就获取不到地址
在cisco 2960上抓包,发现dhcp_snooping工作正常,可以收到PC的dhcpdiscovery包,dhcp giaddr字段 0.0.0.0。
在 cisco 6506 上抓包 ,cisco 2960 送上来的dhcp请求包被丢弃了。
原因是:
由于默认情况下cisco 2960 ip dhcp snooping information option 是打开的,此时交换机会在PC来的DHCP请求报文中插入option82内容,又由于cisco 6506 DHCP服务器与PC处于同一个VLAN中,所以请求没有经过中继代理
对于cisco 6506 DHCP服务器来说,如果它收到的DHCP请求被插入了option82,那么它会认为这是一个从中继代理过来的请求报文,但是它检查了该报文的giaddr字段却又发现是0.0.0.0,而不是一个有效的IP地址,因此该报文被认为“非法”,所以将被丢弃。
解决方法 1
在cisco 6506 上开启 中继代理 信任Received DHCP packet may contain relay info option with zero giaddr
在全局下
ip dhcp relay information
解决方法 2
在cisco 2960 上关闭option82功能,因为我们这里接入交换机和dhcp server不用跨网段中继 dhcp 报文。
在全局下
no ip dhcp snooping information option
-
引用
删除
jerrylee / 2008-09-20 22:20:47
-
ip dhcp snooping+ip arp inspection及在华为设备中的实现的详细说明
在cisco设备中的配置
ip dhcp excluded-address 192.168.23.1 192.168.23.20
(不由dhcp server分配的地址)
!
ip dhcp pool vlan23
(定义地址池)
network 192.168.23.0 255.255.255.0
(定义地址池做用的网段及地址范围)
default-router 192.168.23.1
(定义客户端的默认网关)
domain-name sina.com.cn
(定义客户端所在域)
dns-server 192.168.23.2
(定义客户端的dns)
lease 5
(定义地址租约时间, 5天是为了在安全上考虑,客户端在可控的时间内相对固定)
ip dhcp snooping
(打开dhcp snooping功能,不能省略, 否则在sh ip dhcp snooping binding时将看到一个空的绑定表, 客户端会时断时续)
ip dhcp snooping vlan 23
(定义snooping作用的vlan)
ip dhcp snooping database flash:dhcp
(将绑定表保存在flash中,可以避免重启设备后,从新绑定)
ip arp inspection vlan 23
(定义arp inspection 作用的vlan,它是根据dhcp snooping binding表做判断的)
ip arp inspection validate src-mac dst-mac ip
(侦测有效客户端须满足src-mac dst-mac ip 均无错)
ip arp inspection log-buffer entries 1024
(inspection 日志大小)
ip arp inspection log-buffer logs 1024 interval 300
(inspection 日志刷新时间,interval太小会占用大量cpu时间)
!
!
!
errdisable recovery cause udld
errdisable recovery cause bpduguard
errdisable recovery cause security-violation
errdisable recovery cause channel-misconfig
errdisable recovery cause pagp-flap
errdisable recovery cause dtp-flap
errdisable recovery cause link-flap
errdisable recovery cause gbic-invalid
errdisable recovery cause l2ptguard
errdisable recovery cause psecure-violation
errdisable recovery cause dhcp-rate-limit
errdisable recovery cause unicast-flood
errdisable recovery cause vmps
errdisable recovery cause arp-inspection
errdisable recovery interval 30
(上面所有的是在端口因为被errdidable 后能在一段时间内自动恢复, 其中包括dhcp snooping与arp inspection在端口中设限制造成的端口自动关闭)
no file verify auto
logging on
(有的设备是默认打开的,在这写是因为当logging关闭时3550,3560,3750等均会占用大量cpu资源,一定勿忘打开,经测试,打开后一台3550-48下连10台48口设备,2个lan,480台计算机,正常使用.不打开,2台设备90 台计算机就能让其死机)
no spanning-tree loopguard default
(最好不要打开,因为当spanning-tree结构稍有改变,它都会blocking,然后unblocking一些端口,造成时断时续的现象)
ip source binding 0060.B322.2C2A vlan 23 192.168.23.8 interface Gi1/0/2
(设备或计算机需用静态地址的,在这儿定义)
!
interface GigabitEthernet1/0/2
switchport trunk encapsulation dot1q
switchport mode trunk
(下连设备,所以定义为trunk口)
ip arp inspection limit none
(由于下连设备,为了避免inspection让端口errdisable,所以对arp的侦测不做限制,若直接为接入设备, 可使用ip arp inspection limit rate)
相关命令:
sh logging 查看Dymatic Arp Inspection (DAI) 是否生效.
sh ip dhcp snooping binding 查看snooping是否生效
sh ip dhcp binding 看dhcp server 是否生效.
sh arp 看arp信息是否与 dhcp snooping binding表一致.
下级设备若支持dhcp snooping 可这样配置
ip dhcp snooping
int g0/1
(上连端口)
switchport trunk encapsulation dot1q
switchport mode trunk
ip dhcp snooping trust
(定义此端口为信任端口,从此口来的dhcp server数据有效,避免有人乱设dhcp server
不支持,根据设备用acl或其它禁止非信任端口发送dhcp server数据.
_______________________________________________________________________________
华为设备
dhcp-server 0 ip 192.168.21.1
(定义dhcp server组)
dhcp-security static 192.168.21.1 000f-e231-72fb
dhcp-security static 192.168.21.11 0013-2015-b971
(定义设置静态地址的设备或计算机)
dhcp server ip-pool vlan21
network 192.168.21.0 mask 255.255.255.0
gateway-list 192.168.21.1
dns-list 192.168.21.1
domain-name sina.com.cn
expired day 5
(与cisco 类似)
interface Vlan-interface21
ip address 192.168.21.1 255.255.255.0
dhcp-server 0
(使用上面定义的dhcp server组)
address-check enable
(与ip arp inspection类似)
dhcp server forbidden-ip 192.168.21.0 192.168.21.10
(定义不由dhcp server分配的地址)
interface GigabitEthernet1/0/1
(下连端口)
port link-type trunk
port trunk permit vlan all
下级设备若支持dhcp snooping 可这样配置
interface GigabitEthernet1/1/1
(上连端口)
port link-type trunk
port trunk permit vlan all
dhcp-snooping trust
至此,所有工作完成,还有一点值得一提,如果要收集日志,最好设备ntp服务同步时间,无论在安全性,可管理性上都是有所帮助的.至于日志服务器及日志分析工具的配备可根据自己的喜好或需要自行选定.
-
引用
删除
jerrylee / 2008-09-20 22:17:27
-
在cisco设备中的配置
在cisco网络环境下,boot request在经过了启用DHCP SNOOPING特性的设备上时,会在DHCP数据包中插入option 82的选项(具体见RFC3046)
这个时候,boot request中数据包中的gateway ip address:为全0,所以一旦dhcp relay 设备检测到这样的数据包,就会丢弃。
虽然dhcp snooping是用来防止非法的dhcp server接入的,但是它一个重要作用是一旦客户端获得一个合法的dhcp offer。
启用dhcp snooping设备会在相应的接口下面记录所获得IP地址和客户端的mac地址。
这个是后面另外一个技术ARP inspection检测的一个依据。ARP inspection是用来检测arp请求的,防止非法的ARP请求。
认为是否合法的标准的是前面dhcp snooping时建立的那张表。因为那种表是dhcp server正常回应时建立起来的,
里面包括是正确的arp信息。如果这个时候有arp攻击信息,利用ARP inspection技术就可以拦截到这个非法的arp数据包。
其实利用这个方法,还可以防止用户任意修改IP地址,造成地址冲突的问题。
ip dhcp excluded-address 10.63.150.100 10.63.150.120 不由dhcp分配的地址
!
ip dhcp pool main 定义地址池
network 10.63.144.0 255.255.255.0 定义地址池做用的网段及地址范围
default-router 10.63.144.1 定义客户端的默认网关
domain-name nbyzzj.cn 定义客户端所在域
netbios-node-type h-node
//为客户机配置节点模式(影响名称解释的顺利,如h-node等于先通过wins服务器解释)
dns-server 10.60.12.11 定义客户端的dns
lease 7 定义地址租约时间为7天
ip dhcp snooping 打开dhcp snooping功能
ip dhcp snooping vlan 10-12,101-108,315 定义snooping作用的vlan
ip dhcp snooping database flash:dhcp-snooping.db 将绑定表保存在flash中,避免重启设备后,重新绑定
ip arp inspection vlan 10-12,101-108,315 定义arp inspection 作用的vlan,它是根据dhcp snooping binding表做判断的
ip arp inspection validate src-mac dst-mac ip 侦测有效客户端须满足src-mac dst-mac ip 均无错
ip arp inspection log-buffer entries 1024 inspection 日志大小
ip arp inspection log-buffer logs 1024 interval 300 inspection 日志刷新时间,interval太小会占用大量cpu时间
!
!
!
errdisable recovery cause udld
errdisable recovery cause bpduguard
errdisable recovery cause security-violation
errdisable recovery cause channel-misconfig
errdisable recovery cause pagp-flap
errdisable recovery cause dtp-flap
errdisable recovery cause link-flap
errdisable recovery cause gbic-invalid
errdisable recovery cause l2ptguard
errdisable recovery cause psecure-violation
errdisable recovery cause dhcp-rate-limit
errdisable recovery cause unicast-flood
errdisable recovery cause vmps
errdisable recovery cause arp-inspection
errdisable recovery interval 30
在开始应用Dynamic ARP Inspection时,交换机会记录大量的数据包,当端口通过的数据包过多时,
交换机会认为遭受DoS攻击,从而将端口自动errdisable,造成通信中断。为了解决这个问题,
我们需要加入命令errdisable recovery cause arp-inspection
no file verify auto
logging on 当logging关闭时会占用大量cpu资源,一定勿忘打开
no spanning-tree loopguard default 最好不要打开
ip source binding 0004.76f6.e3e9 vlan 315 10.63.150.100 interface Gi1/0/11 手动增加静态地址的条目
!
interface GigabitEthernet1/0/11
switchport trunk encapsulation dot1q
switchport mode trunk
ip arp inspection limit none
arp timeout 2
ip dhcp snooping limit rate 100
由于下连设备,为了避免inspection让端口errdisable,所以对arp的侦测不做限制,若直接为接入设备,
可使用ip arp inspection limit rate 100
相关命令:
sh logging 查看Dymatic Arp Inspection (DAI) 是否生效.
sh ip dhcp snooping binding 查看snooping是否生效
sh ip dhcp binding 看dhcp server 是否生效.
sh arp 看arp信息是否与 dhcp snooping binding表一致
下级设备若支持dhcp snooping 可这样配置:
ip dhcp snooping
int g0/1 上行端口
switchport trunk encapsulation dot1q
switchport mode trunk
ip dhcp snooping trust 定义此端口为信任端口,从此口来的dhcp server数据有效,可阻止其它dhcp server发送dhcp数据。
经实验,对于已存在于绑定表中的mac和ip对于关系的主机,不管是dhcp获得,还是静态指定,
只要符合这个表就可以了。如果表中没有就阻塞相应流量。
如果使用了dhcp中继服务,那需要在网关交换机上键入如下命令:
方法一:
inter vlan10
ip dhcp relay information trusted
方法二:
switch(config)# ip dhcp relay information trust-all
标题搜索
日历
|
|||||||||
| 日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
| 1 | 2 | 3 | 4 | 5 | 6 | ||||
| 7 | 8 | 9 | 10 | 11 | 12 | 13 | |||
| 14 | 15 | 16 | 17 | 18 | 19 | 20 | |||
| 21 | 22 | 23 | 24 | 25 | 26 | 27 | |||
| 28 | 29 | 30 | 31 | ||||||
我的存档
数据统计
- 访问量: 16282
- 日志数: 59
- 图片数: 10
- 文件数: 6
- 书签数: 24
- 建立时间: 2006-05-18
- 更新时间: 2008-10-24


