DHCP Snooping技術(shù)
點(diǎn)擊上方“IT那活兒”公眾號(hào),關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!為了保證網(wǎng)絡(luò)通信業(yè)務(wù)的安全性,引入了DHCP Snooping技術(shù),在DHCP Client和DHCP Server之間建立一道防火墻,以抵御網(wǎng)絡(luò)中針對DHCP的各種攻擊。DHCP Snooping是DHCP的一種安全特性,用于保證DHCP客戶端從合法的DHCP服務(wù)器獲取IP地址。DHCP 服務(wù)器記錄DHCP客戶端IP地址與MAC地址等參數(shù)的對應(yīng)關(guān)系,防止網(wǎng)絡(luò)上針對DHCP攻擊。目前DHCP協(xié)議在應(yīng)用的過程中遇到很多安全方面的問題,網(wǎng)絡(luò)中存在一些針對DHCP的攻擊,如DHCP Server仿冒者攻擊、DHCP Server的拒絕服務(wù)攻擊、仿冒DHCP報(bào)文攻擊等。DHCP Snooping主要是通過DHCP Snooping信任功能和DHCP Snooping綁定表實(shí)現(xiàn)DHCP網(wǎng)絡(luò)安全。
DHCP無中繼工作原理:
- 發(fā)現(xiàn)階段:DHCP客戶端發(fā)送DHCP DISCOVER報(bào)文(廣播)來發(fā)現(xiàn)DHCP服務(wù)器。DHCP DISCOVER報(bào)文中攜帶了客戶端的MAC地址(DHCP DISCOVER報(bào)文中的chaddr字段)、需要請求的參數(shù)列表選項(xiàng)(Option55)、廣播標(biāo)志位(DHCP DISCOVER報(bào)文中的flags字段,表示客戶端請求服務(wù)器以單播或廣播形式發(fā)送響應(yīng)報(bào)文)等信息。
- 提供階段:服務(wù)器接收到DHCP DISCOVER報(bào)文后,選擇跟接收DHCP DISCOVER報(bào)文接口的IP地址處于同一網(wǎng)段的地址池,并且從中選擇一個(gè)可用的IP地址,然后通過DHCP OFFER報(bào)文發(fā)送給DHCP客戶端。
- 請求階段:如果有多個(gè)DHCP服務(wù)器向DHCP客戶端回應(yīng)DHCP OFFER報(bào)文,則DHCP客戶端一般只接收第一個(gè)收到的DHCP OFFER報(bào)文,然后以廣播方式發(fā)送DHCP REQUEST報(bào)文,該報(bào)文中包含客戶端想選擇的DHCP服務(wù)器標(biāo)識(shí)符(即Option54)和客戶端IP地址(即Option50,填充了接收的DHCP OFFER報(bào)文中yiaddr字段的IP地址)。以廣播方式發(fā)送DHCP REQUEST報(bào)文,是為了通知所有的DHCP服務(wù)器,它將選擇某個(gè)DHCP服務(wù)器提供的IP地址,其他DHCP服務(wù)器可以重新將曾經(jīng)分配給客戶端的IP地址分配給其他客戶端。
- 確認(rèn)階段:DHCP客戶端收到DHCP ACK報(bào)文,會(huì)廣播發(fā)送免費(fèi)ARP報(bào)文,探測本網(wǎng)段是否有其他終端使用服務(wù)器分配的IP地址。
DHCP中繼接收到DHCP客戶端廣播發(fā)送的DHCP DISCOVER報(bào)文后,主要?jiǎng)幼骱簷z查DHCP報(bào)文中的giaddr字段。DHCP報(bào)文中的giaddr字段標(biāo)識(shí)客戶端網(wǎng)關(guān)的IP地址。如果服務(wù)器和客戶端不在同一個(gè)網(wǎng)段且中間存在多個(gè)DHCP中繼,當(dāng)客戶端發(fā)出DHCP請求時(shí),第一個(gè)DHCP中繼會(huì)把自己的IP地址填入此字段,后面的DHCP中繼不修改此字段內(nèi)容。DHCP服務(wù)器會(huì)根據(jù)此字段來判斷出客戶端所在的網(wǎng)段地址,從而為客戶端分配該網(wǎng)段的IP地址。將DHCP報(bào)文的目的IP地址改為DHCP服務(wù)器或下一跳中繼的IP地址,源地址改為中繼連接客戶端的接口地址,通過路由轉(zhuǎn)發(fā)將DHCP報(bào)文單播發(fā)送到DHCP服務(wù)器或下一跳中繼。

