在基于CISCO设备的网络中部署DHCP及相关配置.docx
- 文档编号:8174610
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:18
- 大小:51.36KB
在基于CISCO设备的网络中部署DHCP及相关配置.docx
《在基于CISCO设备的网络中部署DHCP及相关配置.docx》由会员分享,可在线阅读,更多相关《在基于CISCO设备的网络中部署DHCP及相关配置.docx(18页珍藏版)》请在冰豆网上搜索。
在基于CISCO设备的网络中部署DHCP及相关配置
在基于CISCO设备的网络中部署DHCP及其
相关安全技术
摘要
随着企业信息化发展,作为信息化基础的网络平台管理维护问题越来越突出,在企业中维护上百台计算机并且保证网络时时畅通可靠对网络管理员而言是一大挑战。
为此,有许多技术被用于提升网络管理和部署能力,包括DHCP。
虽然DHCP技术减轻了网络部署的负担,一定程度增加了网络可靠性,但对付当今越来越多针对网络发起攻击的非法程序却无能为力。
通过分析几次大规模网络中断事故的原因得知,大多数情况是由于ARP攻击和IP地址欺骗造成的。
现在,面对这些攻击,Cisco在其部分网络交换设备上开始采取技术措施防护。
本文叙述了如何通过部署DHCP,DHCPSnooping,DAI、IPSG和端口安全技术,提升网络管理能力和效率,并且有效抵御网络安全和可靠性风险。
目录
在基于CISCO设备的网络中部署DHCP及其相关安全技术1
摘要1
建议的原因4
技术简述4
DHCP4
DHCP的工作原理5
DHCP安全性5
DHCPSnooping6
DAI7
IPSG8
PortSecurity端口安全9
需求、环境影响和先决条件10
需求10
环境影响11
部署DHCP及其安全技术12
部署场景12
要求14
部署DHCP服务器15
在核心交换机CS1上部署DHCP服务器15
启用DHCPSnooping18
在核心交换机CS1上启用DHCPSnooping18
在汇聚(接入)交换机LS1上配置DHCPSnooping19
配置DHCPSnooping限速,防止资源耗竭攻击19
保存DHCPSnooping绑定表19
启用DAI21
在汇聚(接入)交换机上启用DAI21
在核心交换机CS1上启用DAI23
检查DAI警告24
关于启用DAI的准则24
配置IPSG25
在汇聚(接入)交换机LS1上配置IPSG25
在核心交换机上启用IPSG27
IPSG配置准则27
启用PortSecurity27
DHCP、DHCPSnooping、DAI和IPSG和端口安全的关系及技术可行性30
经济可行性32
相关参考33
建议的原因
静态IP地址分配其主要目的是为了较好控制各台主机的上网行为,发生ARP攻击或IP欺骗行为时,可以很容易定位主机位置并迅速采取措施。
但是当发生ARP攻击或者IP欺骗时,网络已经发生故障波及其他主机,虽然采取措施,但网络安全性和可靠性均已受到影响。
除了部署DHCP技术以外,应当采用DHCPSnooping、DAI、IPSG等技术搭配提升管理能力、可靠性和安全性。
技术简述
DHCP
DHCP(DynamicHostConfigurationProtocol)动态主机配置协议,作为管理配置资源并向主机分配配置的协议。
在IP网络中,DHCP用于向主机分配IP地址以及子网掩码、网关、DNS服务器、Wins服务器等配置。
DHCP服务器管理着这些资源,并向请求的主机分配这些资源,保证在网段内任意主机持有不同的IP,以正确联网。
DHCP的工作原理
刚接入网络的计算机还没有获得IP地址等配置,它将用广播方式发出DHCP_Discover包。
DHCP服务器接收到DHCP_Discover包后,从可用地址池中选择一个未出租的IP地址,发送DHCP_Offer包给主机。
主机接收到DHCP_Offer后,从其中获得包括IP在内的配置信息,如果配置是正确的,主机将广播发送DHCP_Request包请求分配。
如果主机认为配置不正确,则发送DHCP_Cline拒绝。
DHCP服务器收到属于自己的DHCPRequest后,正式发送含有配置信息的DHCP_ACK包。
主机用DHCP_ACK包中的参数配置其TCP/IP协议以便正确上网。
网络中可能有多台DHCP服务器,因此主机可能收到多个Offer,因此主机在使用某个Offer后,必须广播Request请求,这将同时告诉其他DHCP服务器收回其提供的IP,供分配给其他需要的主机。
DHCP安全性
DHCP本身没有安全性机制,因此DHCP很容易受到攻击,主要的攻击类型包括资源耗竭攻击,伪造DHCP服务器。
资源耗竭型攻击。
攻击主机短时间发送大量的DHCPDiscover,要求DHCP服务器提供IP,但主机并不发送DHCPRequest通告。
DHCP服务器提供Offer后、在未收到Request或者Cline前,为保证不产生冲突,这部分地址不能再分配。
不能分配的地址充满地址池,DHCP服务就拒绝接受为其他主机服务。
其他主机因为得不到正确配置而无法上网。
伪造DHCP服务器。
在网络上某主机伪造成DHCP服务器,向网络上其他请求的主机提供其配置。
配置可能指向一个陷阱网关,当主机接受该配置后,主机使用错误的配置,向陷阱网关发送消息。
别有用心者可以利用陷阱网关偷窥用户的IP数据包,或控制其上网行为。
DHCPSnooping
DHCPSnooping探测技术是Cisco针对DHCP服务器的辅助安全技术。
DHCPSnooping将接入交换机的端口划分为信任端口和非信任端口。
其中信任端口不受限制,在非信任端口,不允许DHCPOffer、DHCPACK等数据包进入该端口,它们将被丢弃。
因此除了在信任端口部署DHCP服务器以外,在非信任端口私自架设的DHCP服务器不能为其他主机提供服务,因为端口拒绝转发DHCPOffer和DHCPACK包。
这样可以保证所有主机所请求的DHCP服务器是管理员明确合法的、受管理的。
DHCPSnooping可以在端口级别限制DHCPDISCOVER的发送速率,在发生超速时发出警告或中断端口。
这样可以有效防止DHCP资源耗竭型攻击。
更重要的是,在非信任端口,DHCPSnooping检查DHCPACK包,根据分配给主机的IP地址在DHCPSnooping绑定表中建立一个条目,包括端口、MAC地址、分配的IP地址、租约期等。
这为部署DAI和IPSG防护技术提供了基础数据库。
因此要实现DAI和IPSG技术,DHCPSnooping必须先进行配置。
需要注意的是,DHCPSnooping仅针对DHCP数据包进行过滤,对于其他数据包则没有效果。
在仅配置DHCPSnooping的网络中,主机仍然可以自行配置IP地址来接入网络而不受影响。
部署DHCPSnooping的目的在于对DHCP服务器进行防护,防止非法DHCP和资源耗竭攻击,并提供DAI和IPSG所需要的数据库资源。
DAI
DAI(DynamicARPInspection)动态ARP检查。
动态ARP检查是针对ARP协议的安全防护措施,DAI在VLan级配置,它根据DHCPSnooping建立的绑定表检查进入端口的ARP请求和响应数据包是否合法。
DAI不但对照绑定表检查ARP包内地址,它还将检查ARP包与封装它的以太网帧的地址是否对应。
对于不合法的ARP包,将被丢弃,并记录日志,网络管理员还可以启用违规ARP流量限速,当超过规定速度后切断该端口。
DAI可以在端口级防止非法ARP数据包的传播。
可以在端口级别杜绝ARP欺骗、ARP攻击、中间人(ManintheMiddle)等多种ARP攻击行为。
因为DAI将根据DHCPSnooping绑定表检查ARP包,采用静态分配IP地址的主机,因为在DHCPSnooping绑定表中不存在相应条目,端口默认拒绝所有ARP协议包通过,主机得不到其他主机或网关的数据链路层地址而无法通信。
DAI的一个好处是强制用户必须使用DHCP服务动态分配IP,防止用户手动分配IP导致与网段上其它主机发生冲突。
IPSG
IPSG(IPSourceGuard)IP源防护是Cisco的安全技术。
虽然DAI可以检查非法的ARP数据包,但DAI不检查承载IP及其它协议的以太网帧,对于IP地址欺骗行为无能为力,IPSG针对IP地址欺骗行为提供防护。
IPSG将检查所有IP数据包,对照DHCPSnooping绑定表,如果认为合法,则允许从该端口转发,非法数据包将被丢弃。
IPSG提供了几种防护标准,包括IP防护——仅检查端口-IP地址对应关系;IP-MAC防护——同时检查端口-IP-MAC,三者必须对应才能通过端口。
PortSecurity端口安全
交换机依据MAC转发表决定一个数据链路层帧应该从哪个端口转发。
通常交换机都具备自学习功能,交换机启动后,转发表没有内容,它除了向所有端口转发帧外,在这个过程中还记录端口与MAC的关系。
交换机的CAM有大小限制,一般情况下转发表的大小足够用,但当发生攻击,一个主机伪造大量MAC不同的帧发送到该端口,端口的自动学习功能学到大量MAC,继而造成MAC转发表溢出失效,此时,交换机将采用最低效的交换方式向所有端口泛洪帧,除了性能问题以外,向所有端口泛洪帧也导致了安全风险,主机可以嗅探到所有流量,偷窥其中的内容。
端口安全技术旨在有效保护CAM不受大量伪造MAC帧冲击。
端口安全特性允许管理员指定某个端口学习规定的MAC地址(如在DHCPSnooping绑定表中记录的MAC地址),以及学习MAC地址的最大数量,一个端口如果学习到超过最大数量的MAC地址后,允许管理员设定限制或切断端口。
端口安全特性只能在staticaccess模式端口上启用,只有当端口安全技术和IPSG配合才能促使IPSG使用Port-IP-MAC最严格的检查方式。
需求、环境影响和先决条件
需求
由标题就可以明确,在网络上部署DHCP和相关安全技术,需要Cisco设备支持。
并且对于具体的设备有具体的支持。
通过查阅网上资料,笔者整理了部分能够部署DHCP和安全技术的典型设备。
表1:
部分设备对DHCP及其安全技术的支持
典型设备
DHCP
DHCPSnooping
DAI
IPSG
CiscoCatalyst2960系列
√
○
○
○
CiscoCatalyst3xxx系列
√
√
√
√
CiscoCatalyst4500系列
√
√
√
√
Cisco2600系列路由器
√
√
√
√
Cisco2800系列路由器
√
√
√
√
HuaweiQuidwayS系列交换机
√
×
×
×
TP-LINKWR541Gv1802.11x无线路由器
√
×
×
×
TP-LINKTLSF1008+快速以太网交换机
×
×
×
×
√:
明确支持;○:
有条件地支持;×:
明确不支持
环境影响
对环境的影响主要说明了部署这些技术时可能的网络结构变化、客户端变化、对环境伸缩适应性等变化。
在部署DHCP等安全技术时,对网络的拓扑结构、分段、路由等配置均没有影响。
DHCP技术可以在单独一个VLan上执行,或者在多个Vlan上执行,对于其他VLan和其他网络而言,它是透明的。
对于客户端而言,部署DHCP等安全技术后,客户端采用手动分配固定IP地址将不能够继续上网。
因此在准备部署DHCP及其安全技术时,应当制定详细的转换计划,最好选择在非关键用网时期,并且需进行预告,管理员也需留守负责对部分机器配置现场更改。
对于运行的应用服务器,DHCP技术可能并不适合。
可以考虑几种解决方案:
1、将其列入单独的Vlan,在此Vlan上不实行DHCP及其安全技术。
2、在实施了DHCP及其安全技术的网络上,配置DHCP为其动态分配固定的IP地址。
3、在实施了DHCP及其安全技术的网络上,配置DHCPSnooping绑定,执行静态绑定,然后在应用服务器上手动分配固定IP。
4、在实施DHCP机器安全技术的网络上,将连接应用服务其的端口设置为信任端口,将不受这些安全技术的限制。
这几种解决方法都可以通过参考Cisco相关支持教材或在线检索信息来解决。
对环境伸缩适应性的变化。
在实施了DHCP及其安全技术的网络中,网络端口扩容时,建议采用支持这些安全技术的接入交换机,以提供针对每一个终端的安全防护,配置这些设备的方式基本类似,在下文中对多层次交换网络配置有一些描述可供参考。
部署DHCP及其安全技术
部署场景
针对烟草专网的拓扑结构,这里构造了一个典型的部署场景,如图所示。
图1:
试验用典型网络拓扑结构
路由器:
Cisco2611XM,名称:
R1
核心交换机:
Cisco4507R,名称:
CS1
汇聚(或接入)交换机:
Cisco3900,名称:
LS1
不可管理的家庭交换机:
TP-LINKTLSF1008+。
终端设备:
PC1,PC2,PC3,PC4,PC5。
端口连接说明如下:
路由器Fa0/0与核心交换机Gi1/1端口相连。
汇聚(接入)交换机LS1的Gi1端口与核心交换机的Gi1/2端口相连。
两台主机PC1和PC2与汇聚(接入)交换机Fa1和Fa2端口相连。
主机3直接与核心交换机Gi1/3端口相连。
一台家用交换机TLSF1008+的上行端口P0与核心交换机Gi1/4端口相连。
两台主机PC4和PC5与交换机的P1和P2接口相连。
IPVlan划分说明
依据笔者试验的网络,现在假设该网络仅划分两个Vlan,所有PC处于一个Vlan中,命名为Vlan75,网关和掩码分别是:
10.145.75.254255.255.255.0。
核心交换机CS1与路由器R1处于Vlan77,由于在本建议中部涉及路由器与交换机之间的配置,Vlan77的配置省略。
要求
对性能的要求。
通常,交换机采用快速交换方式,在接收到以太网帧的头部地址字段后,就可以做出转发决定。
快速交换方式性能高,系统资源占用率较低。
但在部署IPSG安全技术后,交换机就必须改变其转发策略,交换机必须至少检查到IP数据包的头部地址后,才能做出转发决定,因此对系统内存、CPU资源的占用率将相应提高。
在重负载的网络环境中,部署这些安全技术应当非常谨慎。
以4507R为例,在部署前,网络管理员可以通过SuperAdvisorEngine面板上的Utilization指示灯获知交换机的负载状态。
或者使用命令showprocesscpuhistory查看CPU负载率。
在高于50%以上的负载率情况下,部署该安全特性就需要进行仔细评估。
通常认为DHCP服务器平时仅监听发现,在主机请求配置时工作,大多数情况下DHCP服务器处于监听等待状态,不占用系统CPU资源,在试验部署模型中,将DHCP部署在核心交换机CS1上。
部署DHCP服务器
在核心交换机CS1上部署DHCP服务器
在Cisco网络交换设备上启用DHCP的好处是可以充分保障DHCP服务器的可用性,避免因服务器当机导致网络中断(实际上当网络发生中断时,通常与交换设备的其他故障有关系),但在Cisco交换设备上部署DHCP服务,要求网络管理员必须具备配置Cisco交换设备的能力,管理员或工程师必须面对纯字符界面,并且调试和追踪DHCP事件的难度比较大。
但是,在Cisco交换设备上部署DHCP可以获得一些其他特性,其中包括基于Option82的分配策略等,而大多数传统的DHCP软件服务器不具备这种能力。
另外,要使端口安全技术与IPSG配合检查Port-IP-MAC,DHCP必须支持Option82。
默认情况下,DHCP服务是关闭的,先开启DHCP服务,
在全局配置模式下开启DHCP,并启用Option82特性。
CS1(config)#servicedhcp
CS1(config)#ipdhcpuseclass
为了在Vlan75上分配地址,需要创建一个地址池,在全局配置模式下,使用下列命令创建和配置地址池:
CS1(config)#ipdhcppoolTestRootPool
CS1(dhcp-config)#network10.145.75.0255.255.255.0
CS1(dhcp-config)#default-router10.145.75.254
CS1(dhcp-config)#dns-server222.172.200.6861.166.150.123
这些命令创建了一个名为TestRootPool的地址池,为10.145.75.0/24网络服务,定义了默认网关为10.145.75.254,定义了DNS服务器地址。
此时DHCP就已经可以运行了。
但大多数时候,我们需要把一些地址排除在外,在全局配置模式下,通过以下命令排除地址:
CS1(config)#ipdhcpexcluded-address10.145.75.110.145.75.99
这里将排除100以下的地址,从10.145.75.100开始分配。
对于需要分配固定地址的主机,需要建立相应的地址池,绑定该主机MAC和IP地址对应关系,在全局配置模式下,创建一个名为PC1的地址池,进行如下配置:
CS1(config)#ipdhcppoolPC1
CS1(dhcp-config)#host10.145.75.8255.255.255.0
CS1(dhcp-config)#client-identifier0100.2186.eda8.07
host指明了想要分配的IP地址和子网掩码,client-identifier则指明主机的MAC地址。
需要注意的是在主机MAC地址的基础上,要添加前缀01。
此时具有此MAC地址的主机将获得10.145.75.8的地址,固定分配IP的地址池租约期为无穷,其他的配置信息从TestRootPool继承。
其他关于DHCP的命令还有很多,不再赘述。
任何配置命令都可以使用no关键字取消配置。
启用DHCP后,我们可以通过showipdhcpbind来显示当前已经分配的IP地址及其他详细信息:
CS1>showipdhcpbind
IPaddressClient-ID/LeaseexpirationType
Hardwareaddress
10.145.75.80100.2186.eda8.07InfiniteManual
10.145.75.160100.089b.1f9b.02InfiniteManual
10.145.75.1330100.2186.edaf.f3Sep06200909:
53PMAutomatic
10.145.75.1410100.216a.0cb6.9eSep06200910:
16AMAutomatic
10.145.75.1420100.1bb9.741d.a5Sep06200910:
23PMAutomatic
配置使DHCP支持Option82的实例本建议书省略,请参考Cisco技术文章《DHCPAddressAllocationUsingOption82》(英文)。
启用DHCPSnooping
在核心交换机CS1上启用DHCPSnooping
在核心交换机上启用DHCPSnooping,可以在全局配置模式下通过以下命令完成:
CS1(config)#ipdhcpsnooping
CS1(config)#ipdhcpsnoopingvlan75
DHCPSnooping根据Vlan配置,所有加入Vlan的端口都生效。
DHCPSnooping将端口区分为信任端口和非信任端口。
默认情况下,所有端口都是非信任端口。
这里需要注意的是,如果使用应用服务器作为DHCP服务器,那么连接DHCP服务器的端口应当配置为信任端口,否则DHCP服务器发送的DHCPOffer和DHCPACK包将被丢弃,主机不可能获得IP地址。
DHCPSnooping在非信任端口根据DHCPACK的内容建立绑定表,但在信任端口则不建立绑定表。
在汇聚(接入)交换机LS1上配置DHCPSnooping
在LS1上配置DHCPSnooping的方法和在CS1上配置类似,但LS1接CS1的上行端口Gi1需要配置为信任端口,以便DHCPOffer和DHCPACK包能顺利通过该端口进入,并转发到相应主机端口。
配置DHCPSnooping限速,防止资源耗竭攻击
启用DHCPSnooping后,交换机支持在非信任端口上启用DHCPDiscover限速,防止资源耗竭攻击。
当DHCPDiscover包超过一定速率后引发警告或中断端口。
如果配置了限速,最好再配置端口中断后自动恢复机制。
要配置端口限速,需要进入端口配置模式下:
CS1(config-if)#ipdhcpsnoopinglimit15
CS1(config)#errdisablerecoverycausedhcp-rate-limit
CS1(config)#errdisablerecoveryinterval30
上述命令对端口进行了DHCPDiscover限速,速度不超过15包/秒。
并且当端口因限速警告切断后,能自动恢复,恢复时间30秒。
保存DHCPSnooping绑定表
DHCPSnooping绑定表存储在运行内存中,因此当设备掉电后绑定表会丢失。
此时要重新建立绑定表,需要每台主机重新做DHCP请求,另外,当部署了DAI和IPSG后,因为绑定表丢失而丢弃数据包,也会使用户误以为网络发生故障中断。
因此Cisco提供了将绑定表写入Flash、NVRAM或者TFTP服务器的功能。
以下命令配置将绑定表写入BootFlash,掉电重启后可以从bootflash自动找回。
CS1(config)#ipdhcpsnoopingdatabasebootflash:
dhcp-snooping.db
CS1(config)#ipdhcpsnoopingdatabasewrite-delay30
CS1(config)#ipdhcpsnoopingdatabasetimeout300
这些命令配置了将DHCPSnoopingdatabase保存在bootflash中,文件名为dhcp-snooping.db。
当DHCPSnooping绑定表更新(增加、删除、修改)后,延迟30秒写入flash,如果写入不成功,Cisco交换机将尝试每30秒写入,直到超时为止。
配置了DHCPSnooping后,可以通过showipdhcpsnoopingbind命令查看DHCPSnooping绑定表的内容:
CS1>showipdhcpsnoopingbind
MacAddressIpAddressLease(sec)TypeVLANInterface
----------------------------------------------------------------------
----------
00:
08:
9B:
1F:
9B:
0210.145.75.1663308dhcp-snooping75GigabitEt
hernet4/11
00:
21:
6A:
0C:
B6:
9E10.145.75.14119770dhcp-snooping75GigabitEt
hernet5/22
00:
21:
86:
ED:
AF:
F310.145.75.13361602dhcp-snooping75GigabitEt
hernet4/4
00:
21:
86:
ED:
A8:
0710.145.75.871
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 CISCO 设备 网络 部署 DHCP 相关 配置