前文我們了解了IP安全相關話題,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/16652367.html;今天我們來聊一聊ARP安全相關話題;
什么是ARP?
ARP是Address Resolution Protocol的首字母縮寫,翻譯成中文就是地址決議協議;它主要是將ip地址決議成對應設備的mac地址;我們知道以太網設備之間通信都是需要二層mac地址的封裝;那么我們平常配置的ip地址給設備,它是怎么和對端通信的呢?首先本端要發送ARP請求通信目標mac地址(如果本地ARP快取表里沒有對應條目的情況下,如果有就直接封裝本端mac和ip地址為源mac和源ip,把對端的mac和ip封裝成目標mac和目標ip);只有對端回復了arp請求以后,本端就會將arp回復報文中的源mac當作對應通信目標的mac,并將對應資訊存入arp快取表中,以備后續再次通信使用;簡單講ARP就是根據IP地址獲取mac地址的TCP/IP協議;ARP協議有一個特點,局域網路上的主機可以自主發送ARP應答訊息,其他主機收到應答報文時不會檢測該報文的真實性就會將其記入本機ARP快取;這樣一來非法主機在局域網里惡意發送偽造的arp應答報文,就會對應網路造成影響;
ARP作業環境

提示:arp主要作業在主機與主機之間,或者主機和網關之間,通常都是在同一vlan下,不會垮網段;
ARP主要攻擊方式和危害
1、仿冒網關:所謂仿冒網關就是以網關的口吻欺騙其他主機;告訴其他主機自己就是網關;讓其他主機誤以為攻擊者就是網關;

提示:如上圖所示,主機A向主機B發送arp回復報文說,網關的mac地址為222,主機B收到此報文后,會將原來在自己的arp快取表里的對應條目的mac地址給覆寫掉,這樣一來帶來的后果是,主機B和正常的網關通信就中斷了;主機B和網關的通信會統統發送給主機A;
2、欺騙網關:所謂欺騙網關就是冒充合法主機的口吻向網關發送非法arp回復報文;讓網關誤以為攻擊者就是真正的合法主機;

提示:如上圖所示,主機A向網關發送,主機B的mac為555,網關收到此報文后,會將主機的arp快取表更新為對應收到的arp應答報文里的mac;這樣一來網關和真正合法主機的通信就會中斷;
3、欺騙主機:所謂欺騙主機就是冒充合法主機向另一主機發送非法的arp應答報文,讓另一主機誤以為攻擊者就是通信的對端;

提示:如上圖所示,主機A欺騙主機C,說主機B的MAC為555,主機C收到此報文后,會更新自己的arp快取表,將正常主機B的mac地址給覆寫掉;這樣一來主機C就不能正常和真正的主機B通信;
中間人攻擊

提示:所謂中間人攻擊就是仿冒網關、欺騙網關的結合;對于網關來說,攻擊者就是合法的主機(欺騙網關);對于合法主機來說,攻擊者就是網關(仿冒網關);正常主機B和網關的通信會先發送給攻擊者,然后被攻擊者捕獲,然后再由攻擊者再次封裝將對應請求發送給網關;網關回包也是先將包回復給攻擊者,被攻擊者捕獲以后再封裝發送給合法主機;對于合法主機來說它是沒有任何感知的;上圖是主機A和主機B都被非法主機雙向欺騙;
ARP MISS
所謂ARP miss就是指網路中用戶向設備發送目標ip不能正常決議的ip報文(即路由表中存在對應IP報文的目標ip地址路由表項,但沒有對應路由下一跳的arp表項);這種觸發arp miss訊息的ip報文我們就成為arp miss報文,即arp miss報文會被上傳到cpu處理;設備根據arp miss訊息生成和下發臨時arp表項并向目標的網路發送arp請求報文,這樣就增加了設備cpu的負擔,同時消耗目標網路的帶寬資源;

