S交換機轉發平面安全—三層網絡安全

在三層網絡中,指導數據轉發的表項是路由表和ARP表。

l  路由表是交換機之間通過交互路由協議報文生成的,交互過程沒有用戶參與,所以***者很難對其進行***,路由表一般也就不存在***。

l  ARP表是用戶和交換機之間通過交互協議報文生成的,***者很容易對其進行***。

因此三層網絡安全的核心就是保證ARP表安全。除此之外,IP地址作爲三層網絡最基本的存在,非法用戶仿冒IP地址也成爲三層網絡中常見的一種***手段。所以本篇我們將從如何保證ARP表安全和如何防止IP地址欺騙兩個方面講解S交換機三層網絡的安全。

1   如何保證ARP表安全?

ARP表項分爲動態ARP和靜態ARP。靜態ARP是手動配置的,所以不存在安全問題。動態ARP是通過ARP報文動態學習的,所以在ARP動態學習過程中,比較容易受到非法用戶的***,下面我們先從ARP學習過程看一下可能存在的ARP***以及防止***的思路。

表1 ARP學習過程分析

ARP學習過程

可能收到的***

防止***的思路

1. 交換機接口收到ARP報文,上送CPU處理

發送大量ARP報文,使合法用戶的ARP報文無法上送CPU處理。

保證合法用戶的ARP報文可以上送CPU處理。

2. 根據ARP報文中的源IP地址檢查設備是否存在對應的ARP表項。如果存在,刷新ARP表項,如果不存在,添加新的ARP表項。

通過仿冒ARP報文,篡改正確的ARP表項。

保證ARP表項的正確性。

3. 判斷是否有ARP表資源,如果有ARP表資源,記錄新的ARP表項。否則丟棄該報文,不記錄ARP表項。

發送大量源IP或源MAC變化的報文,耗盡ARP表資源。

保證合法用戶的ARP表項可以正常生成。

下面我們以防止***的思路爲維度,講解一下S交換機防止ARP***的方法。

1.1   保證合法用戶的ARP報文可以上送CPU處理

缺省情況下,爲了保證CPU的正常運行,交換機對每種上送CPU的協議報文都設置了CPCAR值,對於超過CPCAR值的報文就會被丟棄。如果非法用戶發送大量的ARP報文,就會導致合法用戶的ARP報文無法上送CPU,也就無法正常生成ARP表項,S交換機可以通過下面幾種方式防止非法用戶的此類***。

Ø  ARP報文限速功能

S交換機支持從多種維度對ARP報文進行限速。

表2 ARP報文限速功能

維度

實現說明

基於源MAC地址

設備會對上送CPU的ARP報文根據源MAC地址進行統計,如果在1秒內收到的同一個源MAC地址的ARP報文超過設定限速值,設備則丟棄超出限速值部分的ARP報文。

S交換機不僅可以針對任意源MAC進行限速,還可以針對某一源MAC進行限速。

基於源IP地址

設備會對上送CPU的ARP報文根據源IP地址進行統計,如果在1秒內收到的同一個源IP地址的ARP報文超過設定限速值,設備則丟棄超出限速值部分的ARP報文。

S交換機不僅可以針對任意源IP進行限速,還可以針對某一源IP進行限速。

基於全局、VLAN、接口

限制全局、某個VLAN,某個接口處理的ARP報文數量。

如果在1秒內收到的ARP報文數目超過限速值,設備會丟棄超出限速值的ARP報文。

配置方法如下:

·         基於源MAC地址對ARP報文限速。

[HUAWEI] arp speed-limit source-mac maximum 10   //對於任意MAC地址,每秒最多允許10個ARP報文通過

·         基於源IP地址對ARP報文限速。

[HUAWEI] arp speed-limit source-ip maximum 10   //對於任意IP地址,每秒最多允許10個ARP報文通過

·         基於全局對ARP報文限速。

[HUAWEI] arp anti-attack rate-limit enable   //開啓ARP限速功能

