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