Cisco環(huán)境下解決ARP欺騙問題
本文主要給大家詳細(xì)的介紹了CISCO環(huán)境下,如何解決ARP欺騙的問題,那么我們?cè)撊绾谓鉀Q呢?下面的文章給出了詳細(xì)的解答。
因?yàn)榻?jīng)常看到網(wǎng)上有看到求助ARP病毒防范辦法,其實(shí)ARP欺騙原理簡(jiǎn)單,利用的是ARP協(xié)議的一個(gè)“缺陷”,免費(fèi)ARP來達(dá)到欺騙主機(jī)上面的網(wǎng)關(guān)的ARP表項(xiàng)。
其實(shí)免費(fèi)ARP當(dāng)時(shí)設(shè)計(jì)出來是為了2個(gè)作用的:
1,IP地址沖突檢測(cè)
2,ARP條目自動(dòng)更新,更新網(wǎng)關(guān)。
ARP欺騙就是利用這里面的第二條,攻擊的主機(jī)發(fā)送一個(gè)ARP更新,條目的ip地址是網(wǎng)關(guān),但是MAC地址一項(xiàng),卻不是網(wǎng)關(guān),當(dāng)其他主機(jī)接受到,會(huì)根據(jù)ARP協(xié)議的規(guī)則,越新的越可靠的原則,達(dá)到欺騙的目的。
雖然ARP不是tcp/ip協(xié)議簇中的一員,但是鑒于以太網(wǎng)的大行其道,所以放棄動(dòng)態(tài)ARP協(xié)議,使用手動(dòng)方式的來來做ARP映射,好像不大現(xiàn)實(shí)(個(gè)別情況除外)。
一、深入ARP協(xié)議特征
我在這里介紹Cisco網(wǎng)絡(luò)環(huán)境下解決這個(gè)問題的思路:
其實(shí)這里面使用到了2個(gè)技術(shù):DHCP snooping和ARP inspection
1、DHCP snooping
DHCP Snooping技術(shù)是DHCP安全特性,通過建立和維護(hù)DHCP Snooping綁定表過濾不可信任的DHCP信息,這些信息是指來自不信任區(qū)域的DHCP信息。DHCP Snooping綁定表包含不信任區(qū)域的用戶MAC地址、IP地址、租用期、VLAN-ID 接口等信息。
當(dāng)交換機(jī)開啟了DHCP-Snooping后,會(huì)對(duì)DHCP報(bào)文進(jìn)行偵聽,并可以從接收到的DHCP Request或DHCP Ack報(bào)文中提取并記錄IP地址和MAC地址信息。另外,DHCP-Snooping允許將某個(gè)物理端口設(shè)置為信任端口或不信任端口。信任端口可以正常接收并轉(zhuǎn)發(fā)DHCP Offer報(bào)文,而不信任端口會(huì)將接收到的DHCP Offer報(bào)文丟棄。這樣,可以完成交換機(jī)對(duì)假冒DHCP Server的屏蔽作用,確??蛻舳藦暮戏ǖ腄HCP Server獲取IP地址。
作用:
1.DHCP-snooping的主要作用就是隔絕非法的DHCP server,通過配置非信任端口。
2.建立和維護(hù)一張DHCP-snooping的綁定表,這張表一是通過DHCP ack包中的ip和MAC地址生成的,二是可以手工指定。這張表是后續(xù)DAI(dynamic ARP inspect)和IP Source Guard 基礎(chǔ)。這兩種類似的技術(shù),是通過這張表來判定ip或者M(jìn)AC地址是否合法,來限制用戶連接到網(wǎng)絡(luò)的。
配置:
switch(config)#ip DHCP snooping
switch(config)#ip DHCP snooping vlan 10
switch(config-if)#ip DHCP snooping limit rate 10
/*DHCP包的轉(zhuǎn)發(fā)速率,超過就接口就shutdown,默認(rèn)不限制
switch(config-if)#ip DHCP snooping trust
/*這樣這個(gè)端口就變成了信任端口,信任端口可以正常接收并轉(zhuǎn)發(fā)DHCP Offer報(bào)文,不記錄ip和MAC地址的綁定,默認(rèn)是非信任端口
switch#ip DHCP snooping binding 0009.3452.3ea4 vlan 7 192.168.10.5 interface gi1/0/10
/*這樣可以靜態(tài)ip和MAC一個(gè)綁定
switch(config)#ip DHCP snooping database tftp:// 10.1.1.1/DHCP_table
/*因?yàn)榈綦姾?,這張綁定表就消失了,所以要選擇一個(gè)保存的地方,ftp,tftp,flash皆可。本例中的DHCP_table是文件名,而不是文件夾,同時(shí)文件名要手工創(chuàng)建一個(gè)
2. ARP inspection
1.介紹
DAI是以DHCP-snooping的綁定表為基礎(chǔ)來檢查MAC地址和ip地址的合法性。
2.配置
switch(config)#ip DHCP snooping vlan 7
switch(config)#ip DHCP snooping information option
/*默認(rèn)
switch(config)#ip DHCP snooping
switch(config)#ip ARP inspection vlan 7
/* 定義對(duì)哪些 VLAN 進(jìn)行 ARP 報(bào)文檢測(cè)
switch(config)#ip ARP inspection validate src-MAC dst-MAC ip
/*對(duì)源,目MAC和ip地址進(jìn)行檢查
switch(config-if)#ip DHCP snooping limit rate 10
switch(config-if)#ip ARP inspection limit rate 15
/* 定義接口每秒 ARP 報(bào)文數(shù)量
switch(config-if)#ip ARP inspection trust
/*信任的接口不檢查ARP報(bào)文,默認(rèn)是檢測(cè)
二.注意點(diǎn):交換機(jī)會(huì)錯(cuò)認(rèn)受DoS攻擊
對(duì)于前面DHCP-snooping的綁定表中關(guān)于端口部分,是不做檢測(cè)的;同時(shí)對(duì)于已存在于綁定表中的MAC和ip對(duì)于關(guān)系的主機(jī),不管是DHCP獲得,還是靜態(tài)指定,只要符合這個(gè)表就可以了。如果表中沒有就阻塞相應(yīng)流量。
在開始應(yīng)用Dynamic ARP Inspection時(shí),交換機(jī)會(huì)記錄大量的數(shù)據(jù)包,當(dāng)端口通過的數(shù)據(jù)包過多時(shí),交換機(jī)會(huì)認(rèn)為遭受DoS攻擊,從而將端口自動(dòng)errdisable,造成通信中斷。為了解決這個(gè)問題,我們需要加入命令errdisable recovery cause ARP-inspection
在Cisco網(wǎng)絡(luò)環(huán)境下,boot request在經(jīng)過了啟用DHCP SNOOPING特性的設(shè)備上時(shí),會(huì)在DHCP數(shù)據(jù)包中插入option 82的選項(xiàng)(具體見RFC3046)
這個(gè)時(shí)候,boot request中數(shù)據(jù)包中的gateway ip address:為全0,所以一旦DHCP relay 設(shè)備檢測(cè)到這樣的數(shù)據(jù)包,就會(huì)丟棄。
如果DHCP服務(wù)器使用了中繼服務(wù),那需要在網(wǎng)關(guān)交換機(jī)上鍵入如下命令:
方法一:
inter vlan7
ip DHCP relay information trusted
方法二:
switch(config)# ip DHCP relay information trust-all
三.總結(jié):防止非法的ARP請(qǐng)求
雖然DHCP snooping是用來防止非法的DHCP server接入的,但是它一個(gè)重要作用是一旦客戶端獲得一個(gè)合法的DHCP offer。啟用DHCP snooping設(shè)備會(huì)在相應(yīng)的接口下面記錄所獲得IP地址和客戶端的MAC地址。這個(gè)是后面另外一個(gè)技術(shù)ARP inspection檢測(cè)的一個(gè)依據(jù)。ARP inspection是用來檢測(cè)ARP請(qǐng)求的,防止非法的ARP請(qǐng)求。
認(rèn)為是否合法的標(biāo)準(zhǔn)的是前面DHCP snooping時(shí)建立的那張表。因?yàn)槟欠N表是DHCP server正常回應(yīng)時(shí)建立起來的,里面包括是正確的ARP信息。如果這個(gè)時(shí)候有ARP攻擊信息,利用ARP inspection技術(shù)就可以攔截到這個(gè)非法的ARP數(shù)據(jù)包。
其實(shí)利用這個(gè)方法,還可以防止用戶任意修改IP地址,造成地址沖突的問題。