引言:在管理維護局域網的過程中,ARP攻擊讓人十分頭疼,因為它的技術含量比較低,非法用戶能隨意使用攻擊工具,來實施這種攻擊操作。本文特意從局域網的網關設備著手,來采取更有針對性的措施來預防網絡ARP攻擊現象。
在管理維護局域網的過程中,ARP攻擊讓人十分頭疼,因為它的技術含量比較低,非法用戶能隨意使用攻擊工具,來實施這種攻擊操作。ARP攻擊,是針對以太網地址解析協議的一種攻擊技術??勺尮粽呷〉镁钟蚓W上的數據封包,可讓網絡上特定計算機或所有計算機無法正常連接為了避免這種攻擊現象,影響局域網的運行穩定性,可以采取的ARP攻擊預防措施各式各樣,但有很多措施無法實現長期穩定的抑制效果。有鑒于此,本文特意從局域網的網關設備著手,來采取更有針對性的措施來預防網絡ARP攻擊現象。
大家知道,網關設備中一般都擁有特定子網里所有計算機的MAC地址數據庫,這些MAC地址來源都是真實的。而ARP攻擊數據包常常通過偽造假冒IP地址的方法,來實施非法攻擊目的,不過承載ARP攻擊數據包的ethernet幀卻包含了它的源地址,如果能夠借助外力工具偵測到它的源地址,再與網關設備中的真實MAC源地址進行比對,一旦發現它們相互不匹配,那就能揪出偽造的ARP數據包,并進一步定位到攻擊源頭了。
在初次組網時,網關設備中的MAC地址數據庫內容,往往需要網絡管理員自行采集添加。在獲得局域網中每臺終端計算機與MAC地址的對應關系時,只要依次單擊“開始”、“運行”命令,彈出系統運行對話框,輸入“cmd”命令,切換到DOS命令行工作窗口。在該窗口命令提示符狀態下,輸入字符串命令“ipconfig /all”,單擊回車鍵后,就能從如圖1所示結果界面中,查看到相關網卡設備的MAC地址和IP地址了。接著將獲取到的數據添加到MAC地址數據庫中。

圖1 結果界面

圖2 選項設置頁面
完善好網關中的MAC地址數據庫內容后,一旦懷疑網絡中存在ARP攻擊現象時,可以借助外力工具,來對網絡中傳輸的所有數據包進行掃描探測。例如,十分常用的探測工具就是“Sniffer”工具,任何ARP攻擊數據包都逃不出它的探測范圍。在進行探測操作時,只要先從網上下載安裝好“Sniffer”工具,同時進行一系列的鏡像配置操作,之后在局域網的交換機鏡像端口上,對不同工作子網數據進行持續十多分鐘的抓包分析。在該工具的儀表標簽頁面中,就能直觀看到整個網絡的帶寬利用率,在該工具的矩陣標簽頁面中,可以看到哪個MAC地址的終端計算機,消耗的出口帶寬流量比較大,也可以看到許多信息包都不約而同來自相同的某個網卡MAC地址。如果從探測到數據中,分析出ethernet數據幀中的MAC源地址/目標地址,與幀數據包中ARP內容不匹配,基本就認為該ARP包是攻擊數據包。這時,再根據網關設備的MAC數據庫中內容,快速找到ARP攻擊包,并采取相關措施防止ARP數據包的繼續攻擊。
如果想有效預防ARP攻擊現象的出現,最好的辦法就是讓局域網中每臺終端計算機的MAC地址與IP地址保持固定且匹配。但在使用靜態IP地址管理網絡的工作環境中,一些狡猾的非法用戶,常常會自己手動更改IP地址,來實現ARP欺騙非法攻擊目的。有鑒于此,我們可以在網關設備上部署DHCP服務器,通過它的動態地址分配功能,強制保證終端計算機的MAC地址與IP地址惟一性。
這種部署不但安全防護效果好,而且也不影響網關設備的運行性能,畢竟ARP病毒攻擊往往都是先攻擊網關,而網關中的安全監管工具能及時發現攻擊行為,而且DHCP服務器的部署也不會消耗多少CPU資源。例如,在寬帶路由器中部署DHCP服務器時,操作很簡單,只要在對應設備后臺系統,找到DHCP服務選項,進入對應選項設置頁面,選中“DHCP服務器”位置處的“啟用”選項(如圖2所示),再依次設置好地址池開始地址、地址池結束地址、地址租期、網關地址、DNS服務器地址等參數,保存設置后重新啟動網關設備,就能讓DHCP服務器正式生效了。值得注意的是,這里的地址租期參數可以設置為一個十分長的時間,比方說3年甚至無限時間,這樣在這個時間段里,只要終端計算機的網卡MAC地址不變,對應系統獲得的IP地址也是始終不變的。

圖3 靜態地址分配設置頁面