[HUAWEI] arp anti-attack rate-limit packet 200 interval 10   //指定設備在10秒鐘內最多允許上送200個ARP報文,超過限速值則丟棄

·         基於VLAN對ARP報文限速。

[HUAWEI-vlan3] arp anti-attack rate-limit enable  //開啓ARP限速功能

[HUAWEI-vlan3] arp anti-attack rate-limit packet 200 interval 10   //指定VLAN3在10秒鐘內最多允許上送200個ARP報文,超過限速值則丟棄

·         基於接口對ARP報文限速。

[HUAWEI-GigabitEthernet0/0/1] arp anti-attack rate-limit enable   //開啓ARP限速功能

[HUAWEI-GigabitEthernet0/0/1] arp anti-attack rate-limit packet 200 interval 10   //指定接口GE0/0/1在10秒鐘內最多允許上送200個ARP報文,超過限速值則丟棄

Ø  ARP Miss消息限速功能

爲什麼對ARP Miss消息限速,可以保證合法用戶的ARP報文得到處理呢?我們先看看ARP Miss消息是怎麼產生的?

如果網絡中有用戶向設備發送大量目標IP地址不能解析的IP報文(即路由表中存在該IP報文的目的IP對應的路由表項,但設備上沒有該路由表項中下一跳對應的ARP表項),將導致設備觸發大量的ARP Miss消息。這種觸發ARP Miss消息的IP報文會被上送到CPU進行處理,設備會根據ARP Miss消息生成和下發大量臨時ARP表項並向目的網絡發送大量ARP請求報文,這樣就增加了設備CPU的負擔。

通過對ARP Miss消息進行限速,可以減少設備CPU的負擔,這樣合法用戶的ARP報文就有可能會被上送處理。

ARP Miss消息限速配置方法如下:

·         基於源IP地址的ARP Miss消息限速。

[HUAWEI] arp-miss speed-limit source-ip maximum 60   //允許設備每秒最多處理同一個源IP地址觸發的60個ARP Miss消息

·         在全局對ARP Miss消息限速。另外也可以基於VLAN或接口對ARP Miss消息限速。

[HUAWEI] arp-miss anti-attack rate-limit enable   //開啓ARP Miss限速功能

[HUAWEI] arp-miss anti-attack rate-limit packet 200 interval 10  //指定設備在10秒鐘內最多允許上送200個ARP Miss消息,超過限速值則丟棄

Ø  出口ARP檢測功能

ARP請求報文是廣播報文,當設備收到一個ARP請求報文時,會將該報文在指定的廣播域內轉發。

出口ARP檢測就是通過減少VLAN內廣播報文減少CPU的負擔。其核心原理是根據DHCP Snooping表查找目的IP地址對應的出接口,將ARP請求報文直接從查找到的出接口發送出去,減少VLAN內廣播的ARP報文,從而減少CPU的負擔。

出口ARP檢測功能主要是爲了減少網關設備處理的ARP報文個數。如圖1所示,通過在L2switch上使能出口ARP檢測功能,可以在L2switch廣播ARP請求報文之前,查找DHCP Snooping綁定表,如果能夠找到ARP報文中目的IP地址對應的出接口,則將ARP請求報文從找到的出接口發送出去,有效減少網關收到的ARP請求報文數量。

圖1 出口ARP檢測應用場景

20161221145227636001.png

出口ARP檢測功能配置方法如下:

[L2switch] dhcp enable   //全局使能DHCP功能

[L2switch] dhcp snooping enable   //全局使能DHCP Snooping功能

[L2switch] vlan 10  

[L2switch-vlan10] dhcp snooping enable  

[L2switch-vlan10] dhcp snooping arp security enable  //使能出口ARP檢測功能

1.2   保證ARP表項的正確性

ARP報文上送CPU後,交換機會根據ARP報文的源IP查詢當前的ARP表中是否存在對應的ARP表項:如果存在,就會刷新ARP表項。***者利用這一點,通過仿冒ARP報文,篡改ARP表項,使合法用戶的報文轉發出現異常。針對***者不同的***方式,S交換機提供了不同的防***方法。

