對ARP協(xié)議欺騙攻擊堅決說不!
在我們使用局域網(wǎng)的時候很容易受到ARP協(xié)議欺騙攻擊。那么如何有效防止這個問題的發(fā)生呢?本文就將為大家闡述一下這方面的原理。那么,其實防止攻擊的方法有很多。本文根據(jù)筆者的經(jīng)驗為大家介紹如何來防止ARP欺騙,文章所說的這些方法對網(wǎng)吧或普通局域網(wǎng)都是適用的。企業(yè)可以通過發(fā)布網(wǎng)絡(luò)管理制度來禁止ARP欺騙問題的發(fā)生,發(fā)現(xiàn)有欺騙者和獎金等效益掛鉤。但是網(wǎng)吧不同于企業(yè),來使用計算機和網(wǎng)絡(luò)的都是顧客,也就是“上帝",我們不可能對他們的行為做過多的約束,所以唯一能做的就是從技術(shù)上盡最大可能約束和檢查ARP欺騙的來源。
一,sniffer檢測法:
sniffer是網(wǎng)絡(luò)管理的好工具,網(wǎng)絡(luò)中傳輸?shù)乃袛?shù)據(jù)包都可以通過sniffer來檢測。同樣ARP協(xié)議欺騙攻擊數(shù)據(jù)包也逃不出sniffer的監(jiān)測范圍。
一般來說ARP欺騙數(shù)據(jù)包沒有留下發(fā)送虛假信息的主機地址,但是承載這個ARP包的ethernet幀卻包含了他的源地址。而且正常情況下ethernet數(shù)據(jù)幀中,幀頭里的MAC源地址/目標(biāo)地址應(yīng)該和幀數(shù)據(jù)包中ARP信息配對,這樣的ARP包才算是正確的。如果不正確,肯定是假冒的包,當(dāng)然如果匹配的話,我們也不能過于放松,一樣不能代表是正確的,另外通過檢測到的數(shù)據(jù)包再結(jié)合網(wǎng)關(guān)這里擁有的本網(wǎng)段所有MAC地址網(wǎng)卡數(shù)據(jù)庫,看看哪個和Mac數(shù)據(jù)庫中數(shù)據(jù)不匹配,這樣就可以找到假冒的ARP數(shù)據(jù)包,并進一步找到兇手了。
關(guān)于MAC地址網(wǎng)卡數(shù)據(jù)庫可以在第一次裝系統(tǒng)的時候進行記錄,將網(wǎng)吧座位號與MAC地址等信息做一個對應(yīng)表格。查看MAC地址的方法是通過“開始->運行",進入命令提示窗口,然后輸入ipconfig /all。在physical address的右邊就是相應(yīng)網(wǎng)卡的MAC地址。
二,DHCP結(jié)合靜態(tài)捆綁法:
要想徹底避免ARP協(xié)議欺騙攻擊的發(fā)生,我們需要讓各個計算機的MAC地址與IP地址唯一且相對應(yīng)。雖然我們可以通過為每臺計算機設(shè)置IP地址的方法來管理網(wǎng)絡(luò),但是遇到那些通過ARP欺騙非法攻擊的用戶來說,他可以事先自己手動更改IP地址,這樣檢查起來就更加復(fù)雜了,所以說保證每臺計算機的MAC地址與IP地址唯一是避免ARP欺騙現(xiàn)象發(fā)生的前提。
(1)建立DHCP服務(wù)器保證MAC地址與IP地址唯一性:
首先我們可以在windows 2000 server或其他服務(wù)器版操作系統(tǒng)上啟用DHCP服務(wù),為網(wǎng)吧建立一個DHCP服務(wù)器,一般來說建議在網(wǎng)關(guān)上搭建。因為DHCP不占用多少CPU,而且ARP協(xié)議欺騙攻擊一般總是先攻擊網(wǎng)關(guān),攻擊網(wǎng)關(guān)的同時由于網(wǎng)關(guān)這里有監(jiān)控程序,所以可以在第一時間發(fā)現(xiàn)攻擊行為。當(dāng)然為了減少攻擊的發(fā)生機率我們也可以把網(wǎng)關(guān)地址設(shè)置為網(wǎng)段的第二個地址,例如192.168.1.2,把192.168.1.另外所有客戶機的IP地址及其相關(guān)主機信息,只能由網(wǎng)關(guān)這里取得,網(wǎng)關(guān)這里開通DHCP服務(wù),但是要給每個網(wǎng)卡,綁定固定唯一IP地址。一定要保持網(wǎng)內(nèi)的機器IP/MAC一一對應(yīng)的關(guān)系。這樣客戶機雖然是DHCP取地址,但每次開機的IP地址都是一樣的。以上這些綁定關(guān)系可以通過DHCP的地址池來解決,或者將客戶端獲得IP等網(wǎng)絡(luò)參數(shù)信息的租約設(shè)置為一個非常長的時間,例如一年或者無限時間,這樣在此時間段里只要MAC地址不變,客戶端獲得的IP地址也是不變的。
(2)建立MAC地址數(shù)據(jù)庫:
把網(wǎng)吧內(nèi)所有網(wǎng)卡的MAC地址記錄下來,每個MAC和IP、地理位置統(tǒng)統(tǒng)裝入數(shù)據(jù)庫,以便及時查詢備案。可以以EXCEL表格的形式,也可是保存成數(shù)據(jù)庫文件。
(3)禁止ARP動態(tài)更新:
為了防止網(wǎng)關(guān)被隨意攻擊,我們還需要在網(wǎng)關(guān)機器上關(guān)閉ARP動態(tài)刷新功能,這樣的話,即使非法用戶使用ARP協(xié)議欺騙攻擊網(wǎng)關(guān)的話,對網(wǎng)關(guān)是無效的,從而確保主機安全。在網(wǎng)關(guān)上建立靜態(tài)IP/MAC捆綁的方法如下。
第一步:建立/etc/ethers文件,其中包含正確的IP/MAC對應(yīng)關(guān)系,格式為192.168.2.32 08:00:4E:B0:24:47。
第二步:然后在/etc/rc.d/rc.local最后添加arp -f生效即可。
上面這個禁止ARP動態(tài)更新的方法是針對Linux系統(tǒng)而言的。
(4)網(wǎng)關(guān)監(jiān)測:
在網(wǎng)關(guān)上面使用TCPDUMP程序截取每個ARP程序包,弄一個腳本分析軟件分析這些ARP協(xié)議。ARP欺騙攻擊的包一般有以下兩個特點,滿足之一就可以視為攻擊包報警,第一是以太網(wǎng)數(shù)據(jù)包頭的源地址、目標(biāo)地址和ARP數(shù)據(jù)包的協(xié)議地址不匹配。第二是ARP數(shù)據(jù)包的發(fā)送和目標(biāo)地址不在自己網(wǎng)絡(luò)網(wǎng)卡MAC數(shù)據(jù)庫內(nèi),或者與自己網(wǎng)絡(luò)MAC數(shù)據(jù)庫MAC/IP不匹配。我們也可以通過腳本分析軟件實現(xiàn)自動報警功能,最后查這些數(shù)據(jù)包(以太網(wǎng)數(shù)據(jù)包)的源地址就大致知道那臺機器在發(fā)起攻擊了。
三,總結(jié):
ARP欺騙是目前網(wǎng)絡(luò)管理,特別是局域網(wǎng)管理中最讓人頭疼的攻擊,他的攻擊技術(shù)含量低,隨便一個人都可以通過攻擊軟件來完成ARP欺騙攻擊。同時防范ARP欺騙也沒有什么特別有效的方法。目前只能通過被動的亡羊補牢形式的措施了。本文介紹的兩個方法都是針對ARP協(xié)議欺騙防范的,希望對讀者有所幫助。當(dāng)然很多網(wǎng)絡(luò)管理軟件開發(fā)公司都推出了自己的防范ARP協(xié)議欺騙攻擊的產(chǎn)品,這些產(chǎn)品良莠不齊,大家選擇時更要仔細。