圖4 屬性對話框
部署好DHCP服務器后,還需要利用它的靜態地址分配功能,將每個網卡的IP地址綁定到它的MAC地址上,確保終端系統的MAC地址與IP地址惟一匹配性。在網關設備后臺系統,打開DHCP服務器的靜態地址分配設置頁面(如圖3所示),單擊“添加新條目”按鈕,在其后界面中,依次輸入每個網卡的IP地址和它的MAC地址即可。
最后需要依次設置局域網終端系統,讓它們只能從網關的DHCP服務器那里,獲取IP地址及其相關主機信息。例如,在Win7系統中,要設置使用動態地址方式上網時,可以依次單擊“開始”、“控制面板”命令,打開系統控制面板窗口,按下“更改適配器設置”按鈕,在其后界面中選中“本地連接”圖標,打開它的右鍵菜單,點選“屬性”命令,進入本地連接屬性對話框。選中“Internet協議版本4(TCP/IPv4)”選項,單擊“屬性”按鈕,切換到如圖4所示的屬性對話框,將這里的“自動獲得 IP地址”、“自動獲得DNS服務器地址”選項選中,單擊“確定”按鈕保存設置操作,這樣終端計算機就能自動從DHCP服務器那里申請上網參數了。還有一點需要說明的是,為了降低ARP欺騙攻擊的發生機率,建議大家將網關設備的IP地址輸入為特定工作子網的第二個地址,比方說,對于10.176.0.1虛擬工作子網來說,網關設備地址可以輸入為10.176.0.2,而不要輕易使用10.176.0.1,這樣ARP攻擊就不會找到攻擊目標。
這里的網關停止更新法,主要是停用網關設備上的ARP動態更新功能,因為將該功能關閉,那么日后惡意用戶借助專業工具,嘗試對局域網的網關設備進行ARP欺騙攻擊時,攻擊是沒有任何效果的,這可以有效保證局域網的運行安全。
例如,如果網關設備運行的是Linux系統,那么在網關設備上停止ARP動態更新功能的操作很簡單,只要找到“/etc/rc.d/rc.local”文件,并對其進行編輯操作,在最后面添加上“arp -f”這一行命令代碼,再保存退出設置就能立即生效。
當然,該方法也需要事先在網關設備中,將終端計算機的靜態IP地址和網卡MAC地址綁定在一起,確保非法用戶無法通過手工方法更改地址。在Linux系統下,建立終端計算機IP/MAC對應關系時,只要先創建好“/etc/ethers”文件,然后依次在每一行輸入“10.176.10.22 06:A0:52:B1:29:E1”這樣格式的代碼,保存退出后就能實現靜態IP/MAC集中綁定目的。
考慮到采用手工方法綁定IP/MAC地址,會給網絡管理員的日常維護帶來不小的工作量。為此,目前大多數單位局域網使用的交換機都是三層設備,這些設備允許網絡管理員通過DHCP中繼代理功能,配合動態ARP檢測技術,來對局域網中所有上網終端系統的IP地址和MAC地址進行自動綁定,從而讓網絡管理員從繁重的維護工作中解放出來。
該方法與手動綁定IP/MAC地址的工作原理是一樣的,只不過它的綁定操作是由交換機內置的特殊功能自動完成的。網絡管理員需要做的工作,就是先要在各個交換機連接端口上開啟DHCP監聽功能,該功能會將分配出去的動態IP地址,以及客戶端系統的網卡物理地址之間的對應關系,自動記錄保存到一個地址綁定表中,任何客戶端系統進行網絡連接的時候,它會自動檢查數據包的IP地址與網卡物理地址之間的對應關系,看看這種對應關系與地址綁定表中的記錄是否一致,如果一致的話就允許目標數據包通過,否則將不允許數據包通過,這種功能可以有效地防止局域網其他不合法DHCP服務器的功能。
接著要將交換機之間的連接端口,配置為DAI(動態ARP檢測)信任端口,確保動態ARP檢測功能會自動截取來自不信任網絡端口發送過來的ARP數據請求,同時會自動驗證對應數據包的數據綁定行為是否合法,看看它的地址綁定關系與DHCP綁定表中的是否一致,如果一致的話就對ARP數據包進行放行,要是不一致的話就對ARP數據包進行丟棄,從而可以有效地預防ARP欺騙攻擊,也能防止局域網用戶自行修改網卡物理地址和IP地址,避免局域網中發生地址沖突現象。
在對交換機的相關功能進行合適配置后,局域網中假冒偽造的ARP數據包將會被交換機自動拒絕,那么局域網中的終端計算機系統自然也就不會遭遇ARP網絡欺騙攻擊了。當然,這種網關動態檢測法要求網絡管理員一定需擁有較高的專業技術,并且還要求單位局域網中的交換機設備具有動態檢測ARP病毒功能、DHCP監聽功能等,可惜的是現在還是有不少單位局域網的交換設備不能支持這些功能