Ø  防止仿冒網關***

***者通過仿冒網關,在局域網內部發送源IP地址是網關IP地址的ARP報文,導致局域網內其他用戶主機記錄的網關地址映射關係被篡改。這樣其他用戶主機就會把發往網關的流量發送給***者,造成這些用戶主機無法訪問網絡,***者還可以竊取到他們發送的數據內容,造成信息泄露。

如下圖2所示,***者仿冒網關,告訴UserA網關MAC已更新爲5-5-5,UserA信以爲真,將本該發送給Gateway 1-1-1的數據發送給錯誤的網關5-5-5,導致通信中斷。更糟糕的情況,***者的MAC正好是5-5-5,UserA把本該發送給網關的消息發送給***者,造成信息泄露。

圖2 仿冒網關***場景

20161221145228596002.png

S交換機提供下面幾種方法防止仿冒網關的***。

表3 防止仿冒網關***的方法

防***方法

防***原理

發送ARP免費報文

網關設備通過定時發送ARP免費報文,定期更新合法用戶的ARP表項,使得合法用戶ARP表項中記錄的是正確的網關地址映射關係。

ARP防網關衝突檢測

當設備收到的ARP報文的

源IP地址與報文入接口對應的VLANIF接口的IP地址相同ARP報文的源IP地址是入接口的虛擬IP地址,但ARP報文源MAC地址不是VRRP虛MAC時,就認爲該ARP報文是與網關地址衝突的ARP報文,設備將生成ARP防***表項,並在後續一段時間內丟棄該接口收到的同VLAN以及同源MAC地址的ARP報文。

ARP網關保護功能

開啓對網關地址保護功能的接口將可以正常接收轉發該源IP地址的ARP報文。未開啓對網關地址保護功能的接口將丟棄該源IP地址的ARP報文。

配置方法如下:

·         配置網關定時發送免費ARP報文。

[Gateway] arp gratuitous-arp send enable   //使能發送免費ARP報文,默認是發送時間間隔是30秒

·         配置ARP防網關衝突檢測

[Gateway] arp anti-attack gateway-duplicate enable

·         配置ARP網關保護功能

[L2switch] interface gigabitethernet 0/0/1  

[L2switch-GigabitEthernet0/0/1] arp filter source 10.1.1.1   //被保護的網關IP地址是10.1.1.1

Ø  防止仿冒合法用戶***

如下圖3所示,***者仿冒合法用戶,僞造ARP報文,篡改網關設備上UserA的ARP表項,導致UserB通過Gateway轉發數據給UserA時,因查詢到錯誤的ARP表項,導致UserA無法收到UserB發送給其的數據。

圖3 仿冒合法用戶***場景

20161221145229201003.png

S交換機提供下面幾種方法防止仿冒合法用戶的***。

表4 防止仿冒合法用戶***的方法

防***方法

防***原理

ARP表項固化

ARP表項固化有三種方式:

·         fixed-macARP報文中的MAC地址與ARP表中對應條目的MAC地址不符則丟棄。

·         fixed-allARP報文中的MAC地址、接口、VLAN信息和ARP表項中的信息任一不匹配則丟棄。

·         send-ack設備對收到涉及MAC地址、VLAN、或接口信息修改的ARP報文時,先發送ARP請求報文,未收到迴應則丟棄。

動態ARP檢測功能

設備將根據DHCP Snooping綁定表對收到的ARP報文的IP地址、MAC地址、VLAN或接口信息與綁定表中記錄的表項內容進行檢查,不匹配則直接丟棄。

配置方法如下:

·         配置ARP表項固化,可以基於全局和接口分別進行配置。

[Gateway] arp anti-attack entry-check fixed-mac enable   //指定固化方式是fixed-mac

·         配置動態ARP檢測功能,可以基於接口和VLAN分別進行配置。

