萬盛學電腦網

 萬盛學電腦網 >> 網絡基礎知識 >> 局域網內如何防止ARP欺騙

局域網內如何防止ARP欺騙

一、理論前提
    本著“不冤枉好人,不放過一個壞人的原則”,先說說我的一些想法和理論依據。首先,大家肯定發送ARP欺騙包肯定是一個惡毒的程序自動發送的,正常的TCP/IP網絡是不會有這樣的錯誤包發送的(板磚扔了過來啊,廢話!)。這就假設,如果犯罪嫌疑人沒有啟動這個破壞程序的時候,網絡環境是正常的,或者說網絡的ARP環境是正常的,如果我們能在犯罪嫌疑人啟動這個犯罪程序的第一時間,一開始就發現了他的犯罪活動,那麼就是人贓俱在,不可抵賴了,因為剛才提到,前面網絡正常的時候證據是可信和可依靠的。好,接下來我們談論如何在第一時間發現他的犯罪活動。
    ARP欺騙的原理如下:
    假設這樣一個網絡,一個Hub接了3台機器
    HostA HostB HostC 其中
    A的地址為:IP:192.168.10.1 MAC: AA-AA-AA-AA-AA-AA
    B的地址為:IP:192.168.10.2 MAC: BB-BB-BB-BB-BB-BB
    C的地址為:IP:192.168.10.3 MAC: CC-CC-CC-CC-CC-CC
    正常情況下 C:\arp -a
    Interface: 192.168.10.1 on Interface 0x1000003
    Internet Address Physical Address Type
    192.168.10.3 CC-CC-CC-CC-CC-CC dynamic
    現在假設HostB開始了罪惡的ARP欺騙:
    B向A發送一個自己偽造的ARP應答,而這個應答中的數據為發送方IP地址是192.168.10.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本來應該是CC-CC-CC-CC-CC-CC,這裡被偽造了)。當A接收到B偽造的ARP應答,就會更新本地的ARP緩存(A可不知道被偽造了)。而且A不知道其實是從B發送過來的,A這裡只有192.168.10.3(C的IP地址)和無效的DD-DD-DD-DD-DD-DD mac地址,沒有和犯罪分子B相關的證據,哈哈,這樣犯罪分子豈不樂死了。
    現在A機器的ARP緩存更新了:
    C:\>arp -a
    Interface: 192.168.10.1 on Interface 0x1000003
    Internet Address Physical Address Type
    192.168.10.3 DD-DD-DD-DD-DD-DD dynamic
    這可不是小事。局域網的網絡流通可不是根據IP地址進行,而是按照MAC地址進行傳輸。現在192.168.10.3的MAC地址在A上被改變成一個本不存在的MAC地址。現在A開始Ping 192.168.10.3,網卡遞交的MAC地址是DD-DD-DD-DD-DD-DD,結果是什麼呢?網絡不通,A根本不能Ping通C!!
    所以,局域網中一台機器,反復向其他機器,特別是向網關,發送這樣無效假冒的ARP應答信息包,NND,嚴重的網絡堵塞就開始了!網吧管理員的噩夢開始了。我的目標和任務,就是第一時間,抓住他。不過從剛才的表述好像犯罪分子完美的利用了以太網的缺陷,掩蓋了自己的罪行。但其實,以上方法也有留下了蛛絲馬跡。盡管,ARP數據包沒有留下HostB的地址,但是,承載這個ARP包的ethernet幀卻包含了HostB的源地址。而且,正常情況下ethernet數據幀中,幀頭中的MAC源地址/目標地址應該和幀數據包中ARP信息配對,這樣的ARP包才算是正確的。如果不正確,肯定是假冒的包,可以提醒!但如果匹配的話,也不一定代表正確,說不定偽造者也考慮到了這一步,而偽造出符合格式要求,但內容假冒的ARP數據包。不過這樣也沒關系,只要網關這裡擁有本網段所有MAC地址的網卡數據庫,如果和Mac數據庫中數據不匹配也是假冒的ARP數據包。也能提醒犯罪分子動手了。[nextpage]
    二、防范措施
    1. 建立DHCP服務器(建議建在網關上,因為DHCP不占用多少CPU,而且ARP欺騙攻擊一般總是先攻擊網關,我們就是要讓他先攻擊網關,因為網關這裡有監控程序的,網關地址建議選擇192.168.10.2 ,把192.168.10.1留空,如果犯罪程序愚蠢的話讓他去攻擊空地址吧),另外所有客戶機的IP地址及其相關主機信息,只能由網關這裡取得,網關這裡開通DHCP服務,但是要給每個網卡,綁定固定唯一IP地址。一定要保持網內的機器IP/MAC一一對應的關系。這樣客戶機雖然是DHCP取地址,但每次開機的IP地址都是一樣的。
    2. 建立MAC數據庫,把網吧內所有網卡的MAC地址記錄下來,每個MAC和IP、地理位置統統裝入數據庫,以便及時查詢備案。
    3. 網關機器關閉ARP動態刷新的過程,使用靜態路郵,這樣的話,即使犯罪嫌疑人使用ARP欺騙攻擊網關的話,這樣對網關也是沒有用的,確保主機安全。
    網關建立靜態IP/MAC捆綁的方法是:建立/etc/ethers文件,其中包含正確的IP/MAC對應關系,格式如下:
    192.168.2.32 08:00:4E:B0:24:47
    然後再/etc/rc.d/rc.local最後添加:
    arp -f 生效即可

copyright © 萬盛學電腦網 all rights reserved