2011年12月8日 星期四

DHCP餓死問題(DHCP starvation)及解決

DHCP機制廣泛的被許多企業網路採用,簡化了企業眾多用戶端電腦的IP位址配置及設定問題,但DHCP租用IP位址的設計方式卻也帶來了一些潛在的安全性問題,最常見的問題為有心人士假造DHCP伺服器來配置問題IP以及DHCP餓死問題(DHCP starvation),另一項常見的DHCP問題,則是有人私自架設DHCP伺服器而配發非授權的 IP組態,而造成部分員工無法正常連線到公司網路的困擾。

所謂DHCP餓死問題是有心人士利用大量假造的MAC位址向DHCP伺服器租用IP位址而導致耗光DHCP伺服器可租用的IP位址,這將讓正常的用戶端無法租用到有效IP而造成無法使用網路的問題。

為了有效的降低私自架設DHCP伺服器以及DHCP餓死攻擊等問題,啟用並設定交換器的DHCP Snooping功能將會是最有效的方法之一。

 

 

DHCP Snooping

啟動DHCP偵聽(DHCP Snooping)功能後,所有用戶連接埠除非經特別設定,將被認為不可信任(untrust)連接埠,不應該作出任何DHCP回應,亦即 "DHCPOffer" 或"DHCPAck" 這兩種DHCP伺服器回應IP租用的訊息於Untrust介面上均會被攔阻下來,因此DHCP回應封包被交換機阻斷,而只有合法授權的DHCP伺服器連接埠應被設定為信任連接埠。

•上層Switch

•啟用DHCP snooping
   (config) #ip dhcp snooping

•允許DHCP snooping通過底下接的設備
   (config) #ip dhcp snooping information option allow-untrusted

•下層Switch:

•進入config模式

•啟用DHCP snooping
    (config) #ip dhcp snooping

•啟用DHCP snooping
   (config) #ip dhcp snooping

•對GigabitEthernet兩個連接埠(二部DHCP 伺服器)設定為信任埠
   (config) #int range gi 0/1-2
   (config-if-range) #ip dhcp snooping trust

•檢查框架內的來源MAC位址與DHCP封包本文的用戶位址欄位相同
   (config) # ip dhcp snooping verify mac-address