[Gateway] vlan 10  

[Gateway-vlan10] arp anti-attack check user-bind enable

1.3   保證合法用戶的ARP表項可以正常生成

設備上ARP表資源是有限的,***者通過ARP泛洪耗盡ARP表資源,就會導致合法用戶的ARP表項無法生成,報文轉發失敗。

S交換機提供下面幾種方法防止ARP表被***者耗盡。

表5 防止ARP表資源耗盡的方法

防***方法

防***原理

限制可以學習的ARP表項數量

當發現某個接口下存在***者,佔用大量ARP表資源時,通過限制該接口可以學習的ARP表項數量,可以避免ARP表被耗盡。當接口上學習到的ARP表達到指定的限制值時,該接口不再學習新的ARP表項。

ARP表項嚴格學習

只有本設備主動發送的ARP請求報文的應答報文才能觸發本設備進行ARP學習,其他設備主動向本設備發送的ARP報文不能觸發本設備進行ARP學習。

配置方法如下:

·         限制ARP表項。

[HUAWEI] interface gigabitethernet 0/0/1 

[HUAWEI-GigabitEthernet0/0/1] arp-limit vlan 10 maximum 20  //配置接口GE0/0/1最多可以學習到20個VLAN10內的動態ARP表項

·         配置ARP表項嚴格學習

[HUAWEI] arp learning strict  //配置ARP表項嚴格學習

2   如何防止IP地址欺騙***?

IP地址欺騙***指的是***者通過仿冒合法用戶的IP地址,對設備進行***的一種***方法。

下面我們將介紹兩種常見的防IP地址欺騙***的方法:IPSG和URPF。

2.1   IPSG

IP源防***IPSG(IP Source Guard)是通過綁定表的方式防止IP地址欺騙***的。當用戶發送的IP報文與綁定表信息不一致時,就認爲是***報文被丟棄。

可是我們都知道通過配置靜態ARP可以防止***者仿冒IP地址的***,爲什麼還需要IPSG呢?

靜態綁定表的IPSG和靜態ARP都可以實現IP和MAC的綁定。區別如下表所示。

表6 IPSG和靜態ARP的區別

特性

功能說明

應用場景

IPSG

通過靜態綁定表固定IP地址和MAC地址之間映射關係,設備會匹配檢查接口上接收到的IP報文,只有匹配綁定表的IP報文才允許通過。

一般部署在與用戶直連的接入設備上,防止內網中的IP地址欺騙***,如非法主機仿冒合法主機的IP地址獲取上網權限。

靜態ARP

通過靜態ARP表固定IP地址和MAC地址之間映射關係,靜態ARP表項不會被動態刷新,設備根據靜態ARP錶轉發接收到的報文。

一般部署在網關上,配置重要服務器的靜態ARP表項,防止ARP欺騙***,保證主機和服務器之間的正常通信。

圖4 IPSG和靜態ARP的應用場景

20161221145230915004.png

如上圖4所示,假設Switch上未配置IPSG。當非法主機仿冒合法主機的IP地址訪問Internet,報文轉發過程如下:

1)   非法主機發送的報文到達Switch。

2)   Switch將報文轉發到Gateway。

3)   Gateway將報文發往Internet。

4)   Internet回程報文到達Gateway。

5)   Gateway根據目的IP地址(即仿冒的合法主機的IP地址)查找靜態ARP表項,這個IP對應的MAC爲合法主機的MAC,Gateway將封裝後的報文發送給Switch。

6)   Switch根據目的MAC地址將報文轉發到合法主機。

從過程來看:

如果僞造的是合法主機的IP地址,配置靜態ARP也能防止非法主機更改IP地址上網,但是會導致合法主機收到大量非法迴應報文。如果合法主機在線時,非法主機不斷構造併發送這種報文,則會對合法主機造成***。

