引言:在管理維護局域網(wǎng)的過程中,ARP攻擊讓人十分頭疼,因為它的技術(shù)含量比較低,非法用戶能隨意使用攻擊工具,來實施這種攻擊操作。本文特意從局域網(wǎng)的網(wǎng)關(guān)設(shè)備著手,來采取更有針對性的措施來預(yù)防網(wǎng)絡(luò)ARP攻擊現(xiàn)象。
在管理維護局域網(wǎng)的過程中,ARP攻擊讓人十分頭疼,因為它的技術(shù)含量比較低,非法用戶能隨意使用攻擊工具,來實施這種攻擊操作。ARP攻擊,是針對以太網(wǎng)地址解析協(xié)議的一種攻擊技術(shù)??勺尮粽呷〉镁钟蚓W(wǎng)上的數(shù)據(jù)封包,可讓網(wǎng)絡(luò)上特定計算機或所有計算機無法正常連接為了避免這種攻擊現(xiàn)象,影響局域網(wǎng)的運行穩(wěn)定性,可以采取的ARP攻擊預(yù)防措施各式各樣,但有很多措施無法實現(xiàn)長期穩(wěn)定的抑制效果。有鑒于此,本文特意從局域網(wǎng)的網(wǎng)關(guān)設(shè)備著手,來采取更有針對性的措施來預(yù)防網(wǎng)絡(luò)ARP攻擊現(xiàn)象。
大家知道,網(wǎng)關(guān)設(shè)備中一般都擁有特定子網(wǎng)里所有計算機的MAC地址數(shù)據(jù)庫,這些MAC地址來源都是真實的。而ARP攻擊數(shù)據(jù)包常常通過偽造假冒IP地址的方法,來實施非法攻擊目的,不過承載ARP攻擊數(shù)據(jù)包的ethernet幀卻包含了它的源地址,如果能夠借助外力工具偵測到它的源地址,再與網(wǎng)關(guān)設(shè)備中的真實MAC源地址進行比對,一旦發(fā)現(xiàn)它們相互不匹配,那就能揪出偽造的ARP數(shù)據(jù)包,并進一步定位到攻擊源頭了。
在初次組網(wǎng)時,網(wǎng)關(guān)設(shè)備中的MAC地址數(shù)據(jù)庫內(nèi)容,往往需要網(wǎng)絡(luò)管理員自行采集添加。在獲得局域網(wǎng)中每臺終端計算機與MAC地址的對應(yīng)關(guān)系時,只要依次單擊“開始”、“運行”命令,彈出系統(tǒng)運行對話框,輸入“cmd”命令,切換到DOS命令行工作窗口。在該窗口命令提示符狀態(tài)下,輸入字符串命令“ipconfig /all”,單擊回車鍵后,就能從如圖1所示結(jié)果界面中,查看到相關(guān)網(wǎng)卡設(shè)備的MAC地址和IP地址了。接著將獲取到的數(shù)據(jù)添加到MAC地址數(shù)據(jù)庫中。
圖1 結(jié)果界面
圖2 選項設(shè)置頁面
完善好網(wǎng)關(guān)中的MAC地址數(shù)據(jù)庫內(nèi)容后,一旦懷疑網(wǎng)絡(luò)中存在ARP攻擊現(xiàn)象時,可以借助外力工具,來對網(wǎng)絡(luò)中傳輸?shù)乃袛?shù)據(jù)包進行掃描探測。例如,十分常用的探測工具就是“Sniffer”工具,任何ARP攻擊數(shù)據(jù)包都逃不出它的探測范圍。在進行探測操作時,只要先從網(wǎng)上下載安裝好“Sniffer”工具,同時進行一系列的鏡像配置操作,之后在局域網(wǎng)的交換機鏡像端口上,對不同工作子網(wǎng)數(shù)據(jù)進行持續(xù)十多分鐘的抓包分析。在該工具的儀表標簽頁面中,就能直觀看到整個網(wǎng)絡(luò)的帶寬利用率,在該工具的矩陣標簽頁面中,可以看到哪個MAC地址的終端計算機,消耗的出口帶寬流量比較大,也可以看到許多信息包都不約而同來自相同的某個網(wǎng)卡MAC地址。如果從探測到數(shù)據(jù)中,分析出ethernet數(shù)據(jù)幀中的MAC源地址/目標地址,與幀數(shù)據(jù)包中ARP內(nèi)容不匹配,基本就認為該ARP包是攻擊數(shù)據(jù)包。這時,再根據(jù)網(wǎng)關(guān)設(shè)備的MAC數(shù)據(jù)庫中內(nèi)容,快速找到ARP攻擊包,并采取相關(guān)措施防止ARP數(shù)據(jù)包的繼續(xù)攻擊。
如果想有效預(yù)防ARP攻擊現(xiàn)象的出現(xiàn),最好的辦法就是讓局域網(wǎng)中每臺終端計算機的MAC地址與IP地址保持固定且匹配。但在使用靜態(tài)IP地址管理網(wǎng)絡(luò)的工作環(huán)境中,一些狡猾的非法用戶,常常會自己手動更改IP地址,來實現(xiàn)ARP欺騙非法攻擊目的。有鑒于此,我們可以在網(wǎng)關(guān)設(shè)備上部署DHCP服務(wù)器,通過它的動態(tài)地址分配功能,強制保證終端計算機的MAC地址與IP地址惟一性。
這種部署不但安全防護效果好,而且也不影響網(wǎng)關(guān)設(shè)備的運行性能,畢竟ARP病毒攻擊往往都是先攻擊網(wǎng)關(guān),而網(wǎng)關(guān)中的安全監(jiān)管工具能及時發(fā)現(xiàn)攻擊行為,而且DHCP服務(wù)器的部署也不會消耗多少CPU資源。例如,在寬帶路由器中部署DHCP服務(wù)器時,操作很簡單,只要在對應(yīng)設(shè)備后臺系統(tǒng),找到DHCP服務(wù)選項,進入對應(yīng)選項設(shè)置頁面,選中“DHCP服務(wù)器”位置處的“啟用”選項(如圖2所示),再依次設(shè)置好地址池開始地址、地址池結(jié)束地址、地址租期、網(wǎng)關(guān)地址、DNS服務(wù)器地址等參數(shù),保存設(shè)置后重新啟動網(wǎng)關(guān)設(shè)備,就能讓DHCP服務(wù)器正式生效了。值得注意的是,這里的地址租期參數(shù)可以設(shè)置為一個十分長的時間,比方說3年甚至無限時間,這樣在這個時間段里,只要終端計算機的網(wǎng)卡MAC地址不變,對應(yīng)系統(tǒng)獲得的IP地址也是始終不變的。
圖3 靜態(tài)地址分配設(shè)置頁面
圖4 屬性對話框
部署好DHCP服務(wù)器后,還需要利用它的靜態(tài)地址分配功能,將每個網(wǎng)卡的IP地址綁定到它的MAC地址上,確保終端系統(tǒng)的MAC地址與IP地址惟一匹配性。在網(wǎng)關(guān)設(shè)備后臺系統(tǒng),打開DHCP服務(wù)器的靜態(tài)地址分配設(shè)置頁面(如圖3所示),單擊“添加新條目”按鈕,在其后界面中,依次輸入每個網(wǎng)卡的IP地址和它的MAC地址即可。
最后需要依次設(shè)置局域網(wǎng)終端系統(tǒng),讓它們只能從網(wǎng)關(guān)的DHCP服務(wù)器那里,獲取IP地址及其相關(guān)主機信息。例如,在Win7系統(tǒng)中,要設(shè)置使用動態(tài)地址方式上網(wǎng)時,可以依次單擊“開始”、“控制面板”命令,打開系統(tǒng)控制面板窗口,按下“更改適配器設(shè)置”按鈕,在其后界面中選中“本地連接”圖標,打開它的右鍵菜單,點選“屬性”命令,進入本地連接屬性對話框。選中“Internet協(xié)議版本4(TCP/IPv4)”選項,單擊“屬性”按鈕,切換到如圖4所示的屬性對話框,將這里的“自動獲得 IP地址”、“自動獲得DNS服務(wù)器地址”選項選中,單擊“確定”按鈕保存設(shè)置操作,這樣終端計算機就能自動從DHCP服務(wù)器那里申請上網(wǎng)參數(shù)了。還有一點需要說明的是,為了降低ARP欺騙攻擊的發(fā)生機率,建議大家將網(wǎng)關(guān)設(shè)備的IP地址輸入為特定工作子網(wǎng)的第二個地址,比方說,對于10.176.0.1虛擬工作子網(wǎng)來說,網(wǎng)關(guān)設(shè)備地址可以輸入為10.176.0.2,而不要輕易使用10.176.0.1,這樣ARP攻擊就不會找到攻擊目標。
這里的網(wǎng)關(guān)停止更新法,主要是停用網(wǎng)關(guān)設(shè)備上的ARP動態(tài)更新功能,因為將該功能關(guān)閉,那么日后惡意用戶借助專業(yè)工具,嘗試對局域網(wǎng)的網(wǎng)關(guān)設(shè)備進行ARP欺騙攻擊時,攻擊是沒有任何效果的,這可以有效保證局域網(wǎng)的運行安全。
例如,如果網(wǎng)關(guān)設(shè)備運行的是Linux系統(tǒng),那么在網(wǎng)關(guān)設(shè)備上停止ARP動態(tài)更新功能的操作很簡單,只要找到“/etc/rc.d/rc.local”文件,并對其進行編輯操作,在最后面添加上“arp -f”這一行命令代碼,再保存退出設(shè)置就能立即生效。
當然,該方法也需要事先在網(wǎng)關(guān)設(shè)備中,將終端計算機的靜態(tài)IP地址和網(wǎng)卡MAC地址綁定在一起,確保非法用戶無法通過手工方法更改地址。在Linux系統(tǒng)下,建立終端計算機IP/MAC對應(yīng)關(guān)系時,只要先創(chuàng)建好“/etc/ethers”文件,然后依次在每一行輸入“10.176.10.22 06:A0:52:B1:29:E1”這樣格式的代碼,保存退出后就能實現(xiàn)靜態(tài)IP/MAC集中綁定目的。
考慮到采用手工方法綁定IP/MAC地址,會給網(wǎng)絡(luò)管理員的日常維護帶來不小的工作量。為此,目前大多數(shù)單位局域網(wǎng)使用的交換機都是三層設(shè)備,這些設(shè)備允許網(wǎng)絡(luò)管理員通過DHCP中繼代理功能,配合動態(tài)ARP檢測技術(shù),來對局域網(wǎng)中所有上網(wǎng)終端系統(tǒng)的IP地址和MAC地址進行自動綁定,從而讓網(wǎng)絡(luò)管理員從繁重的維護工作中解放出來。
該方法與手動綁定IP/MAC地址的工作原理是一樣的,只不過它的綁定操作是由交換機內(nèi)置的特殊功能自動完成的。網(wǎng)絡(luò)管理員需要做的工作,就是先要在各個交換機連接端口上開啟DHCP監(jiān)聽功能,該功能會將分配出去的動態(tài)IP地址,以及客戶端系統(tǒng)的網(wǎng)卡物理地址之間的對應(yīng)關(guān)系,自動記錄保存到一個地址綁定表中,任何客戶端系統(tǒng)進行網(wǎng)絡(luò)連接的時候,它會自動檢查數(shù)據(jù)包的IP地址與網(wǎng)卡物理地址之間的對應(yīng)關(guān)系,看看這種對應(yīng)關(guān)系與地址綁定表中的記錄是否一致,如果一致的話就允許目標數(shù)據(jù)包通過,否則將不允許數(shù)據(jù)包通過,這種功能可以有效地防止局域網(wǎng)其他不合法DHCP服務(wù)器的功能。
接著要將交換機之間的連接端口,配置為DAI(動態(tài)ARP檢測)信任端口,確保動態(tài)ARP檢測功能會自動截取來自不信任網(wǎng)絡(luò)端口發(fā)送過來的ARP數(shù)據(jù)請求,同時會自動驗證對應(yīng)數(shù)據(jù)包的數(shù)據(jù)綁定行為是否合法,看看它的地址綁定關(guān)系與DHCP綁定表中的是否一致,如果一致的話就對ARP數(shù)據(jù)包進行放行,要是不一致的話就對ARP數(shù)據(jù)包進行丟棄,從而可以有效地預(yù)防ARP欺騙攻擊,也能防止局域網(wǎng)用戶自行修改網(wǎng)卡物理地址和IP地址,避免局域網(wǎng)中發(fā)生地址沖突現(xiàn)象。
在對交換機的相關(guān)功能進行合適配置后,局域網(wǎng)中假冒偽造的ARP數(shù)據(jù)包將會被交換機自動拒絕,那么局域網(wǎng)中的終端計算機系統(tǒng)自然也就不會遭遇ARP網(wǎng)絡(luò)欺騙攻擊了。當然,這種網(wǎng)關(guān)動態(tài)檢測法要求網(wǎng)絡(luò)管理員一定需擁有較高的專業(yè)技術(shù),并且還要求單位局域網(wǎng)中的交換機設(shè)備具有動態(tài)檢測ARP病毒功能、DHCP監(jiān)聽功能等,可惜的是現(xiàn)在還是有不少單位局域網(wǎng)的交換設(shè)備不能支持這些功能