■
DHCP使服務器能夠動態地為網絡中的其他終端提供IP地址,通過使用DHCP,就可以不給Intranet網中除DHCP、DNS和WINS服務器外的任何服務器設置和維護靜態IP地址。使用DHCP可以大大簡化配置客戶機的TCP/IP的工作,尤其是當某些TCP/IP參數改變時,如網絡的大規模重建而引起的IP地址和子網掩碼的更改。

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