■
DHCP使服務(wù)器能夠動(dòng)態(tài)地為網(wǎng)絡(luò)中的其他終端提供IP地址,通過(guò)使用DHCP,就可以不給Intranet網(wǎng)中除DHCP、DNS和WINS服務(wù)器外的任何服務(wù)器設(shè)置和維護(hù)靜態(tài)IP地址。使用DHCP可以大大簡(jiǎn)化配置客戶機(jī)的TCP/IP的工作,尤其是當(dāng)某些TCP/IP參數(shù)改變時(shí),如網(wǎng)絡(luò)的大規(guī)模重建而引起的IP地址和子網(wǎng)掩碼的更改。
圖1 實(shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)圖
DHCP由于實(shí)施簡(jiǎn)單,特別適合人群數(shù)量大且流動(dòng)性強(qiáng)的環(huán)境,例如跨國(guó)企業(yè)、高等院校等。通過(guò)DHCP服務(wù),不用給來(lái)訪者的終端做任何配置即可連入局域網(wǎng)。同時(shí),由于局域網(wǎng)劃分了大量VlAN,客戶從一個(gè) VLAN移動(dòng)到另外一個(gè)VLAN也不需要改動(dòng)終端的任何設(shè)置,非常方便。但是DHCP安全在網(wǎng)絡(luò)安全方面是一個(gè)不可忽略的問(wèn)題,偽造DHCP服務(wù)器等攻擊時(shí)常困擾著我們網(wǎng)絡(luò)管理員。
本文通過(guò)對(duì)幾款市場(chǎng)上主流交換機(jī)廠商的入門級(jí)產(chǎn)品進(jìn)行實(shí)驗(yàn)和比較,總結(jié)出一套應(yīng)對(duì)偽造DHCP服務(wù)器攻擊的配置方法。
本次實(shí)驗(yàn)的對(duì)象是思科的2918、華為的 S2700、H3C的S1626以及銳捷的S2928G。這幾款屬于入門級(jí)產(chǎn)品,大量的應(yīng)用于工廠企業(yè),大中院校作為接入級(jí)設(shè)備使用。實(shí)驗(yàn)思路是通過(guò)一臺(tái)雜牌路由器模擬偽DHCP攻擊源,接入到網(wǎng)絡(luò)中。通過(guò)配置交換機(jī)的DHCP SnooPing功能或者端口隔離功能,實(shí)現(xiàn)對(duì)偽攻擊源的屏蔽,使其無(wú)法影響網(wǎng)絡(luò)的正常運(yùn)行。
實(shí)驗(yàn)所用的交換機(jī),因?yàn)閺S商和版本不同,有些交換機(jī)并沒(méi)有DHCP SnooPing檢查功能,只能使用端口隔離技術(shù)來(lái)達(dá)到實(shí)驗(yàn)?zāi)康摹?shí)驗(yàn)拓?fù)浣Y(jié)構(gòu)采用3臺(tái)同品牌交換機(jī)一組,分別用A、B、C代表,如圖1所示。
由于DHCP攻擊通常發(fā)生在一個(gè)VLAN里面,因此A、B、C三臺(tái)交換機(jī)被設(shè)置處于同一VLAN里面。
實(shí) 驗(yàn) 1,思 科 2918交 換機(jī):按照拓?fù)鋱D接好以后,立刻發(fā)現(xiàn)PC1和PC2立即受到了偽DHCP攻擊源的攻擊,未獲得正確的合法地址。由于思科2918系列交換機(jī)并沒(méi)有DHCP SnooPing功能,于是在B、C交換機(jī)上所有端口(除與A保持連接的匯聚口)采用端口保護(hù)命令switchport protected。此時(shí)發(fā)現(xiàn),PC1能正常獲取合法DHCP地址,而PC2仍然受到偽攻擊。經(jīng)分析,端口隔離僅僅對(duì)本交換機(jī)端口進(jìn)行隔離阻塞,由于與A的匯聚端口不能加入隔離組(否則網(wǎng)就不通了),偽DHCP廣播仍可通過(guò)B交換機(jī)的匯聚端口發(fā)送廣播到A交換機(jī),再由A交換機(jī)通過(guò)與C交換機(jī)的匯聚端口下發(fā)到C交換機(jī)的所有端口,因此PC2仍舊被攻擊。由此結(jié)論,繼續(xù)對(duì)A交換機(jī)進(jìn)行設(shè)置,將A交換機(jī)上的與B、C連接的匯聚端口也使用switchport protected。此時(shí)PC2 也能正常獲取合法DHCP地址。
實(shí) 驗(yàn)2,華 為S2700交換機(jī):華為此款交換機(jī)帶有DHCP SnooPing功能,按照拓?fù)鋱D接好以后,PC1、PC2均受到攻擊。對(duì)B和C交換機(jī)配置①[ ]dhcp enable②[ ]dhcp snooPing enable兩條全局命令。打開(kāi)DHCP SnooPing功能。然后,分別進(jìn)入B、C與A互聯(lián)的匯聚口里面配置dhcp snooPing trusted(只信任匯聚口的DHCP廣播包)。經(jīng)測(cè),PC1和PC2立即獲得合法DHCP地址。
實(shí) 驗(yàn) 3,H3C 的 S1626:H3C這款交換機(jī),在命令行中帶有DHCP SnooPing的命令,但經(jīng)過(guò)實(shí)際測(cè)試,對(duì)交換機(jī)沒(méi)有產(chǎn)生任何作用,應(yīng)該是跟高級(jí)交換機(jī)共用一個(gè)操作系統(tǒng)版本的緣故。因此智能采用類似思科交換機(jī)的配置策略。在B、C交換機(jī)上配置端口隔離命令port ISOlate,并應(yīng)用到除與A連接以外的所有端口。同時(shí)將A交換機(jī)上的與B、C交換機(jī)互聯(lián)的端口也配置端口隔離命令port ISOlate。經(jīng)測(cè),PC1和PC2立即獲得合法DHCP地址。
實(shí)驗(yàn) 4,銳捷 S2928G:這款銳捷交換機(jī)帶有DHCP SnooPing功能,按照拓?fù)鋱D接好以后,PC1、PC2均受到攻擊。對(duì)B和C交換機(jī)配置[] ip dhcp snooPing一條全局命令。打開(kāi)DHCP SnooPing功能。然后,分別進(jìn)入B、C與A互聯(lián)的匯聚口里面配置ip dhcp snooPing trust(只 信任匯聚口的DHCP廣播包)。經(jīng)測(cè),PC1和PC2立即獲得合法DHCP地址。
由上面的實(shí)驗(yàn)得知,無(wú)論是交換機(jī)是否帶有DHCP SnooPing 功能,我們都可以通過(guò)組合端口隔離的方式來(lái)防止偽DHCP服務(wù)器攻擊。對(duì)于帶有DHCP SnooPing 功能的交換機(jī),同時(shí)打開(kāi)端口隔離命令,使用隔離技術(shù)后隔離端口之間就不會(huì)產(chǎn)生單播、廣播和組播,病毒就不會(huì)在隔離計(jì)算機(jī)之間傳播,尤其對(duì)頭痛的ARP病毒效果明顯。