關(guān)鍵詞:ARP ARP攻擊 摘 要:本文介紹了H3C公司ARP攻擊防御解決方案的思路。同時闡述了ARP攻擊防御解決方案的技術(shù)細節(jié)和特點。 縮略語清單:
1 概述1.1 ARP攻擊日益嚴重近來, ARP攻擊問題日漸突出。嚴重者甚至造成大面積網(wǎng)絡(luò)不能正常訪問外網(wǎng),學校深受其害。H3C公司根據(jù)ARP攻擊的特點,給出了有效的防ARP攻擊解決方案。要解決ARP攻擊問題,首先必須了解ARP欺騙攻擊的類型和原理,以便于更好的防范和避免ARP攻擊的帶來的危害。 1.2 ARP攻擊這么容易進行呢ARP協(xié)議是用來提供一臺主機通過廣播一個ARP請求來獲取相同網(wǎng)段中另外一臺主機或者網(wǎng)關(guān)的MAC的協(xié)議。以相同網(wǎng)段中的兩臺主機A、B來舉例,其ARP協(xié)議運行的主要交互機制如下: 1 如果A需要向B發(fā)起通信,A首先會在自己的ARP緩存表項中查看有無B的ARP表項。如果沒有,則進行下面的步驟: 2 A在局域網(wǎng)上廣播一個ARP請求,查詢B的IP地址所對應(yīng)的MAC地址; 3 本局域網(wǎng)上的所有主機都會收到該ARP請求; 4 所有收到ARP請求的主機都學習A所對應(yīng)的ARP表項;如果B收到該請求,則發(fā)送一個ARP應(yīng)答給A,告知A自己的MAC地址; 5 主機A收到B的ARP應(yīng)答后,會在自己的 ARP緩存中寫入主機B的ARP表項. 如上所述,利用ARP協(xié)議,可以實現(xiàn)相同網(wǎng)段內(nèi)的主機之間正常通信或者通過網(wǎng)關(guān)與外網(wǎng)進行通信。但由于ARP協(xié)議是基于網(wǎng)絡(luò)中的所有主機或者網(wǎng)關(guān)都為可信任的前提制定。導(dǎo)致在ARP協(xié)議中沒有認證的機制,從而導(dǎo)致針對ARP協(xié)議的欺騙攻擊非常容易。 1.3 ARP攻擊的類型目前ARP攻擊中有如下三種類型。我們根據(jù)影響范圍和出現(xiàn)頻率分別介紹如下: 1.3.1 網(wǎng)關(guān)仿冒ARP病毒通過發(fā)送錯誤的網(wǎng)關(guān)MAC對應(yīng)關(guān)系給其他受害者,導(dǎo)致其他終端用戶不能正常訪問網(wǎng)關(guān)。這種攻擊形式在校園網(wǎng)中非常常見。見下圖: 如上圖所示,攻擊者發(fā)送偽造的網(wǎng)關(guān)ARP報文,欺騙同網(wǎng)段內(nèi)的其它主機。從而網(wǎng)絡(luò)中主機訪問網(wǎng)關(guān)的流量,被重定向到一個錯誤的MAC地址,導(dǎo)致該用戶無法正常訪問外網(wǎng)。
1.3.2 欺騙網(wǎng)關(guān)攻擊者發(fā)送錯誤的終端用戶的IP+MAC的對應(yīng)關(guān)系給網(wǎng)關(guān),導(dǎo)致網(wǎng)關(guān)無法和合法終端用戶正常通信。這種攻擊在校園網(wǎng)中也有發(fā)生,但概率和“網(wǎng)關(guān)仿冒”攻擊類型相比,相對較少。見下圖:
如上圖,攻擊者偽造虛假的ARP報文,欺騙網(wǎng)關(guān)相同網(wǎng)段內(nèi)的某一合法用戶的MAC地址已經(jīng)更新。網(wǎng)關(guān)發(fā)給該用戶的所有數(shù)據(jù)全部重定向到一個錯誤的MAC地址,導(dǎo)致該用戶無法正常訪問外網(wǎng)。 1.3.3 欺騙終端用戶這種攻擊類型,攻擊者發(fā)送錯誤的終端用戶/服務(wù)器的IP+MAC的對應(yīng)關(guān)系給受害的終端用戶,導(dǎo)致同網(wǎng)段內(nèi)兩個終端用戶之間無法正常通信。這種攻擊在校園網(wǎng)中也有發(fā)生,但概率和“網(wǎng)關(guān)仿冒”攻擊類型相比,相對較少。見下圖:
如上圖,攻擊者偽造虛假的ARP報文,欺騙相同網(wǎng)段內(nèi)的其他主機該網(wǎng)段內(nèi)某一合法用戶的MAC地址已經(jīng)更新。導(dǎo)致該網(wǎng)段內(nèi)其他主機發(fā)給該用戶的所有數(shù)據(jù)全部重定向到一個錯誤的MAC地址,導(dǎo)致該用戶無法正常訪問外網(wǎng)。 1.3.4 ARP泛洪攻擊這種攻擊類型,攻擊者偽造大量不同ARP報文在同網(wǎng)段內(nèi)進行廣播,導(dǎo)致網(wǎng)關(guān)ARP表項被占滿,合法用戶的ARP表項無法正常學習,導(dǎo)致合法用戶無法正常訪問外網(wǎng)。主要是一種對局域網(wǎng)資源消耗的攻擊手段。這種攻擊在校園網(wǎng)中也有發(fā)生,但概率和上述三類欺騙性ARP攻擊類型相比,相對較少。如下圖: 圖4 ARP泛洪攻擊示意圖
2 解決方案介紹通過對上述的ARP攻擊類型的介紹。我們可以很容易發(fā)現(xiàn)當前ARP攻擊防御的關(guān)鍵所在:如何獲取到合法用戶和網(wǎng)關(guān)的IP-MAC對應(yīng)關(guān)系,并如何利用該對應(yīng)關(guān)系對ARP報文進行檢查,過濾掉非法ARP報文。H3C公司有兩條思路來解決這一關(guān)鍵問題,即認證模式和DHCP監(jiān)控模式。分別對用戶認證的過程和IP地址申請過程的監(jiān)控,獲取到合法用戶的IP-MAC對應(yīng)關(guān)系,從而解決不同環(huán)境下的ARP防攻擊問題。 2.1 認證模式2.1.1 總體思路通過增強用戶的認證機制來獲取上線用戶的IP-MAC對應(yīng)關(guān)系,并且利用認證的手段來確認當前用戶的合法性。從而有效的解決難以獲取合法用戶的IP-MAC對應(yīng)關(guān)系的問題。同時通過事先在認證服務(wù)器上配置網(wǎng)關(guān)的IP-MAC對應(yīng)關(guān)系的方式來集中管理網(wǎng)絡(luò)中存在的網(wǎng)關(guān)的IP-MAC信息。當合法用戶上線時,可以利用上述的兩個關(guān)鍵信息對網(wǎng)絡(luò)中存在的虛假ARP報文以過濾或者綁定合法的ARP信息,從而有效的防御ARP欺騙行為。H3C的防御手段充分的考慮了方案實施的適應(yīng)性要求,對虛假ARP報文加以過濾或者綁定合法ARP信息的功能可以根據(jù)網(wǎng)絡(luò)的條件分開使用。具體模式如下圖所示: 2.1.2 認證模式之終端防護在用戶進行802.1X認證的過程中,通過iMC服務(wù)器下發(fā)預(yù)定的網(wǎng)關(guān)IP-MAC映射到iNode客戶端,iNode客戶端在用戶PC上針對所有網(wǎng)卡查找匹配的網(wǎng)關(guān),并將匹配網(wǎng)關(guān)的IP-MAC映射關(guān)系在PC上形成靜態(tài)ARP綁定,從而有效防止針對主機的網(wǎng)關(guān)仿冒ARP攻擊。如下所示圖:
1. 處理機制及流程H3C iNode客戶端,通過同iMC服務(wù)器配合,由管理員在iMC上設(shè)置正確的網(wǎng)關(guān)IP、MAC對應(yīng)列表,并傳送至客戶端,客戶端無論當前ARP緩存是何種狀態(tài),均按照iMC系統(tǒng)下發(fā)的IP、MAC列表更新本地的ARP緩存,并周期性更新,保證用戶主機網(wǎng)關(guān)MAC地址的正確性,從而保證用戶主機報文發(fā)往正確的設(shè)備。詳細處理流程如下: 圖7 iNode設(shè)置本地ARP流程
i. iMC服務(wù)器上,由管理員預(yù)先設(shè)置正確的網(wǎng)關(guān)IP-MAC映射列表;待iNode客戶端的認證請求成功通過,iMC服務(wù)器通過Radius報文將預(yù)設(shè)的網(wǎng)關(guān)IP-MAC列表下發(fā)到客戶PC的接入交換機上,再由接入交換機透傳給客戶PC上的iNode客戶端。 ii. iNode客戶端收到iMC服務(wù)器下發(fā)的網(wǎng)關(guān)IP-MAC映射列表后,在客戶PC上針對所有網(wǎng)卡查找匹配的網(wǎng)關(guān)(客戶PC存在多個網(wǎng)卡的情況下,iNode只匹配每個網(wǎng)卡的default gateway),然后依據(jù)iMC服務(wù)器下發(fā)的網(wǎng)關(guān)映射列表將匹配網(wǎng)關(guān)的IP-MAC映射在客戶PC上形成靜態(tài)ARP表項并更新本地ARP緩存,從而保證客戶PC的數(shù)據(jù)報文發(fā)往正確的網(wǎng)關(guān)設(shè)備; iii. 為防止用戶再次上線過程中網(wǎng)關(guān)ARP信息被篡改,iNode客戶端會根據(jù)iMC服務(wù)器下發(fā)的正確的網(wǎng)關(guān)IP-MAC映射信息周期性的更新本地ARP緩存。
2.1.3 認證模式之接入綁定在用戶進行802.1X認證的過程中,通過擴展802.1X協(xié)議報文,在eapol的response報文(code=1、type=2)中攜帶用戶PC的IP地址(iNode客戶端需選定“上傳IP地址”選項,且推薦客戶PC上手工配置IP地址及網(wǎng)關(guān)),接入交換機通過監(jiān)聽802.1X認證過程的協(xié)議報文,將用戶PC的IP地址、MAC地址和接入端口形成綁定關(guān)系,在接入交換機上建立IP-MAC-Port映射表項,并據(jù)此對用戶發(fā)送的ARP/IP報文進行檢測,從而有效防止用戶的非法ARP/IP報文進入網(wǎng)絡(luò)。如下所示圖:
圖8 認證模式之接入綁定示意圖 1. 處理機制及流程i. 首先,H3C iNode客戶端通過802.1X協(xié)議向iMC服務(wù)器發(fā)起認證,并在802.1X協(xié)議的Response報文中攜帶客戶PC的IP地址。 ii. 接入交換機監(jiān)聽客戶PC上傳的802.1X認證報文,從客戶PC回應(yīng)的Response報文(code=1、type=2)中提取客戶PC的IP、MAC,待客戶認證成功,將其與客戶PC的接入端口進行綁定,建立IP-MAC-Port映射表項(周期性更新和老化)。根據(jù)這一表項,交換機對客戶PC上行的ARP/IP報文進行檢測,過濾源IP/MAC不匹配表項的數(shù)據(jù)報文,從而防止非法的攻擊報文進入網(wǎng)絡(luò)。
2.2 DHCP 監(jiān)控模式2.2.1 總體思路接入交換機通過監(jiān)控用戶的正常動態(tài)IP地址獲取過程,獲取正常用戶的IP-MAC對應(yīng)關(guān)系在接入交換機上綁定。接入交換機過濾掉所有不匹配綁定關(guān)系的ARP報文,來防止接入的用戶主機進行ARP欺騙攻擊。這種防攻擊手段能夠有效防御本文所描述的所有攻擊類型(詳見1.2)。業(yè)務(wù)流程如下圖: 圖9 DHCP SNOOPING模式示意圖
2.2.2 相關(guān)技術(shù)1. ARP入侵檢測機制為了防止ARP中間人攻擊,H3C接入交換機支持對收到的ARP報文判斷合法性。這是如何做到的呢?H3C接入交換機可以動態(tài)獲取(即,DHCP snooping表項)或者靜態(tài)配置合法用戶的IP-MAC對應(yīng)關(guān)系。并且在收到用戶發(fā)送到ARP報文時,可以檢查報文中的源IP地址及源MAC地址的綁定關(guān)系與所獲取的合法用戶IP-MAC對應(yīng)關(guān)系表項是否匹配來判斷該報文是否為合法ARP報文。通過過濾掉所有非法ARP報文的方式來實現(xiàn),所有ARP欺騙攻擊。如下圖: 圖10 ARP入侵檢測功能示意圖
2. 動態(tài)IP地址分配環(huán)境的工作機制當用戶為動態(tài)IP地址分配環(huán)境時。接入交換機可以通過監(jiān)控用戶的IP地址申請過程,從而自動學習到合法用戶的IP-MAC對應(yīng)關(guān)系。并依據(jù)該表項實現(xiàn)對合法ARP報文的確認和非法ARP報文的過濾。 那么這些動態(tài)表項是如何形成的呢?當開啟DHCP Snooping功能后,H3C接入交換機采取監(jiān)聽DHCP-REQUEST廣播報文和DHCP-ACK單播報文的方法來記錄用戶獲取的IP地址等信息。目前,H3C接入交換機的DHCP Snooping表項主要記錄的信息包括:分配給客戶端的IP地址、客戶端的MAC地址、VLAN信息、端口信息、租約信息,如圖4 所示。 圖11 DHCP Snooping表項示意圖 為了對已經(jīng)無用的DHCP Snooping動態(tài)表項進行定期進行老化刪除,以節(jié)省系統(tǒng)的資源,和減少安全隱患,H3C接入交換機支持根據(jù)客戶端IP地址的租約對DHCP Snooping表項進行老化。具體實現(xiàn)過程為:當DHCP Snooping至少記錄了一條正式表項時,交換機會啟動20秒的租約定時器,即每隔20秒輪詢一次DHCP Snooping表項,通過表項記錄的租約時間、系統(tǒng)當前時間與表項添加時間的差值來判斷該表項是否已經(jīng)過期。若記錄的表項租約時間小于系統(tǒng)當前時間與表項添加時間的差值,則說明該表項已經(jīng)過期,將刪除該條表項,從而實現(xiàn)DHCP Snooping動態(tài)表項的老化。 需要注意的是:當DHCP服務(wù)器端的租約設(shè)置為無限期或者很長時,會出現(xiàn)老化不及時的現(xiàn)象。 3. 靜態(tài)IP地址分配環(huán)境的工作機制DHCP Snooping方式下,DHCP Snooping表只記錄了通過DHCP方式動態(tài)獲取IP地址的客戶端信息。對于不能通過動態(tài)IP地址獲取的部分主機以及打印機等服務(wù)器來說,DHCP snooping沒有自動辦法獲取到這部分用戶的合法IP-MAC對應(yīng)關(guān)系,因此不能自動加以綁定。為了解決這個問題,H3C的交換機也支持手工配置合法用戶的IP-MAC對應(yīng)關(guān)系,形成靜態(tài)合法用戶的IP-MAC表項。,如果用戶手工配置了固定IP地址,其IP地址、MAC地址等信息將不會被DHCP Snooping表記錄,因此不能通過基于DHCP Snooping表項的ARP入侵檢測,導(dǎo)致用戶無法正常訪問外部網(wǎng)絡(luò)。 即:用戶的IP地址、MAC地址及連接該用戶的端口之間的綁定關(guān)系。靜態(tài)配置的IP-MAC表項擁有和動態(tài)學習的DHCP Snooping表項的同樣功能。接入交換機可以依據(jù)配置的靜態(tài)表項實現(xiàn)對合法ARP報文的確認,和非法ARP報文的過濾。從而可以很好的解決靜態(tài)IP地址分配環(huán)境下的部署問題。 4. ARP信任端口設(shè)置在實際組網(wǎng)中,交換機的上行口會接收其他設(shè)備的請求和應(yīng)答的ARP報文,這些ARP報文的源IP地址和源MAC地址并沒有在DHCP Snooping表項或者靜態(tài)綁定表中。為了解決上行端口接收的ARP請求和應(yīng)答報文能夠通過ARP入侵檢測問題,交換機支持通過配置ARP信任端口,靈活控制ARP報文檢測功能。對于來自信任端口的所有ARP報文不進行檢測,對其它端口的ARP報文通過查看DHCP Snooping表或手工配置的IP靜態(tài)綁定表進行檢測。 5. DHCP信任端口設(shè)置系統(tǒng)默認所有接口下過濾DHCP Ack和Offer報文,以防止非法DHCP服務(wù)器對網(wǎng)絡(luò)的影響,但這樣就會過濾掉交換機上行接口接收到的合法DHCP服務(wù)器回應(yīng)的Ack和Offer報文。為了解決這一問題,交換機支持配置DHCP Snooping信任端口,對于來自信任端口的所有DHCP報文不進行檢測,而其他非信任端口則只允許DHCP Discover和Request報文進入。 6. ARP限速功能H3C低端以太網(wǎng)交換機還支持端口ARP報文限速功能,來避免此類攻擊對局域網(wǎng)造成的沖擊。 開啟某個端口的ARP報文限速功能后,交換機對每秒內(nèi)該端口接收的ARP報文數(shù)量進行統(tǒng)計,如果每秒收到的ARP報文數(shù)量超過設(shè)定值,則認為該端口處于超速狀態(tài)(即受到ARP報文攻擊)。此時,交換機將關(guān)閉該端口,使其不再接收任何報文,從而避免大量ARP報文攻擊設(shè)備。同時,設(shè)備支持配置端口狀態(tài)自動恢復(fù)功能,對于配置了ARP限速功能的端口,在其因超速而被交換機關(guān)閉后,經(jīng)過一段時間可以自動恢復(fù)為開啟狀態(tài)。 2.3 其他技術(shù)2.3.1 基于網(wǎng)關(guān)IP/MAC的ARP報文過濾功能按照ARP協(xié)議的設(shè)計,網(wǎng)絡(luò)設(shè)備收到目的IP地址是本接口IP地址的ARP報文(無論此ARP報文是否為自身請求得到的),都會將其IP地址和MAC地址的對應(yīng)關(guān)系添加到自身的ARP映射表中。這樣可以減少網(wǎng)絡(luò)上過多的ARP數(shù)據(jù)通信,但也為“ARP欺騙”創(chuàng)造了條件。 實際網(wǎng)絡(luò)環(huán)境,特別是校園網(wǎng)中,最常見的ARP攻擊方式是“仿冒網(wǎng)關(guān)”攻擊。即:攻擊者偽造ARP報文,發(fā)送源IP地址為網(wǎng)關(guān)IP地址,源MAC地址為偽造的MAC地址的ARP報文給被攻擊的主機,使這些主機更新自身ARP表中網(wǎng)關(guān)IP地址與MAC地址的對應(yīng)關(guān)系。這樣一來,主機訪問網(wǎng)關(guān)的流量,被重定向到一個錯誤的MAC地址,導(dǎo)致該用戶無法正常訪問外網(wǎng)。 為了防御“仿冒網(wǎng)關(guān)”的ARP攻擊,H3C以太網(wǎng)交換機支持基于網(wǎng)關(guān)IP/MAC的ARP報文過濾功能: 將接入交換機下行端口(通常與用戶直接相連的端口)和網(wǎng)關(guān)IP進行綁定。綁定后,該端口接收的源IP地址為網(wǎng)關(guān)IP地址的ARP報文將被丟棄,其他ARP報文允許通過。 將接入交換機級聯(lián)端口或上行端口和網(wǎng)關(guān)IP地址、網(wǎng)關(guān)MAC地址進行綁定。綁定后,該端口接收的源IP地址為指定的網(wǎng)關(guān)IP地址,源MAC地址為非指定的網(wǎng)關(guān)MAC地址的ARP報文將被丟棄,其他ARP報文允許通過。 2.3.2 ARP報文源MAC一致性檢查功能惡意用戶可能通過工具軟件,偽造網(wǎng)絡(luò)中其他設(shè)備(或主機)的源IP或源MAC地址的ARP報文,進行發(fā)送,從而導(dǎo)致途徑網(wǎng)絡(luò)設(shè)備上的ARP表項刷新到錯誤的端口上,網(wǎng)絡(luò)流量中斷。 為了防御這一類ARP攻擊,增強網(wǎng)絡(luò)健壯性,H3C以太網(wǎng)交換機作為網(wǎng)關(guān)設(shè)備時,支持配置ARP報文源MAC一致性檢查功能。通過檢查ARP報文中的源MAC地址和以太網(wǎng)報文頭中的源MAC地址是否一致,來校驗其是否為偽造的ARP報文。 如果一致,則該ARP報文通過一致性檢查,交換機進行正常的表項學習; 如果不一致,則認為該ARP報文是偽造報文,交換機不學習動態(tài)ARP表項的學習,也不根據(jù)該報文刷新ARP表項。
3 典型組網(wǎng)部署3.1 DHCP 監(jiān)控模式的部署3.1.1 典型組網(wǎng)圖13 DHCP監(jiān)控模式典型組網(wǎng)
3.1.2 部署思路l 在接入交換機上開啟DHCP snooping功能,并配置與DHCP服務(wù)器相連的端口為DHCP snooping信任端口。 l 在接入交換機上為靜態(tài)IP地址分配模式的主機或者服務(wù)器配置對應(yīng)的IP靜態(tài)綁定表項。 l 在接入交換機對應(yīng)VLAN上開啟ARP入侵檢測功能,并配置該交換機的上行口為ARP信任端口。 l 在接入交換機的直接連接客戶端的端口上配置ARP報文限速功能,同時全局開啟因ARP報文超速而被關(guān)閉的端口的狀態(tài)自動恢復(fù)功能。
3.2 認證模式的部署3.2.1 典型組網(wǎng)
3.2.2 部署步驟1. 步驟一:開啟dot1x認證設(shè)備ARP攻擊防御功能首先在設(shè)備上部署普通的dot1x認證之外,在用戶接入VLAN內(nèi)部署ARP報文檢查即可過濾非法ARP報文。同時可以在認證設(shè)備上開啟ARP限速功能。
2. 步驟二:在iMC上選擇配置用戶網(wǎng)關(guān)
3. 步驟三:在iMC上配置網(wǎng)關(guān)綁定關(guān)系圖16 配置網(wǎng)關(guān)綁定關(guān)系示意圖
4. 步驟四:選擇立即生效
5. 步驟五:用戶正常上線圖18 用戶正常上線示意圖
4 總結(jié)H3C推出的ARP攻擊防御解決方案,可以很好的緩解和解決校園網(wǎng)的ARP攻擊問題。同時擁有很強的適應(yīng)性,有利于現(xiàn)有校園網(wǎng)的設(shè)備利舊問題。 |
|