CISCO 防止ARP

  創建時間:2010-01-01
文章屬性:轉載
文章來源:不詳
文章提交:Mohe

作者:不詳

因爲經常看到論壇裏面有看到求助ARP病毒防範辦法,其實ARP欺騙原理簡單,利用的是ARP協議的一個缺陷,免費ARP來達到欺騙主機上面的網關的arp表項的。
其實免費ARP當時設計出來是爲了2個作用的:
1
IP地址衝突檢測
2
ARP條目自動更新,更新網關。
arp
欺騙就是利用這裏面的第二條,***的主機發送一個arp更新,條目的ip地址是網關,但是mac地址一項,卻不是網關,當其他主機接受到,會根據arp協議的規則,越新的越可靠的原則,達到欺騙的目的。
雖然arp不是tcp/ip協議簇中的一員,但是鑑於以太網的大行其道,所以放棄動態ARP協議,使用手動方式的來來做arp映射,好像不大現實(個別情況除外)。

我在這裏介紹cisco網絡環境下解決這個問題的思路:
其實這裏面使用到了2技術dhcp snoopingARP inspection
.dhcp snooping
DHCPSnooping
技術是DHCP安全特性,通過建立和維護DHCPSnooping綁定表過濾不可信任的DHCP信息,這些信息是指來自不信任區域的DHCP信息。DHCPSnooping綁定表包含不信任區域的用戶MAC地址、IP地址、租用期、VLAN-ID 接口等信息。
   
交換機開啓了DHCP-Snooping後,會對DHCP報文進行偵聽,並可以從接收到的DHCP RequestDHCPAck報文中提取並記錄IP地址和MAC地址信息。另外,DHCP-Snooping允許將某個物理端口設置爲信任端口或不信任端口。信任端口可以正常接收並轉發DHCP Offer報文,而不信任端口會將接收到的DHCP Offer報文丟棄。這樣,可以完成交換機對假冒DHCPServer的屏蔽作用,確保客戶端從合法的DHCP Server獲取IP地址。
作用:
1.dhcp-snooping
的主要作用就是隔絕非法的dhcp server,通過配置非信任端口。
2.
建立和維護一張dhcp-snooping的綁定表,這張表一是通過dhcpack包中的ipmac地址生成的,二是可以手工指定。這張表是後續DAIdynamic arp inspect)和IP SourceGuard基礎。這兩種類似的技術,是通過這張表來判定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報文,不記錄ipmac地址的綁定,默認是非信任端口
switch#ip dhcp snooping binding 0009.3452.3ea4 vlan 7 192.168.10.5 interface gi1/0/10

/*這樣可以靜態ipmac一個綁定
switch
config#ip dhcp snooping database tftp:// 10.1.1.1/dhcp_table
/*
因爲掉電後,這張綁定表就消失了,所以要選擇一個保存的地方,ftptftpflash皆可。本例中的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
/*
對源,目macip地址進行檢查
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報文,默認是檢測
3.
注意點
   
對於前面dhcp-snooping的綁定表中關於端口部分,是不做檢測的;同時對於已存在於綁定表中的macip對於關係的主機,不管是dhcp獲得,還是靜態指定,只要符合這個表就可以了。如果表中沒有就阻塞相應流量
   
在開始應用Dynamic ARPInspection時,交換機會記錄大量的數據包,當端口通過的數據包過多時,交換機會認爲遭受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

.總結
雖然dhcp snooping是用來防止非法的dhcp server接入的,但是它一個重要作用是一旦客戶端獲得一個合法的dhcpoffer。啓用dhcp snooping設備會在相應的接口下面記錄所獲得IP地址和客戶端的mac地址。這個是後面另外一個技術ARPinspection檢測的一個依據。ARPinspection是用來檢測arp請求的,防止非法的ARP請求。認爲是否合法的標準的是前面dhcpsnooping時建立的那張表。因爲那種表是dhcpserver正常回應時建立起來的,裏面包括是正確的arp信息。如果這個時候有arp***信息,利用ARPinspection技術就可以攔截到這個非法的arp數據包。
其實利用這個方法,還可以防止用戶任意修改IP地址,造成地址衝突的問題

 

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