DHCP 安全——DHCP Snooping技術應用

關於DHCP在之前的文章中也提到過,它是為網絡中的終端提供IP位址的服務。DHCP為網絡管理員在IP位址分配任務上減輕了很大的壓力,而且DHCP服務也簡化了對IP位址分發的管理。管理員可以很輕鬆直觀地在DHCP伺服器上查看IP位址的使用情況。但是DHCP天生有一個缺陷,就是在DHCP伺服器與客戶端在IP位址請求和分發的過程中,缺少認證機制。所以網絡中如果出現一台非法的DHCP伺服器為客戶端提供非法的IP位址,那麼就黑客就可以做一些中間人攻擊的操作,給網絡的安全性帶來了隱患。為了消除這一隱患,我們可以通過DHCP
Snooping技術,來過濾掉非法的DHCP伺服器與客戶端之間的DHCP交互數據。從而達到DHCP服務的安全、可靠。

下面我們就來聊聊DHCP Snooping是怎麼一回事。

DHCP Snooping是 DHCP 的一種安全特性,主要應用在 交換機 上,作用是屏蔽接入網絡中的非法的 DHCP 伺服器。即開啟 DHCP Snooping 功能後,網絡中的客戶端只有從管理員指定的 DHCP 伺服器獲取 IP 地址。啟用 DHCP Snooping
功能後,必須將 交換機上的埠設置為信任(Trust)和非信任(Untrust)狀態,交換機 只轉發信任埠的 DHCP OFFER/ACK/NAK報文,丟棄非信任埠的 DHCP OFFER/ACK/NAK 報文,從而達到阻斷非法 DHCP 伺服器的目的。—摘自百度百科

DHCP Snooping是應用在交換機上的一種DHCP阻斷技術,它通過信任和非信任埠的設置來阻斷DHCP交互數據的流量。下面我們看一下,怎樣在Cisco交換機上配置DHCP Snooping。

實驗平台為EVE-NG,DHCP Server和 SpuriousDHCPServer 為Cisco 路由器模擬。拓撲圖如下:

DHCP 安全——DHCP Snooping技術應用

合法的DHCP伺服器提供的IP位址為192.168.1.0/24,DNS 8.8.8.8

非法的DHCP伺服器提供的IP位址為192.168.10.0/24,DNS 9.9.9.9

關於怎樣在路由器中開啟DHCP,這里就不做贅述,直接將配置給大家:

DHCP Server

DHCPServer# sh run | sec ip dhcp

ip dhcp excluded-address 192.168.1.2

ip dhcp pool vlan1

network 192.168.1.0 255.255.255.0

default-router 192.168.1.1

dns-server 8.8.8.8

lease 8

DHCPServer#sh run int e0/0

interface Ethernet0/0

ip address 192.168.1.2 255.255.255.0

end

SpuriousDHCPServer

SpuriousDhcpServer#sh run | sec ip dhcp

ip dhcp excluded-address 192.168.10.1

ip dhcp pool vlan1

network 192.168.10.0 255.255.255.0

default-router 192.168.10.1

dns-server 9.9.9.9

lease 8

SpuriousDhcpServer#sh run int e0/0

interface Ethernet0/0

ip address 192.168.10.2 255.255.255.0

no

這樣兩台DHCP伺服器就算配置好了,接下來我們在Switch上不配置DHCP Snooping 看看會發生什麼。

Switch的埠全部默認在VLAN1中,Switch不做任何配置。我們看看PC1和PC2 會獲取到什麼樣的IP位址。

PC1:我們可以看到PC1在DHCP交互的過程中,兩台DHCP都為它提供了IP位址,其中合法的DHCP提供的是192.168.1.8 而非法的DHCP提供的是192.168.10.6.但最終PC1選擇了合法的DHCP提供的IP位址。

DHCP 安全——DHCP Snooping技術應用DHCP 安全——DHCP Snooping技術應用

PC2:我們可以看到,同樣的PC2在DHCP交互的過程中,兩台DHCP也都提供了IP位址,但PC2選擇了非法DHCP提供的IP位址192.168.10.7 DNS 9.9.9.9 那麼PC2 可以說就收到了攻擊。

DHCP 安全——DHCP Snooping技術應用DHCP 安全——DHCP Snooping技術應用

接下來我們看一下在交換機中怎樣配置DHCP Snooping來阻止非法的DHCP伺服器與客戶端的交互。

這里我們用到的最小化的DHCP Snooping配置,步驟如下:

1. 在交換機上開啟DHCP Snooping 服務功能,ip dhcp snooping

2. 在VLAN中啟用DHCP Snooping,默認是所有VLAN關閉。ip dhcp snooping vlan vlan-list

3. 在接入合法的DHCP伺服器的埠上,開啟信任模式,默認下所有埠都是非信任模式。ip dhcp snooping trust

4. 默認情況下Cisco交換機會開啟ip dhcp snooping information option , DHCP option 82 DHCP中繼。如果是Win、Linux的DHCP伺服器這里不需要關閉,但本實驗的DHCP伺服器是由Cisco路由器模擬所以需要關閉。

下面我們就來配置一些switch:

Switch#conf t

Enter configuration commands, one per line. End with CNTL/Z.

Switch(config)#ip dhcp snooping

Switch(config)#ip dhcp snooping vlan 1

Switch(config)#no ip dhcp snooping information option

我們先不配置trust埠,看一下PC是否可以獲取到ip地址

DHCP 安全——DHCP Snooping技術應用

很明顯PC並沒有獲取到IP位址。現在我們把Switch的e0/0也就是連接合法DHCP伺服器的埠設置為trust,在看一下PC是否可以獲取到IP位址。

Switch#conf t

Switch(config)#int e0/0

Switch(config-if)#ip dhcp snooping trust

我們可以看到PC1和PC2 都從合法的DHCP伺服器192.168.1.2中獲取到了合法的IP位址。

DHCP 安全——DHCP Snooping技術應用

而且非法DHCP伺服器並沒有得到任何DHCP請求包,因為它的埠是untrust的狀態。

我們也可以通過一些命令在switch上看到一些DHCP Snooping的信息。

DHCP 安全——DHCP Snooping技術應用DHCP 安全——DHCP Snooping技術應用

至此,DHCP Snooping的配置就完成了。我們阻止了非法DHCP伺服器的服務,為客戶端的DHCP提供了安全可靠的請求。

來源:kknewsDHCP 安全——DHCP Snooping技術應用