如果非法主機仿冒的IP地址是一個未使用的IP地址,並且這個IP地址沒有被添加到靜態ARP表中,則會仿冒成功,回程報文可以到達非法主機。如果是希望通過配置靜態ARP來防止主機仿冒IP,那就需要把所有的IP(包括未使用的IP)都添加到靜態ARP表項中,這樣配置工作量會很大。

所以,如果是爲了防止內網中的IP地址欺騙的***行爲,在Switch上配置IPSG更爲合適。

從上面的應用場景可以看出,IPSG是用在二層網絡中的,那麼我們爲什麼要放在三層網絡中講述呢?那是因爲IPSG是爲了防止IP地址欺騙***的一種方法,IP地址是三層轉發的概念,所以這裏我們就放在三層網絡中進行講述了。

IPSG綁定表分爲靜態綁定表和動態綁定表,配置方法如下:

·         配置靜態綁定表:手動配置IP、MAC、VLAN和接口的綁定關係。

[Gateway] user-bind static ip-address 10.1.1.1 mac-address 1E-1E-1E interface gigabitethernet 0/0/1 vlan 10  //創建靜態綁定表

[Gateway] vlan 10

[Gateway-vlan10] ip source check user-bind enable   //使能VLAN 10內的IPSG功能,綁定表創建後,IPSG並未生效,只有在指定接口或在指定VLAN上使能IPSG後才生效

·         配置動態綁定表:配置DHCP Snooping,在用戶通過DHCP方式獲取IP地址的過程中,獲取IP、MAC、VLAN和接口的綁定關係。

[Gateway] dhcp enable

[Gateway] dhcp snooping enable  //使能DHCP Snooping功能

[Gateway] vlan 10

[Gateway-vlan10] dhcp snooping enable  

[Gateway-vlan10] dhcp snooping trusted interface gigabitethernet 0/0/3  //配置信任接口

[Gateway-vlan10] ip source check user-bind enable  //使能VLAN 10內的IPSG功能

2.2   URPF

URPF(Unicast Reverse Path Forwarding)是單播逆向路徑轉發的簡稱,也是一種防止IP地址欺騙***的方法。

URPF根據數據包的源IP地址在路由表或ARP表中查找對應的出接口,並判斷該接口是否與數據包的來源接口相匹配。如果沒有匹配表項則丟棄該數據包,從而預防IP地址欺騙***。

根據不同的場景,URPF分爲兩種工作模式。

表7 URPF的工作模式

模式

功能說明

應用場景

嚴格模式

設備不僅要求報文源地址在路由表或ARP表中存在相應表項,還要求接口匹配才能通過URPF檢查

建議在路由對稱的環境下使用URPF嚴格模式,例如兩個網絡邊界設備之間只有一條路徑的話,這時,使用嚴格模式能夠最大限度的保證網絡的安全性

鬆散模式

設備不檢查接口是否匹配,只要路由表中存在該報文源地址的路由,報文就可以通過。

建議在不能保證路由對稱的環境下使用URPF的鬆散模式,例如兩個網絡邊界設備之間如果有多條路徑連接的話,路由的對稱性就不能保證,在這種情況下,URPF的鬆散模式也可以保證較強的安全性。

圖5 URPF實現機制

20161221145231174005.png

如上圖5所示,***者僞造源地址爲10.1.1.2的報文向SwitchA發起請求,SwitchA響應請求時將向真正的“10.1.1.2”即SwitchB發送報文。這種非法報文對SwitchA和SwitchB都造成了***。

如果在SwitchA上啓用URPF嚴格檢查,則SwitchA在收到源地址爲10.2.1.1的報文時,URPF檢查到以此報文源地址查找路由表或ARP表所找到的出接口與收到該報文的接口不匹配,報文會被丟棄。

URPF的配置方法如下:

[SwitchA] urpf slot 1  //使能slot 1號單板上的URPF功能

[SwitchA] interface gigabitethernet 1/0/1

[SwitchA-GigabitEthernet1/0/1] urpf strict //使能GE1/0/1的URPF嚴格檢查


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章