提示:如上圖所示,攻擊者發送不能正常決議的ip報文給交換機(如在局域網里不存在的ip),交換機收到以后,不能正常獲取到mac地址,此時就會觸發ARP MISS訊息,同時會向目標網路發送arp請求訊息;交換機收到不能正常決議的ip報文觸發arp miss訊息加劇設備cpu的負擔,同時向目標網路發送arp請求,占用目標網路的網路帶寬;雖然少量的arp請求不能對網路造成什么影響,如果有人惡意發送大量的不能決議的ip報文,就會對設備cpu和目標網路的帶寬造成極大的影響;
ARP攻擊防御措施
1、ARP防網關沖突:該技術的應用場景主要是防止有人惡意冒充網關;主要作業原理是我們在交換機上開啟了這項功能以后,如果ARP報文的源ip地址與報文入介面對應的VLANIF介面IP地址相同;或者ARP報文的源IP地址是入介面的虛擬IP地址,但ARP報文的源MAC地址不是VRRP的虛擬MAC;即上述兩種情況都是攻擊者在冒充網關的ip地址進行攻擊;交換機收到此類報文就會認為該ARP報文和網關地址沖突,交換機將生成ARP防攻擊表項,并在后續的一段時間內丟棄該介面收到的同VLAN以及同源MAC地址的ARP報文,這樣就可以防止與網關地址沖突的ARP報文在VLAN內廣播;

提示:我們只需要在交換機的全域模式下開啟對應功能即可;
查看ARP防止攻擊表項

2、網關開啟主動發送免費arp:其實這是利用網關發送免費arp來覆寫攻擊者的arp報文;

提示:默認開啟發送免費arp報文功能后,間隔是60秒發送一次;我們可以使用interval 來指定間隔多久發送一次,最小間隔為1秒一次;
抓包查看網關是否在發送免費arp呢?

提示:可以看到現在pc上抓包,網關會每個兩秒發送一次免費arp,廣播給同一廣播域的其他主機,網關的mac資訊;這在一定程度上可以緩解攻擊者的攻擊;但是如果攻擊者發送偽造的arp報文如果比網關發送的免費arp報文快,則攻擊者的報文會覆寫網關自身發送的免費arp廣播;一般使用該技術是結合上面的防網關沖突使用;
3、ARP報文速率
3.1、限制任意源MAC的ARP報文

3.2、限制特定源MAC的ARP報文

3.3、限制特定源IP的ARP報文

4、ARP Miss訊息限速
4.1、限制任意源IP的ARP MISS訊息

4.2、限制特定源IP的ARP MISS訊息

查看當前ARP限速配置

查看arp miss限速配置

查看arp處理的報文統計資料

5、DAI(Dynamic ARP Inspection,動態ARP檢測)可防止中間人攻擊;該技術建立在dhcp snooping的系結表的基礎之上;當設備收到ARP報文時,將此ARP報文對應的源ip、源mac、vlan以及介面資訊和系結表的資訊進行比較,如果資訊匹配,說明發送該ARP報文的用戶是合法用戶,允許此用戶的arp報文通過,否則就認為是攻擊,丟棄對應arp報文;
DAI配置流程
1、全域開啟dhcp snooping功能;
2、在某個VLAN內開啟dhcp snooping功能;
3、配置信任介面;
4、在接入設備的介面開啟ARP動態監測功能即可;
實驗,如下拓撲配置DAI監測

sw1的基礎配置
sys sys sw1 vlan 2 int g0/0/1 p l a p d v 2 int g0/0/2 p l a p d v 2 int g0/0/3 p l a p d v 2View Code

dhcp-server的基礎配置
sys sys dhcp-server dhcp en vlan 2 int g0/0/1 p l a p d v 2 int vlanif 2 ip add 172.16.20.254 24 dhcp se intView Code

驗證DHCP服務器地址池

提示:可以看到有兩個地址被使用,說明dhcp服務器正常作業;
1、在sw1上開啟全域開啟dhcp snooping功能

提示:全域開啟dhcp snooping功能,需要現在全域開啟dhcp功能;
2、在vlan2內開啟dhcp snooping功能

3、配置dhcp snooping 信任介面

查看系結表

提示:如果我們是后面才開啟的dhcp snooping功能,需要讓pc重新拿地址,對應系結表就會形成;
4、在介面開啟arp動態檢測功能

驗證配置結果

查看arp檢測到arp報文丟棄計數

提示:我這里是沒有模擬攻擊,如果有攻擊,這對應統計數量就會有;
作者:Linux-1874 出處:https://www.cnblogs.com/qiuhom-1874/ 本文著作權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利.轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509121.html
標籤:其他
上一篇:HCIA-STP原理與配置
