網(wǎng)絡(luò)的結(jié)構(gòu)相當(dāng)復(fù)雜,在各個層次中也有著不同的協(xié)議。那么,CDP協(xié)議(Cisoco發(fā)現(xiàn)協(xié)議)是一種工作在數(shù)據(jù)鏈路層上的協(xié)議,主要用來發(fā)現(xiàn)和查看相鄰設(shè)備的簡單配置信息。這也是思科網(wǎng)絡(luò)設(shè)備默認(rèn)啟用的一種第二層協(xié)議,而且還是識別所連接設(shè)備詳細(xì)信息的一種重要協(xié)議。在故障排錯、性能優(yōu)化等方面有著不可替代的作用。不過可惜的是,其也存在著一定的安全隱患。在這篇文章中,筆者就對CDP協(xié)議的功過得失作一個客觀的評價,并對安全方面的問題給出一點建議。
一、CDP協(xié)議的工作原理
要了解CDP協(xié)議在安全上的漏洞,首先需要知道其工作的原理。通常情況下,CDP協(xié)議與現(xiàn)有的網(wǎng)絡(luò)協(xié)議類型無關(guān),其運行在路由器和交換機(jī)等網(wǎng)絡(luò)設(shè)備上。一般來說,CDP協(xié)議可以運行在所有支持SNAP子網(wǎng)訪問協(xié)議幀類型的介質(zhì)中。通過在所有支持CDP協(xié)議的接口上向多播MAC地址發(fā)送周期性信息的方式,CDP協(xié)議就能夠進(jìn)行工作。其基本的原理就是通過利用鄰接設(shè)備所發(fā)送的信息,設(shè)備能夠?qū)W到所連接設(shè)備的相關(guān)信息。這里需要注意的是,在所有的CDP消息中,都含有相關(guān)網(wǎng)絡(luò)設(shè)備的重要信息。如果這些信息泄露的話,就能夠被攻擊者所用,威脅企業(yè)網(wǎng)絡(luò)的安全。這些有關(guān)安全的信息可能包括如下這些內(nèi)容。
如網(wǎng)絡(luò)地址、發(fā)送消息的端口或者接口信息、硬件平臺、發(fā)送設(shè)備的功能、軟件盤本等等。這些信息主要是被存放在TLV字段的嵌入部分。通常情況下這部分信息都是明文保存的,即沒有采取加密的措施。只要能夠獲取這個信息的用戶,通過一些工具就可以輕松的活得這些機(jī)密信息。
二、CDP協(xié)議給企業(yè)內(nèi)網(wǎng)造成的安全隱患分析
確實在大部分情況下,CDP協(xié)議的作用是不可替代的。如在大多數(shù)網(wǎng)絡(luò)中,CDP能夠提供很多有用的信息并且可以協(xié)助管理員進(jìn)行網(wǎng)絡(luò)排錯和性能優(yōu)化。但是,其帶來的安全隱患也不容忽視。如默認(rèn)情況下,交換機(jī)是默認(rèn)在所有的接口上發(fā)送系統(tǒng)信息(如上面所述,這些系統(tǒng)信息中包含一些敏感的信息并且是沒有加密處理的)。為此攻擊者可以通過網(wǎng)絡(luò)嗅探器等工具輕松的獲取這些信息。顯而易見,CDP協(xié)議能夠?qū)е掳踩矫娴膯栴}。特別是等網(wǎng)絡(luò)連接到多個組織機(jī)構(gòu)的時候,這個安全隱患會更加的突出。不過各位用戶也不必過于擔(dān)心。如果出于安全考慮,將這個CDP協(xié)議廢了,那也有點小題大做。現(xiàn)在網(wǎng)絡(luò)管理員需要考慮的是,如何在安全與功能之間取得一個均衡。即能夠享受CDP協(xié)議所帶來的優(yōu)勢,而又不被其安全問題所困擾。如下圖所示,筆者給出了一個示意圖。
根據(jù)CDP協(xié)議的工作原理,我們可以知道,CDP協(xié)議所發(fā)送的信息中包含了一些比較敏感的信息。如果這些信息被不法分子獲得的話,那么將給企業(yè)的網(wǎng)絡(luò)帶來很大的安全隱患。為此我們保護(hù)的重點就是如何讓這些敏感的信息不被外人所知。故筆者的建議是,為了避免CDP協(xié)議泄露網(wǎng)絡(luò)設(shè)備的相關(guān)系悉尼,可以只在企業(yè)內(nèi)部網(wǎng)絡(luò)的設(shè)備中啟用CDP協(xié)議。而在連接到互聯(lián)網(wǎng)的企業(yè)級邊緣路由器上的接口上禁用CDP協(xié)議。如此的話,相關(guān)的敏感信息不會泄露到企業(yè)的外部網(wǎng)絡(luò)上。在配合網(wǎng)絡(luò)防火墻等功能,就可以保證CDP協(xié)議信息的安全。為此如上圖所示,筆者建議,可以在連接到服務(wù)器提供商或者企業(yè)邊緣路由器的接口上禁用CDP協(xié)議。其他地方如果有安全需要的話,可以根據(jù)情況來判斷是否啟用CDP協(xié)議。在可以的情況下,還是啟用CDP協(xié)議為好。
三、開啟或者禁用CDP協(xié)議
默認(rèn)情況下,CDP協(xié)議是開啟的。出于安全考慮,安全專員可能需要在某些特定的接口上禁用CDP協(xié)議。要做到這一點,從操作上說并沒有多少難度。主要還在于需要根據(jù)上面提到的原則來判斷在哪些接口上要禁用CDP協(xié)議。如果禁用的多了,那么CDP協(xié)議將不能夠發(fā)揮其應(yīng)有的作用。相反,如果開啟的多了,那么就會造成比較嚴(yán)重的安全隱患。是開還是關(guān),這就需要安全專員根據(jù)實際情況來進(jìn)行權(quán)衡。如根據(jù)企業(yè)對于安全的重視程度、企業(yè)的行業(yè)性質(zhì)等等來進(jìn)行判斷。
另外在禁用CDP協(xié)議的時候,安全專員還可以選擇是使用全局性禁用,還是以每個接口為基礎(chǔ)進(jìn)行禁用。如對于安全級別比較高的行業(yè),像金融行業(yè),他們可能在整個企業(yè)網(wǎng)絡(luò)中都會禁用CDP協(xié)議。此時就只需要使用全局性禁用的策略即可。如此的話,只需要在一臺交換機(jī)或者路由器上操作一次即可。而像大部分行業(yè),其只需要在特定的接口上禁用CDP協(xié)議,如在企業(yè)邊緣路由器上禁用CDP協(xié)議。在這種情況下,需要選擇以每個接口為基礎(chǔ)進(jìn)行禁用CDP協(xié)議。
如果安全專員需要在全局性的禁用CDP協(xié)議,可以在某臺交換機(jī)上使用如下命令來完成:no cdp run。這個命令運行完畢后,網(wǎng)絡(luò)內(nèi)的所有設(shè)備(包括交換機(jī)與路由器)的CDP協(xié)議都將被禁用掉。由于這個命令會影響到多臺網(wǎng)路設(shè)備,為此在使用時需要慎重。注意這個命令只有在IOS軟件上有效。如果需要在CATOS軟件上使用的話,則需要通過命令set dp disable來實現(xiàn)。兩者效果是一樣的,只是語法上稍有不同而已。
如果需要通過基于特定的端口來禁用CDP協(xié)議的話,首先需要進(jìn)入到交換機(jī)或者路由器的接口配置模式,然后可以通過如下的命令來單據(jù)的禁用某個端口或者接口的CDP協(xié)議:no cdp enable。這里需要特別強(qiáng)調(diào)一下,在基于特定接口下配置,與在全局模式下配置,其所使用的關(guān)鍵字是不同的。全局模式下,使用的關(guān)鍵字是run。而基于特定接口模式的配置,使用的關(guān)鍵字是enable。同理,這個命令也只是對IOS軟件有效。如果采用的是CATOS軟件的話,則需要使用set cdp disable命令來完成。
最后需要強(qiáng)調(diào)的是,啟用或者禁用CDP協(xié)議難度并不是很大,只是一個簡單的命令、幾秒鐘就可以完成的事情。但是困難的是,安全專員需要判斷在什么情況下該使用或者禁用CDP協(xié)議。這可能是一個漫長的分析過程。有時候還需要根據(jù)企業(yè)網(wǎng)絡(luò)拓?fù)涞淖兓蛘吖收吓懦男枰M(jìn)行調(diào)整。無論是什么情況下,安全專員都需要在功能與安全兩者之間進(jìn)行權(quán)衡。筆者一個總的原則是,在企業(yè)內(nèi)部網(wǎng)絡(luò)上,可以啟用CDP協(xié)議。而在邊緣路由器上,要禁用CDP協(xié)議。這個原則可能對大部分企業(yè)都是適用的。
四、語音VLAN與CDP的安全沖突
在語音VLAN應(yīng)用環(huán)境中,一般也需要使用到CDP協(xié)議。如一個典型的VoIP案例,就是將工作站連接到IP電話,然后再將IP電話連接到交換機(jī)。在這個案例中,如果交換機(jī)上啟用了CDP協(xié)議,那么對于VoIP來說,也涉及到一個CDP協(xié)議安全的問題。同上面的分析一樣,筆者建議在企業(yè)內(nèi)部網(wǎng)絡(luò)中可以啟用CDP協(xié)議。而在企業(yè)級別的邊緣路由器上則禁用CDP協(xié)議。
筆者這里需要強(qiáng)調(diào)一點,通過Vlan將企業(yè)的內(nèi)部網(wǎng)絡(luò)劃分成幾個獨立的虛擬網(wǎng),能夠起到分割廣播包、縮小沖突域等作用,對于企業(yè)內(nèi)部網(wǎng)絡(luò)的安全有著很大的作用。不過需要注意的是,這個并不會影響CDP協(xié)議的使用。即即使采用了Vlan網(wǎng)絡(luò),CDP發(fā)送的信息包仍然可以在多個虛擬網(wǎng)內(nèi)進(jìn)行傳播。這是出自功能上的考慮。筆者在一開始就談到,CDP協(xié)議是一種與網(wǎng)絡(luò)協(xié)議類型無關(guān)的協(xié)議。