Cisco環境下解決ARP欺騙問題

2021-08-22 18:52:25 字數 3321 閱讀 5156

因為經常看到網上有看到求助arp病毒防範辦法,其實arp欺騙原理簡單,利用的是arp協議的乙個「缺陷」,免費arp來達到欺騙主機上面的閘道器的arp表項。

arp欺騙就是利用這裡面的第二條,攻擊的主機傳送乙個arp更新,條目的ip位址是閘道器,但是m ac位址一項,卻不是閘道器,當其他主機接受到,會根據arp協議的規則,越新的越可靠的原則,達到欺騙的目的。

雖然arp不是tcp/ip協議簇中的一員,但是鑑於乙太網的大行其道,所以放棄動態arp協議,使用手動方式的來來做arp對映,好像不大現實(個別情況除外)。

一、深入arp協議特徵

我在這裡介紹cisco網路環境下解決這個問題的思路:

其實這裡面使用到了2個技術:dhcp snooping和arp inspection

1、dhcp snooping

dhcp snooping技術是dhcp安全特性,通過建立和維護dhcp snooping繫結表過濾不可信任的dhcp資訊,這些資訊是指來自不信任區域的dhcp資訊。dhcp snooping繫結表包含不信任區域的使用者mac位址、ip位址、租用期、vlan-id 介面等資訊。

當交換機開啟了dhcp-snooping後,會對dhcp報文進行偵聽,並可以從接收到的dhcp request或dhcp ack報文中提取並記錄ip位址和mac位址資訊。另外,dhcp-snooping允許將某個物理埠設定為信任埠或不信任埠。信任埠可以正常接收並**dhcp offer報文,而不信任埠會將接收到的dhcp offer報文丟棄。這樣,可以完成交換機對假冒dhcp server的遮蔽作用,確保客戶端從合法的dhcp server獲取ip位址。

作用:1.dhcp-snooping的主要作用就是隔絕非法的dhcp server,通過配置非信任埠。

2.建立和維護一張dhcp-snooping的繫結表,這張表一是通過dhcp ack包中的ip和mac位址生成的,二是可以手工指定。這張表是後續dai(dynamic arp inspect)和ip source guard 基礎。這兩種類似的技術,是通過這張表來判定ip或者mac位址是否合法,來限制使用者連線到網路的。

配置:switch(config)#ip dhcp snooping

switch(config)#ip dhcp snooping vlan 10

switch(config-if)#ip dhcp snooping limit rate 10

/*dhcp包的**速率,超過就介面就shutdown,預設不限制

switch(config-if)#ip dhcp snooping trust

/*這樣這個埠就變成了信任埠,信任埠可以正常接收並**dhcp offer報文,不記錄ip和mac位址的繫結,預設是非信任埠

switch#ip dhcp snooping binding 0009.3452.3ea4 vlan 7 192.168.10.5 inte***ce gi1/0/10

/*這樣可以靜態ip和mac乙個繫結

switch(config)#ip dhcp snooping database tftp:// 10.1.1.1/dhcp_table

/*因為掉電後,這張繫結表就消失了,所以要選擇乙個儲存的地方,ftp,tftp,flash皆可。本例中的dhcp_table是檔名,而不是資料夾,同時檔名要手工建立乙個

2. arp inspection

1.介紹

dai是以dhcp-snooping的繫結表為基礎來檢查mac位址和ip位址的合法性。

2.配置

switch(config)#ip dhcp snooping vlan 7

switch(config)#ip dhcp snooping information option

/*預設

switch(config)#ip dhcp snooping

switch(config)#ip arp inspection vlan 7

/* 定義對哪些 vlan 進行 arp 報文檢測

switch(config)#ip arp inspection validate src-mac dst-mac ip

/*對源,目mac和ip位址進行檢查

switch(config-if)#ip dhcp snooping limit rate 10

switch(config-if)#ip arp inspection limit rate 15

/* 定義介面每秒 arp 報文數量

switch(config-if)#ip arp inspection trust

/*信任的介面不檢查arp報文,預設是檢測

二.注意點:交換機會錯認受dos攻擊

對於前面dhcp-snooping的繫結表中關於埠部分,是不做檢測的;同時對於已存在於繫結表中的mac和ip對於關係的主機,不管是dhcp獲得,還是靜態指定,只要符合這個表就可以了。如果表中沒有就阻塞相應流量。

在開始應用dynamic arp inspection時,交換機會記錄大量的資料報,當埠通過的資料報過多時,交換機會認為遭受dos攻擊,從而將埠自動errdisable,造成通訊中斷。為了解決這個問題,我們需要加入命令errdisable recovery cause arp-inspection

在cisco網路環境下,boot request在經過了啟用dhcp snooping特性的裝置上時,會在dhcp資料報中插入option 82的選項(具體見rfc3046)

這個時候,boot request中資料報中的gateway ip address:為全0,所以一旦dhcp relay 裝置檢測到這樣的資料報,就會丟棄。

如果dhcp伺服器使用了中繼服務,那需要在閘道器交換機上鍵入如下命令:

方法一:

inter vlan7

ip dhcp relay information trusted

方法二:

switch(config)# ip dhcp relay information trust-all

三.總結:防止非法的arp請求

雖然dhcp snooping是用來防止非法的dhcp server接入的,但是它乙個重要作用是一旦客戶端獲得乙個合法的dhcp offer。啟用dhcp snooping裝置會在相應的介面下面記錄所獲得ip位址和客戶端的mac位址。這個是後面另外乙個技術arp inspection檢測的乙個依據。arp inspection是用來檢測arp請求的,防止非法的arp請求。

認為是否合法的標準的是前面dhcp snooping時建立的那張表。因為那種表是dhcp server正常回應時建立起來的,裡面包括是正確的arp資訊。如果這個時候有arp攻擊資訊,利用arp inspection技術就可以攔截到這個非法的arp資料報。

其實利用這個方法,還可以防止使用者任意修改ip位址,造成位址衝突的問題。

如何解決ARP欺騙攻擊

arp欺騙方式分為二種 第一種 廣播錯誤的閘道器mac,以使pc找到不真正的閘道器.第二種 欺騙閘道器,告訴它錯誤的終端mac,以使資料收不回來.如何判斷網路中已經存在arp攻擊 上網時斷時續 無法ping通閘道器 執行arp d 或者重啟機器以後可以短暫恢復上網,如果存在這幾種情況基本上就可以確定...

linux下的arp欺騙實現

由於畢業設計的需要,我需要在linux下實現arp欺騙,現在將我的一點心得寫下來,因為本人目前也在學習中,希望大家廣提意見,謝謝!首先安裝libpcap,libnet,libnids,compat db,openssl,如果沒有的話請到 在安裝前要注意一下,因為這個dsniff已經很久沒有更新了,所...

linux下防範arp欺騙攻擊

原貼 http blog.chinaunix.net u1 47189 showart 396686.html linux下防範arp欺騙攻擊 rurutiaposted 2007年04月23日 12 17am in linux with tags arp攻擊 前兩天家裡的網斷斷續續,發現有人在用a...