思科防止dhcp攻擊

什麼是DHCP

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,前身是BOOTP協議,

使用UDP協議工作,常用的2個端口:67(DHCP server),68(DHCP client)。DHCP通常被用於局域網環境,主要作用是

集中的管理、分配IP地址,使client動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用

率。簡單來說,DHCP就是一個不需要賬號密碼登錄的、自動給內網機器分配IP地址等信息的協議。

 

 

 

DHCP協議中的報文:

DHCP DISCOVER 客戶端廣播DHCP Discover消息,局域網內所有主機都能接受到該報文。

DHCP OFFER 服務器接收到DHCP DISCOVER之後做出的響應,它包括了給予客戶端的IP、客戶端的MAC地址、租約過期時間、服務器的識別符以及其他信息

DHCP REQUEST 客戶端對於服務器發出的DHCP OFFER所做出的響應,發送請求報文。

DHCP ACK 服務器在接收到客戶端發來的DHCP REQUEST之後發出的成功確認的報文。在建立連接的時候,客戶端在接收到這個報文之後纔會確認分配給它的IP和其他信息可以被允許使用。

 

 

 

DHCP的工作流程:

 

 

 

 

DHCP報文數據包:

 

 

 

什麼是DHCP  Snooping ?

DHCP Snooping技術是DHCP安全特性,通過建立和維護DHCP Snooping綁定表過濾不可信任的DHCP信息,

這些信息是指來自不信任區域的DHCP信息。DHCP Snooping綁定表包含不信任區域的用戶MAC地址、IP地址、

租用期、VLAN-ID 接口等信息。Cisco交換機支持在每個VLAN基礎上啓用DHCP監聽特性。通過這種特性,交換

機能夠攔截第二層VLAN域內的所有DHCP報文。

 

知識點: DHCP Snooping綁定表爲後續部署IP源防護(IPSG)和動態ARP檢測(DAI)提供重要支持。

 

 

DHCP  Snooping作用:

1、  防止私自搭建的DHCP Server分配IP地址(主要功能)。

2、  防止惡意搭建的DHCP Server的DOS攻擊,導致信任DHCP Server(公司DHCP服務器)的IP地址資源耗竭(主要功能)。

3、  防止用戶手動配置固定IP地址,造成與信任DHCP  Server(公司DHCP服務器)分配的IP地址衝突。(需要配合IPSG功能共同實現,後續會講解)

 

 

DHCP監聽將交換機端口劃分爲兩類:

1、  信任端口:連接信任的DHCP服務器或者匯聚交換機的上行端口或核心交換機的下行端口。

2、  非信任端口:通常爲連接終端設備的端口,例如電腦、網絡打印機、筆記本,HUB(傻瓜交換機端口不可控)等。

 

設計思路:

1、3560劃分3個VLAN(vlan10  vlan20  vlan50)並分配IP地址,gi0/13端口配置爲信任端口連接信任DHCP服務器並劃分到vlan 50,gi0/24端口設置爲trunk

2、2960劃分3個VLAN(vlan10  vlan20  vlan50)並分配端口,gi1/0/24端口設置爲trunk與3560 gi0/24端口相連

3、私搭建的DHCP服務器可以接在3560交換機或2960交換機非信任端口進行測試

4、PC01連接在2960 vlan10 端口gi1/0/1,PC02連接在2960 vlan20 端口gi1/0/8

VLAN情況:

vlan 10    192.168.10.1/24(3650)   分配端口gi1/0/1-5(2960)

vlan 20    192.168.20.1/24(3650)   分配端口gi1/0/6-10(2960)

vlan 50    192.168.50.1/24(3650)   分配端口gi1/0/11-15(2960)

信任DHCP服務器IP地址  192.168.50.254/24(3650)   分配端口gi0/13(3650)

 

 

 

網絡拓撲圖:

提示:思科模擬器Cisco Packet Tracer Student實現DHCP Snooping功能會有異常,本教程是使用真實思科交換機實驗。

 

 

 

 

 

3650配置信息:

 

##配置vlan

3560(config)#vlan 10

3560(config-vlan)#name VLAN10

3560(config-vlan)#exit

3560(config)#vlan 20

3560(config-vlan)#name VLAN10

3560(config-vlan)#exit

3560(config)#vlan 50

3560(config-vlan)#name VLAN10

3560(config-vlan)#exit

 

##配置vlan的IP地址並設定DHCP服務器中繼代理

3560(config)#interface vlan 10

3560(config-if)#ip address 192.168.10.1 255.255.255.0

3560(config-if)#ip helper-address 192.168.50.254

3560(config-if)#exit

3560(config)#interface vlan 20

3560(config-if)#ip address 192.168.20.1 255.255.255.0

3560(config-if)#ip helper-address 192.168.50.254

3560(config-if)#exit

3560(config)#interface vlan 50

3560(config-if)#ip address 192.168.50.1 255.255.255.0

3560(config-if)#ip helper-address 192.168.50.254

3560(config-if)#exit

 

##劃分gi0/13端口給vlan50用於連接DHCP服務器

3560(config)#interface gigabitEthernet 0/13

3560(config-if)#switchport access vlan 50

3560(config-if)#switchport mode access

3560(config-if)#no shutdown

 

##設置gi0/24端口爲trunk用於連接下聯2960交換機

3560(config)#interface gigabitEthernet 0/24

3560(config-if)#switchport trunk encapsulation dot1q

3560(config-if)#switchport mode trunk

3560(config-if)#no shutdown

 

##開啓三層路由功能

3560(config)#ip routing

 

##開啓DHCP Snooping功能

3560(config)#ip dhcp snooping

