CDP协议的工作原理及可能存在的安全隐患

描述

CDP(Cisco Discovery Protocol,Cisco设备发现协议)用于发现直连的CISCO设备相关信息。CDP利用直连的两个设备间定时发送hello信息(CDP数据包)维持邻居关系。

默认情况下,每隔60秒的时间,每个CISCO设备都要向互连的对方发送一个CDP数据包。如果经过3个hello周期(180秒,称为holdtime或TTL)还没有收到对方的CDP包,则本地设备在CDP邻居表中删除那个CDP邻居设备。

是在一台Cisco Catalyst 2924交换机上对CDP数据包的诊断输出信息。可以看到,交换机在每个活动接口发送CDP数据包。

直连设备互相之间交换的CDP包中的内容主要包括:对端设备的名称、对端设备的性能(如交换机还是路由器)、对端设备的平台(型号)、对端设备的IP地址(或管理IP)等信息。

一、CDP协议的工作原理

CDP技术是对传统数据备份技术的一次革命性的重大突破。传统的数据备份解决方案专注在对数据的周期性备份上,因此一直伴随有备份窗口、数据一致性以及对生产系统的影响等问题。现在,CDP为用户提供了新的数据保护手段,系统管理者无须关注数据的备份过程(因为CDP系统会不断监测关键数据的变化,从而不断地自动实现数据的保护),而是仅仅当灾难发生后,简单地选择需要恢复到的时间点即可实现数据的快速恢复。

要了解CDP协议在安全上的漏洞,首先需要知道其工作的原理。通常情况下,CDP协议与现有的网络协议类型无关,其运行在路由器和交换机等网络设备上。其基本的原理就是通过利用邻接设备所发送的信息,设备能够学到所连接设备的相关信息。这里需要注意的是,在所有的CDP消息中,都含有相关网络设备的重要信息。如果这些信息泄露的话,就能够被攻击者所用,威胁企业网络的安全。这些有关安全的信息可能包括如下这些内容。

如网络地址、发送消息的端口或者接口信息、硬件平台、发送设备的功能、软件盘本等等。通常情况下这部分信息都是明文保存的,即没有采取加密的措施。只要能够获取这个信息的用户,通过一些工具就可以轻松的活得这些机密信息。

二、CDP协议给企业内网造成的安全隐患分析

确实在大部分情况下,CDP协议的作用是不可替代的。如在大多数网络中,CDP能够提供很多有用的信息并且可以协助管理员进行网络排错和性能优化。为此攻击者可以通过网络嗅探器等工具轻松的获取这些信息。显而易见,CDP协议能够导致安全方面的问题。特别是等网络连接到多个组织机构的时候,这个安全隐患会更加的突出。如果出于安全考虑,将这个CDP协议废了,那也有点小题大做。现在网络管理员需要考虑的是,如何在安全与功能之间取得一个均衡。即能够享受CDP协议所带来的优势,而又不被其安全问题所困扰。如下图所示,笔者给出了一个示意图。

根据CDP协议的工作原理,我们可以知道,CDP协议所发送的信息中包含了一些比较敏感的信息。如果这些信息被不法分子获得的话,那么将给企业的网络带来很大的安全隐患。如此的话,相关的敏感信息不会泄露到企业的外部网络上。在配合网络防火墙等功能,就可以保证CDP协议信息的安全。为此如上图所示,笔者建议,可以在连接到服务器提供商或者企业边缘路由器的接口上禁用CDP协议。其他地方如果有安全需要的话,可以根据情况来判断是否启用CDP协议。在可以的情况下,还是启用CDP协议为好。

三、开启或者禁用CDP协议

默认情况下,CDP协议是开启的。出于安全考虑,安全专员可能需要在某些特定的接口上禁用CDP协议。要做到这一点,从操作上说并没有多少难度。主要还在于需要根据上面提到的原则来判断在哪些接口上要禁用CDP协议。如果禁用的多了,那么CDP协议将不能够发挥其应有的作用。是开还是关,这就需要安全专员根据实际情况来进行权衡。如根据企业对于安全的重视程度、企业的行业性质等等来进行判断。

另外在禁用CDP协议的时候,安全专员还可以选择是使用全局性禁用,还是以每个接口为基础进行禁用。如此的话,只需要在一台交换机或者路由器上操作一次即可。而像大部分行业,其只需要在特定的接口上禁用CDP协议,如在企业边缘路由器上禁用CDP协议。在这种情况下,需要选择以每个接口为基础进行禁用CDP协议。

如果安全专员需要在全局性的禁用CDP协议,可以在某台交换机上使用如下命令来完成:no cdp run。这个命令运行完毕后,网络内的所有设备(包括交换机与路由器)的CDP协议都将被禁用掉。由于这个命令会影响到多台网路设备,为此在使用时需要慎重。注意这个命令只有在IOS软件上有效。如果需要在CATOS软件上使用的话,则需要通过命令set dp disable来实现。两者效果是一样的,只是语法上稍有不同而已。

如果需要通过基于特定的端口来禁用CDP协议的话,首先需要进入到交换机或者路由器的接口配置模式,然后可以通过如下的命令来单据的禁用某个端口或者接口的CDP协议:no cdp enable。这里需要特别强调一下,在基于特定接口下配置,与在全局模式下配置,其所使用的关键字是不同的。如果采用的是CATOS软件的话,则需要使用set cdp disable命令来完成。

最后需要强调的是,启用或者禁用CDP协议难度并不是很大,只是一个简单的命令、几秒钟就可以完成的事情。但是困难的是,安全专员需要判断在什么情况下该使用或者禁用CDP协议。这可能是一个漫长的分析过程。有时候还需要根据企业网络拓扑的变化或者故障排除的需要进行调整。无论是什么情况下,安全专员都需要在功能与安全两者之间进行权衡。

四、语音VLAN与CDP的安全冲突

在语音VLAN应用环境中,一般也需要使用到CDP协议。如一个典型的VoIP案例,就是将工作站连接到IP电话,然后再将IP电话连接到交换机。在这个案例中,如果交换机上启用了CDP协议,那么对于VoIP来说,也涉及到一个CDP协议安全的问题。同上面的分析一样,笔者建议在企业内部网络中可以启用CDP协议。而在企业级别的边缘路由器上则禁用CDP协议。

VLAN除了能将网络划分为多个广播域,从而有效地控制广播风暴的发生,以及使网络的拓扑结构变得非常灵活的优点外,还可以用于控制网络中不同部门、不同站点之间的互相访问。

VLAN是为解决以太网的广播问题和安全性而提出的一种协议,它在以太网帧的基础上增加了VLAN头,用VLAN ID把用户划分为更小的工作组,限制不同工作组间的用户互访,每个工作组就是一个虚拟局域网。虚拟局域网的好处是可以限制广播范围,并能够形成虚拟工作组,动态管理网络。

本文通过Vlan将企业的内部网络划分成几个独立的虚拟网,能够起到分割广播包、缩小冲突域等作用,对于企业内部网络的安全有着很大的作用。不过需要注意的是,这个并不会影响CDP协议的使用。即即使采用了Vlan网络,CDP发送的信息包仍然可以在多个虚拟网内进行传播。
 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分