- 二層接入設(shè)備使能了DHCP Snooping功能后,從收到DHCP ACK報(bào)文中提取關(guān)鍵信息(包括PC的MAC地址以及獲取到的IP地址、地址租期),并獲取與PC連接的使能了DHCP Snooping功能的接口信息(包括接口編號(hào)及該接口所屬的VLAN),根據(jù)這些信息生成DHCP Snooping綁定表。
- 由于DHCP Snooping綁定表記錄了DHCP客戶端IP地址與MAC地址等參數(shù)的對應(yīng)關(guān)系,故通過對報(bào)文與DHCP Snooping綁定表進(jìn)行匹配檢查,能夠有效防范非法用戶的攻擊。

4.1 餓死攻擊
攻擊原理:攻擊者持續(xù)大量地向DHCP Server申請IP地址,直到耗盡DHCP Server地址池中的IP地址,導(dǎo)致DHCP Server不能給正常的用戶進(jìn)行分配。漏洞分析:DHCP Server向申請者分配IP地址時(shí),無法區(qū)分正常的申請者與惡意的申請者。解決方法:對于餓死攻擊,可以通過DHCP Snooping的MAC地址限制功能來防止。該功能通過限制交換機(jī)接口上允許學(xué)習(xí)到的最多MAC地址數(shù)目,防止通過變換MAC地址,大量發(fā)送DHCP請求。4.2 改變CHADDR值的dos攻擊
攻擊原理:攻擊者持續(xù)大量地向DHCP Server申請IP地址,直到耗盡DHCP Server地址池中的IP地址,導(dǎo)致DHCP Server不能給正常的用戶進(jìn)行分配。漏洞分析:DHCP Server向申請者分配IP地址時(shí),無法區(qū)分正常的申請者與惡意的申請者。解決方法:為了避免受到攻擊者改變CHADDR值的攻擊,可以在設(shè)備上配置DHCP Snooping功能,檢查DHCP Request報(bào)文中CHADDR字段。如果該字段跟數(shù)據(jù)幀頭部的源MAC相匹配,轉(zhuǎn)發(fā)報(bào)文;否則,丟棄報(bào)文。從而保證合法用戶可以正常使用網(wǎng)絡(luò)服務(wù)。4.3 中間人攻擊
攻擊原理:攻擊者利用ARP機(jī)制,讓Client學(xué)習(xí)到DHCP Server IP與Attacker MAC的映射關(guān)系,又讓Server學(xué)習(xí)到Client IP與Attacker Mac的映射關(guān)系。如此一來,Client與Server之間交互的IP報(bào)文都會(huì)經(jīng)過攻擊者中轉(zhuǎn)。漏洞分析:從本質(zhì)上講,中間人攻擊是一種Spoofing IP/MAC攻擊,中間人利用了虛假的IP地址與MAC地址之間的映射關(guān)系來同時(shí)欺騙DHCP的客戶端和服務(wù)器。解決方法:為防御中間人攻擊與IP/MAC Spoofing攻擊,可使用DHCP Snooping的綁定表工作模式,當(dāng)接口接收到ARP或者IP報(bào)文,使用ARP或者IP報(bào)文中的“源IP+源MAC”匹配DHCP Snooping綁定表。如果匹配就進(jìn)行轉(zhuǎn)發(fā),如果不匹配就丟棄。
[Switch] dhcp snooping enable ipv4
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1] dhcp snooping enable
[Switch] interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2] dhcp snooping enable
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] dhcp snooping enable
[Switch-GigabitEthernet0/0/3] dhcp snooping trusted
[Switch] dhcp snooping enable ipv4
[Switch] vlan 2
[Switch-vlan2] dhcp snooping enable
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] dhcp snooping trusted
執(zhí)行命令display dhcp snooping interface,查看接口下的DHCP Snooping運(yùn)行信息。[Switch]display dhcp snooping interface GigabitEthernet 0/0/3
DHCP snooping running information for interface GigabitEthernet0/0/3 :
DHCP snooping : Enable
Trusted interface : Yes
Dhcp user max number : 1024 (default)
Current dhcp user number : 0
Check dhcp-giaddr : Disable (default)
Check dhcp-chaddr : Disable (default)
Alarm dhcp-chaddr : Disable (default)
Check dhcp-request : Disable (default)
Alarm dhcp-request : Disable (default)
----- more ------
這次分享DHCP Snooping,一般企業(yè)局域網(wǎng)特別是無線連接都是采用DHCP自動(dòng)獲取地址的方式訪問外網(wǎng)。這個(gè)時(shí)候局域網(wǎng)中的終端如果不慎感染病毒就可能出現(xiàn),DHCP Server仿冒者攻擊、DHCP Server的拒絕服務(wù)攻擊、仿冒DHCP報(bào)文攻擊等,通過在二層交換機(jī)配置DHCP Snooping信任功能可以有效的實(shí)現(xiàn)DHCP網(wǎng)絡(luò)安全。本文作者:朱福生(上海新炬中北團(tuán)隊(duì))
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/129121.html