##設置DHCP Snooping功能將作用於哪些VLAN

3560(config)#ip dhcp snooping vlan 10,20,50

##配置交換機能從非信任端口接收帶option 82的DHCP報文

3560(config)#ip dhcp snooping information option allow-untrusted

##將DHCP監聽綁定表保存在flash中,文件名爲dhcp_snooping.db

3560(config)#ip dhcp snooping database flash:dhcp_snooping.db

##指DHCP監聽綁定表發生更新後,等待30秒,再寫入文件,默認爲300

3560(config)#ip dhcp snooping database write-delay 30

##指DHCP監聽綁定表嘗試寫入操作失敗後,重新嘗試寫入操作,直到60秒後停止嘗試,默認爲300

3560(config)#ip dhcp snooping database timeout 60

##使由於DHCP報文限速原因而被禁用的端口能自動從err-disable狀態恢復

3560(config)#errdisable recovery cause dhcp-rate-limit

##設置自動恢復時間;端口被置爲err-disable狀態後,經過30秒時間自動恢復

3560(config)#errdisable recovery interval 30

 

##設置gi0/13端口和gi0/24爲信任端口,其它端口自動默認爲非信任端口

3560(config)#interface gigabitEthernet 0/13

3560(config-if)#ip dhcp snooping trust

3560(config-if)#exit

3560(config)#interface gigabitEthernet 0/24

3560(config-if)#ip dhcp snooping trust

3560(config-if)#exit

 

##顯示與維護

#查看交換機配置情況

3560#show running-config

#查看交換機端口速率、信任端口、非信任端口等信息

3560#show ip dhcp snooping

#查看DHCP snooping綁定表

3560#show ip dhcp snooping binding 

 

 

 

2960配置信息:

 

##創建vlan

2960#vlan database

2960(vlan)#vlan 10 name VLAN10

2960(vlan)#vlan 20 name VLAN20

2960(vlan)#vlan 50 name VLAN50

2960(vlan)#exit

 

##劃分端口給相應vlan

2960#configure terminal

2960(config)#interface range gigabitEthernet 1/0/1-5

2960(config-if-range)#switchport access vlan 10

2960(config-if-range)#switchport mode access

2960(config-if-range)#no shutdown

2960(config-if-range)#exit

2960#configure terminal

2960(config)#interface range gigabitEthernet 1/0/6-10

2960(config-if-range)#switchport access vlan 20

2960(config-if-range)#switchport mode access

2960(config-if-range)#no shutdown

2960(config-if-range)#exit

2960#configure terminal

2960(config)#interface range gigabitEthernet 1/0/11-15

2960(config-if-range)#switchport access vlan 50

2960(config-if-range)#switchport mode access

2960(config-if-range)#no shutdown

2960(config-if-range)#exit

 

##開啓DHCP Snooping功能

2960(config)#ip dhcp snooping

2960(config)#ip dhcp snooping vlan 10,20,50

2960(config)#ip dhcp snooping information option allow-untrusted

2960(config)#ip dhcp snooping database flash:dhcp_snooping.db

2960(config)#ip dhcp snooping database write-delay 30

2960(config)#ip dhcp snooping database timeout 60

2960(config)#errdisable recovery cause dhcp-rate-limit

2960(config)#errdisable recovery interval 30

 

##設置gi0/24爲信任端口並設置爲trunk與3650交換機連接,其它端口自動默認爲非信任端口

2960(config)#interface gigabitEthernet 1/0/24

2960(config-if)#switchport mode trunk

2960(config-if)#ip dhcp snooping trust

 

##設置其它所屬vlan的非信任端口DHCP報文速率爲每秒100個包(端口默認是每秒15個包)

2960(config)#interface range gigabitEthernet 1/0/1-15

2960(config-if-range)#ip dhcp snooping limit rate 100

##設置爲直接轉發

2960(config-if-range)#spanning-tree portfast

 

##顯示與維護

3560#show running-config 

3560#show ip dhcp snooping

3560#show ip dhcp snooping binding

 

 

 

 

 

 

什麼是IPSG

IP 源防護(IP Source Guard,簡稱 IPSG)是一種基於 IP/MAC 的端口流量過濾技術,它可以防止局域網內的 IP 地址欺騙攻擊。

IPSG 能夠確保第 2 層網絡中終端設備的 IP 地址不會被劫持,而且還能確保非授權設備不能通過自己指定 IP 地址的方式來訪問

網絡或攻擊網絡導致網絡崩潰及癱瘓。

 

 

IPSG作用:

1、防止用戶手動配置固定IP地址,造成與信任DHCP  Server(公司DHCP服務器)分配的IP地址衝突。(需要配合DHCP Snooping功能共同實現)

2、實現靜態綁定IP+vlan+端口,同時配合HDCP Snooping功能一起使用可實現動態綁定。

 

標註:IPSG配置參照以上DHCP Snooping配置不變,只要增加以下配置即可:

 

 

2960交換機增加以下配置信息:

 

##信任端口不必配置

2960(config)#interface range gigabitEthernet 1/0/1-15

2960(config-if-range)#ip verify source port-security

 

#交換機允許手動設置IP地址綁定命令,一般綁定了就不能自動獲取,除非DHCP服務器上存在你的IP與MAC綁定信息,否則無法自動獲取IP地址

2960(config)#ip source binding D8:CB:8A:93:24:E5 vlan 20 192.168.20.120 interface gigabitEthernet 1/0/10

 

##顯示與維護

2960#show ip source binding

2960#show ip verify source

 

轉載於:https://www.cnblogs.com/zoulongbin/p/8944196.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章