CCIE試驗備考之交換security(4)

第四部分 DHCP監聽
      在某些情況下,***者可以將一個DHCP 服務器加入網絡,令其“冒充”這個網段的DHCP 服務器。這讓***者可以爲缺省的網關和域名服務器(DNS 和WINS)提供錯誤的DHCP 信息,從而將客戶端指向***的主機。這種誤導讓***可以成爲“中間人”,獲得對保密信息的訪問權限,例如用戶名和密碼,而最終用戶對***一無所知。爲了防止出現這種情況,您可以使用DHCP 監聽。DHCP監聽是一種dhcp安全特性,他能夠過濾來自網絡中主機或其他設備的非信任dhcp報文。通過建立並維護dhcp監聽綁定表,dhcp能夠實現上述級別的安全。
      非信任DHCP消息是交換機從外部的網絡、防火牆或其他非授權dhcp服務器接收到的dhcp消息,在啓用dhcp監聽的環境中,當從信任的區域中之外的設備傳來的信息都是非信任的消息,這些非信任的消息可能是******。
      DHCP監聽建立DHCP綁定表,用來過濾不可信任區域的DHCP信息,其中包括對應交換機上不信任的端口的客戶端IP地址、MAC地址、端口號、VLAN編號、租用和綁定類型等消息。交換機支持在每個vlan基礎上啓用DHCP監聽特性。通過這種特性,交換機攔截第2層VLAN域內的所有DHCP報文。
       通過這種特性,交換機能夠限制用戶端口(非信任端口)只能夠發送dhcp請求,並且將丟棄來自用戶端口的所有其它DHCP報文,例如DHCP提供(OFFER)響應報文等。DHCP監聽信任端口是連接到已知合法DHCP服務器或與分佈層交換機(能夠提供到達DHCP服務器的路徑)之間的上行鏈路端口。信任端口能夠發送或接收所有的DHCP報文。這種情況下,交換機只允許受信任的dhcp服務器能夠通過DHCP響應來分發DHCP地址。
當交換機從啓用了dhcp監聽的vlan中一個不信任端口接收到一個報文,交換機會比較源mac地址和dhcp客戶機的硬件地址,如果匹配這個數據報文被轉發,如果不匹配這個數據報將被丟棄。

交換機根據以下情況會丟棄報文:
* 當收到外網的dhcp服務器發來的DHCPOFFER, DHCPACK, DHCPNAK, DHCPLEASEQUERY報文
* 接收到非信任端口報文,源MAC和DHCP客戶端硬件地址不匹配
* 接收到DHCPRELEASE或DHCPDECLINE廣播信息中有dhcp綁定表中某個mac地址,但接口信息和收到的信息中的接口信息不匹配。
     如果一臺支持DHCP監聽的匯聚層交換機和一臺插入了選項82信息的邊界交換機相連,這臺交換機會丟棄從非信任的端口收到的插入了選項82的報文信息,如果信任端口收到插入選項82的信息報,匯聚交換機不會爲信任端口鏈接的設備建立DHCP監聽綁定表條目。
      擁有ios12.25或更早版本的邊界交換機如果插入了選項82,和它相連的匯聚交換機因爲匯聚交換機的dhcp監聽綁定表不完整不能使能dhcp監聽功能,匯聚交換機也不能使用IP源保護和動態arp,除非你手工指定綁定表和arp的訪問控制。
      在IOS 12.2(25)SE版本之後,匯聚交換機和邊界交換機通過一個非信任端口相連時,通過全局模式下命令ip dhcp snooping information allow-untrusted的配置,匯聚交換機會接收從邊界交換機發來的插入選項82的信息報,匯聚交換機也會學習和綁定從不信任端口相連的設備信息。
