ARP防范技巧
發(fā)表時(shí)間:2023-07-15 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]一、ARP協(xié)議工作原理 在TCP/IP協(xié)議中, 每一個(gè)網(wǎng)絡(luò)結(jié)點(diǎn)是用IP地址標(biāo)識的, IP地址是一個(gè)邏輯地址。 而在以太網(wǎng)中數(shù)據(jù)包是靠48位MAC地址(物理地址)尋址的。 因此, 必須建立IP地...
一、ARP協(xié)議工作原理
在TCP/IP協(xié)議中, 每一個(gè)網(wǎng)絡(luò)結(jié)點(diǎn)是用IP地址標(biāo)識的, IP地址是一個(gè)邏輯地址。 而在以太網(wǎng)中數(shù)據(jù)包是靠48位MAC地址(物理地址)尋址的。 因此, 必須建立IP地址與MAC地址之間的對應(yīng)(映射)關(guān)系, ARP協(xié)議就是為完成這個(gè)工作而設(shè)計(jì)的。
TCP/IP協(xié)議棧維護(hù)著一個(gè)ARP cache表, 在構(gòu)造網(wǎng)絡(luò)數(shù)據(jù)包時(shí), 首先從ARP表中找目標(biāo)IP對應(yīng)的MAC地址, 如果找不到, 就發(fā)一個(gè)ARP request廣播包, 請求具有該IP地址的主機(jī)報(bào)告它的MAC地址, 當(dāng)收到目標(biāo)IP所有者的ARP reply后, 更新ARP cache.ARP cache有老化機(jī)制。
二、ARP協(xié)議的缺陷
ARP協(xié)議是建立在信任局域網(wǎng)內(nèi)所有結(jié)點(diǎn)的基礎(chǔ)上的, 它很高效, 但卻不安全。 它是無狀態(tài)的協(xié)議, 不會檢查自己是否發(fā)過請求包, 也不管(其實(shí)也不知道)是否是合法的應(yīng)答, 只要收到目標(biāo)MAC是自己的ARP reply包或arp廣播包(包括ARP request和ARP reply), 都會接受并緩存。 這就為ARP欺騙提供了可能, 惡意節(jié)點(diǎn)可以發(fā)布虛假的ARP報(bào)文從而影響網(wǎng)內(nèi)結(jié)點(diǎn)的通信, 甚至可以做“中間人”。
三、常見ARP欺騙形式
1、假冒ARP reply包(單播)
XXX, I have IP YYY and my MAC is ZZZ!
2、假冒ARP reply包(廣播)
Hello everyone! I have IP YYY and my MAC is ZZZ!
向所有人散布虛假的IP/MAC
3、假冒ARP request(廣播)
I have IP XXX and my MAC is YYY.
Who has IP ZZZ? tell me please!
表面為找IP ZZZ的MAC, 實(shí)際是廣播虛假的IP、MAC映射(XXX, YYY)
4、假冒ARP request(單播)
已知IP ZZZ的MAC
Hello IP ZZZ! I have IP XXX and my MAC is YYY.
5、假冒中間人
欺騙主機(jī)(MAC為MMM)上啟用包轉(zhuǎn)發(fā)
向主機(jī)AAA發(fā)假冒ARP Reply:
AAA, I have IP BBB and my MAC is MMM,
向主機(jī)BBB發(fā)假冒ARP Reply:
BBB, I have IP AAA and my MAC is MMM
由于ARP Cache的老化機(jī)制, 有時(shí)還需要做周期性連續(xù)欺騙。 四、ARP欺騙的防范
1、運(yùn)營商可采用Super VLAN或PVLAN技術(shù)
所謂Super VLAN也叫VLAN聚合, 工具下載:www.arpun.com 這種技術(shù)在同一個(gè)子網(wǎng)中化出多個(gè)Sub VLAN, 而將整個(gè)IP子網(wǎng)指定為一個(gè)VLAN聚合(Super VLAN), 所有的Sub VLAN都使用Super VLAN的默認(rèn)網(wǎng)關(guān)IP地址, 不同的Sub VLAN仍保留各自獨(dú)立的廣播域。 子網(wǎng)中的所有主機(jī)只能與自己的默認(rèn)網(wǎng)關(guān)通信。 如果將交換機(jī)或IP DSLAM設(shè)備的每個(gè)端口化為一個(gè)Sub VLAN, 則實(shí)現(xiàn)了所有端口的隔離, 也就避免了ARP欺騙。
PVLAN即私有VLAN(Private VLAN) , PVLAN采用兩層VLAN隔離技術(shù), 只有上層VLAN全局可見, 下層VLAN相互隔離。 如果將交換機(jī)或IP DSLAM設(shè)備的每個(gè)端口化為一個(gè)(下層)VLAN, 則實(shí)現(xiàn)了所有端口的隔離。
PVLAN和SuperVLAN技術(shù)都可以實(shí)現(xiàn)端口隔離, 但實(shí)現(xiàn)方式、出發(fā)點(diǎn)不同。 PVLAN是為了節(jié)省VLAN, 而SuperVlan的初衷是節(jié)省IP地址。
2、單位局域網(wǎng)可采用IP與MAC綁定
在PC上IP+MAC綁, 網(wǎng)絡(luò)設(shè)備上IP+MAC+端口綁。 但不幸的是Win 98/me、未打arp補(bǔ)丁的win 2000/xp sp1(現(xiàn)在大多都已經(jīng)打過了)等系統(tǒng) 使用arp -s所設(shè)置的靜態(tài)ARP項(xiàng)還是會被ARP欺騙所改變。
如果網(wǎng)絡(luò)設(shè)備上只做IP+MAC綁定, 其實(shí)也是不安全的, 假如同一二層下的某臺機(jī)器發(fā)偽造的arp reply(源ip和源mac都填欲攻擊的那臺機(jī)子的)給網(wǎng)關(guān), 還是會造成網(wǎng)關(guān)把流量送到欺騙者所連的那個(gè)(物理)端口從而造成網(wǎng)絡(luò)不通。
對于采用了大量傻瓜交換機(jī)的局域網(wǎng), 用戶自己可以采取支持arp過濾的防火墻等方法。 推薦Look ‘n’Stop防火墻, 支持arp協(xié)議規(guī)則自定義。
最后就是使用ARPGuard啦(才拉到正題上), 但它只是保護(hù)主機(jī)和網(wǎng)關(guān)間的通訊。
五、ARPGuard的原理
ARPGuard可以保護(hù)主機(jī)和網(wǎng)關(guān)的通訊不受ARP欺騙的影響。
1、第一次運(yùn)行(或檢測到網(wǎng)關(guān)IP改變)時(shí)獲取網(wǎng)關(guān)對應(yīng)的MAC地址, 將網(wǎng)卡信息、網(wǎng)關(guān)IP、網(wǎng)關(guān)MAC等信息保存到配置文件中, 其他時(shí)候直接使用配置文件。
2、移去原默認(rèn)路由(當(dāng)前網(wǎng)卡的)
3、產(chǎn)生一個(gè)隨機(jī)IP, 將它添加成默認(rèn)網(wǎng)關(guān)。
4、默認(rèn)網(wǎng)關(guān)IP 和網(wǎng)關(guān)的MAC綁定(使用DeleteIpNetEntry和CreateIpNetEntry修改ARP Cache表項(xiàng))
5、周期性檢測ARP Cache中原默認(rèn)網(wǎng)關(guān)(不是隨機(jī)IP那個(gè)) 網(wǎng)關(guān)的MAC在ARP Cache的值是否被改寫, 若被改寫就報(bào)警。
6、針對有些攻擊程序只給網(wǎng)關(guān)設(shè)備(如路由器或三層交換機(jī))發(fā)欺騙包的情況。 由于此時(shí)本機(jī)ARP Cache中網(wǎng)關(guān)MAC并未被改變, 因此只有主動(dòng)防護(hù), 即默認(rèn)每秒發(fā)10個(gè)ARP reply包來維持網(wǎng)關(guān)設(shè)備的ARP Cache(可選)
7、程序結(jié)束時(shí)恢復(fù)默認(rèn)網(wǎng)關(guān)和路由。
值得說明的是程序中限定了發(fā)包間隔不低于100ms, 主要是怕過量的包對網(wǎng)絡(luò)設(shè)備造成負(fù)擔(dān)。 如果你遭受的攻擊太猛烈, 你也可以去掉這個(gè)限制, 設(shè)定一個(gè)更小的數(shù)值, 保證你的通訊正常。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費(fèi)電腦中毒的煩擾。