DHCP監(jiān)聽(tīng)的作用
我們知道,安全是網(wǎng)絡(luò)中最為關(guān)鍵的一個(gè)環(huán)節(jié)。在DHCP中,DHCP監(jiān)聽(tīng)就起到了安全作用。那么什么是DHCP監(jiān)聽(tīng)呢?如何設(shè)置這個(gè)監(jiān)聽(tīng)以及相關(guān)的配置和操作又需要注意一下什么呢?
DHCP監(jiān)聽(tīng):
通過(guò)DHCP監(jiān)聽(tīng),交換機(jī)能限制終端用戶端口(非信任端口)只能夠發(fā)送DHCP請(qǐng)求,并且丟棄來(lái)自用戶端口的所有其他DHCP報(bào)文,例如DHCP提供(OFFER)相應(yīng)報(bào)文等。信任端口能夠發(fā)送或接受所有的DHCP報(bào)文
交換機(jī)內(nèi)部有一個(gè)IP源綁定表(IP Source Binding Table)作為每個(gè)端口接受到的數(shù)據(jù)包的檢測(cè)標(biāo)準(zhǔn),只有在兩種情況下,交換機(jī)會(huì)轉(zhuǎn)發(fā)數(shù)據(jù):
1.所接收到的IP包滿足IP源綁定表中Port/IP/MAC的對(duì)應(yīng)關(guān)系
2.所接收到的是DHCP數(shù)據(jù)包
其余數(shù)據(jù)包將被交換機(jī)做丟棄處理。
1.IP源綁定表可以由用戶在交換機(jī)上靜態(tài)添加
2.或者由交換機(jī)從DHCP監(jiān)聽(tīng)綁定表(DHCP Snooping Binding Table)自動(dòng)學(xué)習(xí)獲得。
交換機(jī)從DHCP報(bào)文中提取關(guān)鍵信息(包括IP地址,MAC地址,vlan號(hào),端口號(hào),租期等),并把這些信息保存到 DHCP 監(jiān)聽(tīng)綁定表中。(以上這個(gè)過(guò)程是由DHCP Snooping完成的)。IP源防護(hù)只支持第2層端口,其中包括接入(access)端口和干道(trunk)接口。IP源防護(hù)的信任端口/非信任端口也就是DHCP監(jiān)聽(tīng)的信任端口/非信任端口。對(duì)于非信任端口存在以下兩種級(jí)別的IP流量安全過(guò)濾:
源IP地址過(guò)濾:默認(rèn)情況下,如果端口在沒(méi)有存在IP源綁定條目的情況下啟用了IP源防護(hù)功能,默認(rèn)的PACL將拒絕端口的所有流量(實(shí)際上是除 DHCP報(bào)文以外的所有IP流量)。配置:
SW2(config)#int g0/9
SW2(config-if)#ip verify source
源IP和源MAC地址過(guò)濾:當(dāng)以IP和MAC地址作為過(guò)濾的時(shí)候,為了確保DHCP協(xié)議能夠正常的工作,還必須啟用DHCP監(jiān)聽(tīng)選項(xiàng)82。 對(duì)于沒(méi)有選項(xiàng)82的數(shù)據(jù),交換機(jī)不能確定用于轉(zhuǎn)發(fā)DHCP服務(wù)器響應(yīng)的客戶端主機(jī)端口。相反地,DHCP服務(wù)器響應(yīng)將被丟棄,客戶機(jī)也不能獲得IP地址。
注:交換機(jī)使用端口安全(SW2(config-if)#switchport port-security)來(lái)過(guò)濾源MAC地址。
當(dāng)交換機(jī)只使用“IP源地址過(guò)濾”時(shí),IP源防護(hù)功能與端口安全功能是相互獨(dú)立的關(guān)系。 端口安全是否開(kāi)啟對(duì)于IP源防護(hù)功能來(lái)說(shuō)不是必須的。 如果同時(shí)開(kāi)啟,則兩者也只是一種寬松的合作關(guān)系,IP源防護(hù)防止IP地址欺騙,端口安全防止MAC地址欺騙。而當(dāng)交換機(jī)使用“源IP和源MAC地址過(guò)濾”時(shí),IP源防護(hù)功能與端口安全功能是就變成了一種“集成”關(guān)系,更確切的說(shuō)是端口安全功能被集成到 IP源防護(hù)功能里,作為IP源防護(hù)的一個(gè)必須的組成部分。在這種模式下,端口安全的違規(guī)處理(violation)功能將被關(guān)閉。對(duì)于非法的二層報(bào)文,都將只是被簡(jiǎn)單的丟棄,而不會(huì)再執(zhí)行端口安全的違規(guī)處理了。IP源防護(hù)功能不能防止客戶端PC的ARP攻擊。ARP攻擊問(wèn)題必須由DAI功能來(lái)解決。如果要支持IP源防護(hù)功能,必須是35系列及以上的交換機(jī)。2960目前不支持該功能。
Switch#show ip dhcp snooping binding
Switch#show ip source binding
Switch#show ip verify source
ip dhcp snooping information option allow-untrusted
IP源防護(hù)只針對(duì)非信任端口起作用,對(duì)信任端口不起作用。所以不需要為接在信任端口上的主機(jī)添加靜態(tài)IP源綁定,其依然可以正常通信。IP源綁定能阻止非信任端口上的客戶端以靜態(tài)指定IP地址的方式接入網(wǎng)絡(luò)。 這些客戶端將無(wú)法通信,除非為其手工添加靜態(tài)IP源綁定條目。
說(shuō)明:本例中采用“源IP和源MAC地址過(guò)濾”模式,采用該模式需要注意以下三點(diǎn):
(1)交換機(jī)必須對(duì)客戶端的DHCP請(qǐng)求插入選項(xiàng)82信息,即必須配置ip dhcp snooping information option命令(默認(rèn)即為開(kāi)啟)。對(duì)于沒(méi)有插入選項(xiàng)82的DHCP請(qǐng)求,交換機(jī)不能確定用于轉(zhuǎn)發(fā)DHCP服務(wù)器響應(yīng)的客戶端主機(jī)端口。相反地,DHCP服務(wù)器響應(yīng)將被丟棄,客戶機(jī)也不能獲得IP地址。DHCP回復(fù)包因?yàn)檎也坏侥繕?biāo)端口而被交換機(jī)丟棄了。
(2)所使用的DHCP服務(wù)器必須支持利用DHCP選項(xiàng)82分配IP地址的功能,否則客戶端將無(wú)法獲得IP地址(debug信息類似第(1)項(xiàng)所述)。像Win2003,Cisco IOS 12.2等作為DHCP服務(wù)器時(shí)都不支持利用DHCP選項(xiàng)82來(lái)分配IP地址。本例中如果采用12.2版本的IOS,將出現(xiàn)客戶端無(wú)法獲得IP地址的情況。Cisco IOS從版本12.3(4)T 開(kāi)始支持利用選項(xiàng)82分配IP地址。 最簡(jiǎn)單的方法,看IOS是否支持命令ip dhcp use class。
(3)必須在端口下同時(shí)配置switchport port-security命令。 若沒(méi)有該命令,本模式的最終效果與“源IP地址過(guò)濾”模式將相同。
將IP源防護(hù)應(yīng)用于3560下聯(lián)的trunk接口上,該接口為非信任接口。由于2960沒(méi)有IP源防護(hù)功能,所以從2960過(guò)來(lái)的數(shù)據(jù)報(bào)文是有可能存在IP欺騙攻擊的。在3560的trunk口上應(yīng)用IP源防護(hù)將可以把攻擊隔絕在這里,使受攻擊的范圍減小到最小。但由于 2960本身沒(méi)有該功能,所以接在2960上的各個(gè)主機(jī)之間仍有可能存在攻擊行為。對(duì)有防護(hù)能力的交換機(jī),級(jí)聯(lián)時(shí)級(jí)聯(lián)端口可以選為ip dhcp snooping trust.