選項82
      當DHCP Relay Agent將客戶端的DHCP包轉發到DHCP服務器時,可以插入一些選項信息,以便DHCP服務器能更精確的得知PC客戶端的信息,從而能更靈活按相應策略分配IP地址和IP地址需要的租約時間。該選項信息的選項號爲82,故又稱爲Option 82,相關標準文檔爲RFC 3046。Option 82是對DHCP選項的擴展應用,這個新的選項被稱爲:DHCP relay agent information option(中繼代理信息選項),當向一個DHCP中繼代理傳輸客戶端發起的DHCP請求時被中繼代理嵌入到客戶端的DHCP報文中,當服務器識別到中繼代理信息選項後就會根據選項中的信息執行IP地址的分配和策略的實施。
     在一些大型的網絡環境中,DHCP服務可以集中管理IP地址指派給大批用戶,當交換機的選項82使能後,用戶設備可以通過身份鑑定由交換機訪問網絡(除其mac地址),局域網中多個用戶主機通過具有獨特的身份鑑定(選項82)由交換機的同一端口訪問網絡。
 
如上圖,因爲DHCP服務器和DHCP客戶端不在同一網絡或子網中,交換機配置DHCP的中繼代理,通過ip help-address命令使能在dhcp服務器和客戶端之間廣播轉發和傳送dhcp消息。
1. 主機(DHCP客戶端)發出DHCP請求消息,並廣播到網絡中
2. 交換機收到這條DHCP REQUEST消息,將選項82插入這個消息報中,默認情況下,RemoteID子選項是交換機的mac地址,CircuitID子選項是接收到消息的端口標示符,這些參數是可以配置的。
3. 如果中繼代理的IP地址有配置,交換機會添加這個IP地址到DHCP包中
4. 交換機轉發帶有選項82的DHCP REQUEST報到DHCP服務器
5. DHCP服務器收到這個信息後,如果DHCP服務器啓用了選項82,服務器使用RemoteID、CircuitID或者兩個子選項來分配IP地址和應用相應的策略。DHCP服務器標識選項82到DHCP迴應消息。
6. DHCP服務器單播DHCP REPLY到交換機(DHCP中繼代理),交換機將選項字段剝去後發送給客戶端。
         “中繼信息”選項被定義爲一個包含一個或多個“子選項”的單獨的DHCP選項,並傳送可被中繼代理識別的信息。Option 82選項如同一個“容器”選項,爲中繼代理分配的特定的子選項在DHCP報文中提供了數據空間。
CircuitID子選項(SUBOPTION)幀格式
       子選項類型(1字節)
       長度(1字節)
      電路ID類型
     長度(電路ID)
 
    其中電路ID子選項中的端口字段,端口號是從3開始的,比如對於一個24口10/100M的交換機,fa0/1端口在子選項中端口字段表示爲3,fa0/2端口表示爲4……
RemoteID子選項幀格式
     當交換機使能DHCP SNOOPING和ip dhcp snooping information option命令後,circuitID子選項和remoteID子選項採用以上的幀格式(默認格式)
    當我們全局模式下使能dhcp 監聽,用戶全局模式使用命令ip dhcp snooping information option format remote-id和接口模式下使用ip dhcp snooping vlan information option format-type circuit-id string命令配置了remoteID和circuiteID子選項後,circuiteID和remoteID子選項的幀格式有所變化:
circuitID子選項幀格式:
*circute類型爲1
*長度是可變的,根據用戶配置的字符串擴展
 
remoteID子選項幀格式
* remote類型爲1
*長度是可變的,根據用戶配置的字符串擴展
 
配置DHCP 監聽
默認配置:
特性                 默認配置
------------------------------------------
DHCP SERVER                   啓用,但需要配置
DHCP中繼代理                   啓用
DHCP包轉發地址              沒有配置
覈實中繼代理信息             啓用
DHCP中繼代理轉發策略    代替現行的DHCP中繼代理信息
DHCP監聽                           未啓用
選項82                                 啓用
不信任端口是否接收DHCP監聽選項      未啓用
限速                 未配置
信任狀態        不信任狀態
VLAN的DHCP監聽         未啓用
DHCP監聽MAC地址驗證 啓用
DHCP綁定表         啓用
DHCP監聽綁定表         啓用,但需要配置
 
 
配置DHCP snooping
1) 進入全局模式   configure terminal
2) 啓用dhcp監聽
   ip dhcp snooping
3) 在vlan上啓用dhcp 監聽,如果在vlan上不啓用,dhcp監聽是不激活的
   ip dhcp snooping vlan vlan範圍
4) 是否插入選項82
   ip dhcp snooping information option
5) 配置remoteID子選項(可選)
   ip dhcp snooping information option format remote-id [string 字符串|主機名]
6) 配置匯聚交換機接收從邊界交換機發來的帶有選項82的數據包(可選)
   ip dhcp snooping information option allow-untrusted
7) 進入接口模式   interface 接口
8) 指定爲信任端口(可選)
   ip dhcp snooping trust
9) 配置circuiteID子選項(可選)
   ip dhcp snooping vlan vlan號information option format-type circuit-id string 字符串
10) 設置限速
   ip dhcp snooping limit rate 速率
   速率:指定每秒傳輸包數,取值爲1-2048
11) 驗證結果
   show ip dhcp snooping    //查看dhcp監聽狀態
   show ip dhcp snooping binding    //查看dhcp監聽綁定表
 
 
案例:
switch#config terminal
switch(config)#ip dhcp snooping
switch(config)#ip dhcp snooping vlan 10
switch(config)#interface f0/1
switch(config-if)#ip dhcp snooping trust
switch(config-if)#switch access vlan 10
switch(config-if)#interface f0/2
switch(config-if)#switch access vlan 10
switch(config-if)#interface f0/3
switch(config-if)#switch access vlan 10
---------------------------------------------------
配置與交換機f0/1相連的路由器r1爲dhcp服務器
r1(config)#interface f0/1
r1(config-if)#ip address 192.168.1.1 255.255.255.0
r1(config)#ip dhcp execlude 192.168.1.1
r1(config)#ip dhcp pool cisco
r1(dhcp-config)#network 192.168.1.2 255.255.255.0
r1(dhcp-config)#default-route 192.168.1.1
---------------------------------------------------
配置與交換機f0/2相連的路由器r2模擬爲主機,從dhcp服務器獲得ip
r2(config)#no ip routing
r2(config)#int f0/0
r2(config-if)#ip address dhcp
------------------------------------------------------
配置與交換機f0/3相連的路由器r3模擬爲主機,ip地址配置爲dhcp服務器地址,作爲***者
---------------------------------------------------------
驗證:
Switch#show ip dhcp snoopi bind
MacAddress          IpAddress      Lease(sec)  Type          VLAN  Interface
------------        -----------   ----------  ---------  ------- ------------
00:10:7B:3C:01:DA 192.168.1.2      85781    dhcp-snooping  10    FastEthernet0/4
Total number of bindings: 2
----------------------------------------------------------------------------
Switch#show ip dhcp snoopi
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
10
Insertion of option 82 is disabled
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Interface                    Trusted     Rate limit (pps)
------------------------     -------     ----------------
FastEthernet0/1              yes         unlimited
 
 
配置DHCP監聽的綁定表代理
1) 進入全局模式   configure terminal
2) 指定綁定表代理和數據庫文件位置(可選)
   ip dhcp snooping database flash:/文件名|tftp://文件名|ftp://用戶名:密碼@主機/文件名|http://[[用戶名:密碼]@]主機名|主機地址/目錄/文件.tar
3) 指定綁定表數據庫傳輸超時時間
   ip dhcp snooping database timeout 秒數
秒數:取值爲0-86400,默認爲300秒
4) 值定綁定表數據庫寫入延遲時間
   ip dhcp snooping database write-delay 秒數
秒數:取值爲15-86400,默認爲300秒(15分鐘)
5) 進入特權模式    end
6) 手工值定綁定表條目
   ip dhcp snooping binding mac地址 vlan vlan號 IP地址 interface 接口 expiry 秒數
   expiry:這條靜態條目到期的時間,取值爲1-4294967295
7) 驗證結果
show ip dhcp snooping database
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章