21-MACSec配置
本章節下載: 21-MACSec配置 (523.26 KB)
目 錄
MACsec(Media Access Control Security,MAC安全)定義了基於IEEE 802局域網絡的數據安全通信的方法。MACsec可為用戶提供安全的MAC層數據發送和接收服務,包括用戶數據加密、數據幀完整性檢查及數據源真實性校驗。
MACsec通常與802.1X認證框架配合使用,工作在802.1X認證過程成功之後,通過識別出已認證設備發送的報文,並使用MKA(MACsec Key Agreement,MACsec密鑰協商)協議協商生成的密鑰對已認證的用戶數據進行加密和完整性檢查,避免端口處理未認證設備的報文或者未認證設備篡改的報文。
MACsec包括兩種典型組網模式:麵向主機模式和麵向設備模式。
如圖1-1所示,麵向主機模式用於保護客戶端和設備之間的數據幀。
該模式包括以下三個組成元素:
· 客戶端
客戶端可以是請求接入局域網的用戶終端,也可以是支持802.1X Client功能的設備,由局域網中的接入設備對其進行認證,並執行MACsec密鑰協商和報文加密功能。
· 接入設備
接入設備控製客戶端的接入,通過與認證服務器的交互,對所連接的客戶端進行802.1X認證,並執行MACsec密鑰協商和報文加密功能。
· 認證服務器
認證服務器用於對客戶端進行認證、授權和計費,通常為RADIUS(Remote Authentication Dial-In User Service,遠程認證撥號用戶服務)服務器。客戶端通過認證後,認證服務器為客戶端和接入設備分發密鑰。
麵向主機模式中,接入設備上使能MKA協議的端口必須采用基於端口的802.1X認證方式,且必須配置802.1X認證方法為EAP中繼方式。
如圖1-2所示,麵向設備模式用於保護設備之間的數據幀。
該模式下,互連的兩台設備直接使用通過命令行配置的預共享密鑰進行MACsec密鑰協商和報文加密功能。
CA(Connectivity Association,安全連通集)是兩個或兩個以上使用相同密鑰和密鑰算法套件的成員的集合。CA成員稱為CA的參與者。CA參與者使用的密鑰稱為CAK。CAK分為兩種類型,一種是成對CAK(Pairwise CAK),另一種是成組CAK(Group CAK)。由兩個成員組成CA,它們所擁有的CAK稱為成對CAK。由三個或三個以上成員組成CA,它們所擁有的CAK稱為成組CAK。目前,MACsec主要應用在點對點組網的環境中,所以主要使用成對CAK。成對CAK可以是802.1X認證過程中生成的CAK,也可以是用戶配置的預共享密鑰(PSK,Pre-Shared Key)。如兩者同時存在,優先使用用戶配置的預共享密鑰。
SA(Security Association,安全聯盟)是CA參與者之間用於建立安全通道的安全參數集合,包括對數據進行加密算法套件、進行完整性檢查的密鑰等。一個安全通道中可包含多個SA,每一個SA擁有一個不同的密鑰,這個密鑰稱為SAK。SAK由CAK根據算法推導產生,用於加密安全通道間傳輸的數據。MKA對每一個SAK可加密的報文數有所限製。當使用某SAK加密的報文超過限定的數目後,該SAK會被刷新。例如,在10Gbps的鏈路上,SAK最快300秒刷新一次。
MACsec安全通道建立後,兩端設備會通過交互MKA協議報文確認連接的存在。
當設備收到對端的MKA協議報文後,啟動MKA會話超時定時器。如果設備在該定時器設置的超時時間(缺省為6秒)內未再次收到對端的MKA協議報文,則認為該連接已不安全,清除建立的安全會話。
使能了MACsec功能且啟動了MACsec保護的端口發送數據幀時,需要對它進行加密;使能了MACsec功能的端口收到經過MACsec封裝的數據幀時,需要對它進行解密。加解密所使用的密鑰是通過MKA協議協商而來的。
MACsec封裝的數據幀會使用CAK推導出的密鑰進行ICV(完整性校驗值,Integrity Check Value)計算,並附加在MACsec報文的尾部。設備收到MACsec報文時,同樣使用MKA協商出的密鑰進行完整性檢驗值計算,然後將計算結果與報文中攜帶的ICV進行比較。如果比較結果相同,則表示報文合法;如果比較結果不相同,將依據配置的校驗模式,決定是否丟棄報文。
MACsec封裝的數據幀在網絡中傳輸時,可能出現報文順序的重排。MACsec重播保護機製允許數據幀有一定的亂序,這些亂序的報文序號在用戶指定的窗口範圍內可以被合法接收,超出窗口的報文會被丟棄。
如圖1-3所示,在客戶端和接入設備之間建立安全會話前,客戶端首先需要在接入設備的端口上進行802.1X認證。通過認證之後,客戶端將開始與接入設備進行會話協商、會話的建立和維護過程。MACsec協議的交互過程主要分為四個階段:身份認證、會話協商、安全通信和會話終止。
圖1-3 麵向主機模式的MACsec協議交互過程
(1) 身份認證
在客戶端和接入設備之間建立安全會話前,客戶端首先需要在接入設備的端口上進行802.1X認證。客戶端通過認證後,RADIUS服務器會把生成的CAK分發給客戶端和接入設備。
(2) 會話協商
客戶端和接入設備有了可用的CAK,使用EAPOL-MKA報文開始協商會話。在協商會話的過程中,客戶端和接入設備使用MKA協議向對方通告自身能力和建立會話所需的各種參數(如優先級、是否期望加密會話等)。會話協商時,接入設備會被自動選舉為密鑰服務器(Key Server)。密鑰服務器使用CAK派生出用於加密數據報文的SAK,並把SAK分發給客戶端。
(3) 安全通信
會話協商完成後,客戶端和接入設備有了可用的SAK,並使用SAK加密數據報文,開始加密通信。
(4) 會話終止
¡ 當接入設備收到802.1X客戶端的下線請求消息後,立即清除該用戶對應的安全會話,避免一個未認證的客戶端使用端口上前一個已認證客戶端建立的安全會話接入網絡。
¡ MKA會話超時定時器(固定時間6秒)超時後,本端仍然沒有收到對端的MKA協議報文,則清除該用戶對應的安全會話。
如圖1-4所示,設備之間使用配置的預共享密鑰開始協商會話,會話協商結束後開始安全通信。MACsec協議的交互過程主要分為三個階段:會話協商、安全通信和會話終止。
圖1-4 麵向設備模式的MACsec協議交互過程
(1) 會話協商
設備之間使用配置的預共享密鑰(PSK,Pre-Shared Key)作為CAK,通過EAPOL-MKA報文開始協商會話。設備間優先級較高的端口將被選舉為密鑰服務器(Key Server),負責生成和分發SAK,設備之間通過MKA協議向對方通告自身能力和建立會話所需的各種參數(如優先級、是否期望加密會話等)。
(2) 安全通信
會話協商完成後,各設備有了可用的SAK,並使用SAK加密數據報文,開始加密通信。
(3) 會話終止
¡ 當設備收到對方的下線請求消息後,立即清除該用戶對應的安全會話。
¡ MKA會話超時定時器(缺省為6秒,可配置)超時後,本端仍然沒有收到對端的MKA協議報文,則清除該用戶對應的安全會話。
與MACsec相關的協議規範有:
· IEEE 802.1X-2010:Port-Based Network Access Control
· IEEE 802.1AE-2006:Media Access Control (MAC) Security
需要注意的是:
· 僅以下單板支持MACsec功能:
¡ 下列SA係列接口板上編號為1~8的端口:LSQM2GP24TSSA8、LSQM2GT48SA8;
¡ 下列SC係列接口板上編號為1~8的端口:LSQM2GP24TSSC8、LSQM2GT24PTSSC8和LSQM2GT24TSSC8;
¡ 下列主控板上編號為1~8的端口:LSQM1CGP24TSSC8、LSQM1CGT24TSSC8。
· 采用麵向主機模式的MACsec會話連接時,使能MACsec的接口上不能開啟生成樹協議,關於STP配置命令的詳細介紹,請參見“二層技術-以太網交換命令參考”中的“生成樹”。
· 聚合接口上不支持配置MACsec功能,但聚合組內成員端口上支持配置MACsec功能。
· 如果要使用MACsec功能,規劃業務流量時請預留MACsec報文頭所占用的38個字節。
MACsec的配置包括兩大部分:
· 接口上的MACsec配置:用於控製接口的MACsec屬性參數,以及用於協商會話的MKA協議參數,包括使能接口上的MKA協議、配置預共享密鑰、MKA密鑰服務器的優先級等。其中,預共享密鑰和MKA密鑰服務器的優先級的配置主要用於麵向設備模式,在麵向主機模式下不需要。在麵向設備模式下,這些屬性可以在二層以太網接口和三層以太網接口上配置;在麵向主機模式下,隻能在配置802.1X的接口上配合生效,且該接口上不能開啟生成樹協議。
· MKA策略配置:用於配置一套MACsec屬性參數,通過應用在接口上,實現接口上的MACsec屬性參數個性化定製,同時也便於多個接口通過應用統一MKA策略來共享相同的MACsec屬性參數。該配置屬於可選配置。
由於MACsec屬性參數既可以在接口上直接配置,又可以使用MKA策略配置,因此由配置順序決定它們最終的生效情況。如果既在接口上直接配置MACsec屬性參數,又在接口上應用了MKA策略,則後執行的配置參數生效。
表1-1 接口上的MACsec配置任務簡介
配置任務 |
說明 |
詳細配置 |
|
使能MKA協議 |
必選 |
||
配置MACsec保護 |
必選 |
||
配置預共享密鑰 |
麵向設備模式下必選 麵向主機模式下不建議配置 |
||
配置MKA密鑰服務器的優先級 |
可選 |
||
配置MKA會話超時時間 |
僅麵向設備模式下需要配置MKA會話超時時間 |
||
配置MACsec加密偏移量 |
可選 |
||
配置MACsec重播保護功能 |
開啟MACsec重播保護功能 |
可選 |
|
配置MACsec重播保護窗口大小 |
可選 |
||
配置MACsec校驗 |
可選 |
||
配置MACsec維護模式 |
可選 |
表1-2 MKA策略配置任務簡介
配置任務 |
說明 |
詳細配置 |
||
創建MKA策略 |
必選 |
|||
配置MKA策略 |
配置MACsec加密偏移量 |
可選 |
||
配置MACsec重播保護功能 |
開啟MACsec重播保護功能 |
可選 |
||
配置MACsec重播保護窗口大小 |
可選 |
|||
配置MACsec校驗 |
可選 |
|||
應用MKA策略 |
應用配置策略 |
必選 |
||
可選 |
無MACsec能力的接口上,不支持使能MKA協議。
· MKA協議負責接口上MACsec安全通道的建立和管理,以及MACsec所使用密鑰的協商。
表1-3 使能MKA協議
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能MKA協議 |
mka enable |
缺省情況下,接口上的MKA協議處於關閉狀態 |
設備期望進行MACsec保護表達了本端對發送的數據幀進行MACsec保護的意願,但最終本端發送的數據幀是否啟用MACsec保護,要由密鑰服務器來決策。決策策略是:密鑰服務器和它的對端都支持MACsec特性,且至少有一端期望進行MACsec保護。
表1-4 配置MACsec保護
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
啟用MACsec保護 |
macsec desire |
缺省情況下,接口上不需要對發送的數據幀進行MACsec保護 |
在配置預共享密鑰時,MACsec應用模式的不同,需要注意:
· 在麵向設備模式中,兩端設備協商MKA會話使用的CAK通過預共享密鑰直接配置。為了保證設備間的MKA會話可以正常建立,必須保證兩端設備的接口上配置的預共享密鑰一致。
· 在麵向主機模式中,客戶端和接入設備的端口使用的CAK由802.1X認證過程中生成,不需要配置預共享密鑰。如果在接入設備的端口配置了預共享密鑰,由於802.1X認證過程生成的CAK的優先級低於預共享密鑰,該CAK將會被棄用,並導致MKA會話建立失敗,因此不建議該模式下配置預共享密鑰。
· 本端設備和對端設備建立MACsec連接時,請保證隻有建立連接的兩個端口上配置相同的CKN,兩端設備的其它端口上都不能配置與此相同的CKN,以免一個端口學習到多個鄰居而導致MACsec功能不能正常建立。
MACsec使用不同的加密算法套件時,CKN、CAK的取值長度有所不同,具體要求如下:
GCM-AES-128加密套件要求所使用的CKN、CAK的長度都必須為32個字符。在運行GCM-AES-128加密套件時,對於長度不足32個字符的CKN、CAK,係統會自動在其後補零,使其滿足32個字符;對於長度大於32個字符的CKN、CAK,係統隻獲取其前32個字符。
表1-5 配置預共享密鑰
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置預共享密鑰 |
mka psk ckn name cak { cipher | simple } string |
缺省情況下,接口不存在MKA預共享密鑰 |
MACsec加密數據報文使用的SAK由密鑰服務器生成。在配置MKA密鑰服務器的優先級時,根據MACsec應用模式的不同,需要注意:
· 在麵向主機模式中,接入設備的端口被自動選舉為密鑰服務器,不需要配置MKA密鑰服務器的優先級。
· 在麵向設備模式中,MKA密鑰服務器優先級較高(值較小)的設備端口將被選舉為密鑰服務器。如果設備端口的優先級相同,則比較設備端口的SCI(MAC地址+端口的ID),SCI值較小的端口將被選舉為密鑰服務器。
· 優先級為255的設備端口不能被選舉為密鑰服務器。相互連接的端口不能都配置優先級為255,否則MKA會話選舉不出密鑰服務器。
表1-6 配置MKA密鑰服務器的優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置MKA密鑰服務器的優先級 |
mka priority priority-value |
缺省情況下,MKA密鑰服務器的優先級為0 |
僅麵向設備模式下需要配置本功能,且兩端設備上配置的會話超時時間必須相同。
表1-7 配置MKA會話超時時間
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置MKA會話超時時間 |
mka timer mka-life seconds |
缺省情況下,MKA會話超時時間為6秒 |
MACsec加密偏移量表示從用戶數據幀幀頭開始偏移多少字節後開始加密,協議提供0、30、50三個偏移量供用戶使用。
需要注意的是,MACsec加密偏移量最終以密鑰服務器發布的加密偏移量為準。如果本端不是密鑰服務器,則應用密鑰服務器發布的加密偏移量;如果本端是密鑰服務器,則應用本端配置的加密偏移量。
表1-8 配置MACsec加密偏移量
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口上的MACsec加密偏移量 |
macsec confidentiality-offset offset-value |
缺省情況下,接口上的MACsec加密偏移量為0,表示整個數據幀都要加密 |
MACsec重播保護功能可以防止本端收到亂序或重複的數據幀。MACsec重播保護功能可以單獨開啟,且僅針對接收到的數據幀。配置的重播保護窗口大小僅在重播保護功能開啟的情況下有效。
表1-9 配置重播保護功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟接口上的MACsec重播保護功能 |
macsec replay-protection enable |
缺省情況下,接口上的MACsec重播保護功能處於開啟狀態 |
配置接口上的MACsec重播保護窗口大小 |
macsec replay-protection window-size size-value |
缺省情況下,接口上的MACsec重播保護窗口大小為0個數據幀,表示不允許接收亂序或重複的數據幀 |
如果接口開啟MACsec校驗功能,接口收到報文後,計算報文的ICV,與報文尾部的ICV比較,並根據校驗模式,決定報文是否丟棄。MACsec校驗模式分以下方式:
· check:檢查模式,表示隻作校驗,但不丟棄非法數據幀。
· strict:嚴格校驗模式,表示校驗接收數據幀,並丟棄非法數據幀。
在網絡中部署支持MACsec的設備時,為避免兩端因密鑰協商不一致而造成流量丟失,建議兩端均先配置為check模式,在密鑰協商成功後,再配置為strict模式。
表1-10 配置MACsec校驗模式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口上的MACsec校驗模式 |
macsec validation mode { check | strict } |
缺省情況下,接口上的MACsec校驗模式是check |
當設備接口配置MACsec功能後,與對端未建立MKA會話前,為保證數據的安全性,接口將暫時處於block狀態,此時數據流量不通,但仍可以交互MKA協議報文。
在由控製器自動下發配置的組網環境中,當控製器下串聯兩台設備且兩台設備間需要建立MKA會話時,如果兩台設備相連的接口上先配置了MACsec功能,則接口將暫時處於block狀態,導致控製器無法給遠端設備下發配置。此時會選擇在配置了MACsec功能的接口上開啟本功能,確保無論是否已經建立了MKA會話,接口均處於unblock狀態,兩端設備間流量通暢,遠端設備能正常接收控製器下發的配置。
當接口上收到來自相同SCI(MAC地址+端口ID)的攻擊報文時,本功能不會生效,接口仍然保持block狀態。
開啟本功能後,隻有收到對端的MKA協議報文後本端才會下發自身的SCI信息。
在開啟或關閉本功能之前,均需要先確保該接口上的MKA協議處於關閉狀態。
開啟本功能後,接口在極短時間內會發生振蕩,接口狀態可能會被標識為Down,導致MKA協議報文無法交互。因此開啟本功能前,需要通過link-delay down命令推遲將接口Down狀態上報CPU。
表1-11 配置MACsec維護模式
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
開啟MACsec維護模式 |
macsec maintenance-mode enable |
缺省情況下,MACsec維護模式處於關閉狀態 |
在未建立MKA會話前開啟本功能,將降低數據報文的安全性,請謹慎操作。
係統中可配置多個MKA策略。其中,缺省MKA策略default-policy不能被刪除和修改,它的參數取值均為接口上對應配置的缺省值。
表1-12 創建MKA策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建一個MKA策略,並進入MKA策略視圖 |
mka policy policy-name |
缺省情況下,存在一個缺省的MKA策略,名稱為default-policy |
MKA策略中包括以下配置項:
· 加密偏移量:指定用戶數據從多少字節後開始加密。
· 開啟重播保護功能和配置重播保護窗口大小:用於防止收到亂序或重複的數據幀。
· 接收數據幀的校驗模式:用於控製是否校驗數據幀以及是否丟棄非法數據幀。
表1-13 配置MKA策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入MKA策略視圖 |
mka policy policy-name |
- |
配置MACsec加密偏移量 |
confidentiality-offset offset-value |
缺省情況下,加密偏移為0 |
配置MACsec重播保護功能 |
· 開啟MACsec重播保護功能: · 配置MACsec重播保護窗口大小: |
缺省情況下,接口上的MACsec重播保護功能處於使能狀態 |
缺省情況下,接口上的MACsec重播保護窗口大小為0個數據幀,表示不允許接收亂序或重複的數據幀 |
||
配置MACsec校驗模式 |
validation mode { check | strict } |
缺省情況下,MACsec校驗模式是check |
一個MKA策略可應用於一個或多個接口。在接口上應用了MKA策略時,需要注意的是:
· 接口上應用的MKA策略中配置的MACsec屬性參數(加密偏移、校驗模式、重播保護功能和重播保護窗口大小)會覆蓋接口上配置的對應的MACsec屬性參數。
· 當修改應用到接口上的MKA策略配置時,接口上的相應的配置也會改變。
· 取消接口上應用的指定MKA策略時,接口上的加密偏移、校驗模式、重播保護功能和重播保護窗口大小都恢複為缺省情況。
· 當接口應用了一個不存在的MKA策略時,該接口會自動應用缺省MKA策略default-policy。之後,如果該策略被創建,則接口會自動使用配置的MKA策略。
表1-14 應用MKA策略
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入進口視圖 |
interface interface-type interface-number |
- |
應用MKA策略 |
mka apply policy policy-name |
缺省情況下,接口上沒有應用MKA策略 |
MKA會話的日誌信息是為了滿足網絡管理員維護的需要,對用戶的接入信息(如對端老化、SAK更新)進行記錄。設備生成的MKA會話的日誌信息會交給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。關於信息中心的詳細描述請參見“網絡管理和監控配置指導”中的“信息中心”。
為了防止設備輸出過多的MKA會話的日誌信息,一般情況下建議關閉此功能。
表1-15 配置MKA會話的日誌信息功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟MKA會話的日誌信息功能 |
macsec mka-session log enable |
MKA會話的日誌信息功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MACsec的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以重建會話和清除統計信息。
表1-16 MACsec顯示和維護
操作 |
命令 |
顯示接口上的MACsec運行信息 |
display macsec [ interface interface-type interface-number ] [ verbose ] |
顯示MKA會話信息 |
display mka session [ interface interface-type interface-number | local-sci sci-id ] [ verbose ] |
顯示MKA策略相關信息 |
display mka { default-policy | policy [ name policy-name ] } |
顯示接口上的MKA統計信息 |
display mka statistics [ interface interface-type interface-number ] |
重建接口上的MKA會話 |
reset mka session [ interface interface-type interface-number ] |
清除接口上的MKA統計信息 |
reset mka statistics [ interface interface-type interface-number ] |
用戶通過Device的端口GigabitEthernet1/0/1接入網絡,認證服務器為RADIUS服務器。設備對該端口接入的用戶進行802.1X認證以控製其訪問外網,為保證數據幀傳輸的安全性,有以下具體要求:
· 要求用戶和Device之間的數據通信進行MACsec保護,且加密報文的密鑰通過MKA協議協商獲得。
· MACsec加密偏移量為30字節。
· 開啟MACsec重播保護功能,配置重播保護窗口大小為100。
· 配置嚴格的MACsec校驗。
圖1-5 麵向主機模式MACsec配置組網圖(主機作為客戶端)
· 下述配置步驟中包含了若幹AAA/RADIUS協議的配置命令,關於這些命令的詳細介紹請參見“安全命令參考”中的“AAA”。
· 完成RADIUS服務器的配置,添加用戶賬戶,保證用戶的認證/授權/計費功能正常運行。
(1) 配置各接口的IP地址(略)
(2) 配置AAA
<Device> system-view
# 配置RADIUS方案radius1。具體參數取值請以服務器上的實際情況為準,此處僅為示例。
[Device] radius scheme radius1
[Device-radius-radius1] primary authentication 10.1.1.1
[Device-radius-radius1] primary accounting 10.1.1.1
[Device-radius-radius1] key authentication simple name
[Device-radius-radius1] key accounting simple name
[Device-radius-radius1] user-name-format without-domain
[Device-radius-radius1] quit
# 配置802.1X用戶使用認證域bbb。
[Device] domain bbb
[Device-isp-bbb] authentication lan-access radius-scheme radius1
[Device-isp-bbb] authorization lan-access radius-scheme radius1
[Device-isp-bbb] accounting lan-access radius-scheme radius1
[Device-isp-bbb] quit
(3) 配置802.1X
# 開啟端口GigabitEthernet1/0/1的802.1X。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] dot1x
# 配置端口的802.1X接入控製方式為portbased。
[Device-GigabitEthernet1/0/1] dot1x port-method portbased
# 指定端口上接入的802.1X用戶使用強製認證域bbb。
[Device-GigabitEthernet1/0/1] dot1x mandatory-domain bbb
[Device-GigabitEthernet1/0/1] quit
# 開啟全局802.1X,啟用EAP中繼的認證方法。
[Device] dot1x
[Device] dot1x authentication-method eap
(4) 配置MACsec
# 創建一個名稱為pls的MKA策略。
[Device] mka policy pls
# 配置MACsec加密偏移量為30。
[Device-mka-policy-pls] confidentiality-offset 30
# 開啟MACsec重播保護功能。
[Device-mka-policy-pls] replay-protection enable
# 配置MACsec重播保護窗口大小為100。
[Device-mka-policy-pls] replay-protection window-size 100
# 配置嚴格的MACsec校驗模式。
[Device-mka-policy-pls] validation mode strict
[Device-mka-policy-pls] quit
[Device] interface gigabitethernet 1/0/1
# 在端口GigabitEthernet1/0/1上應用MKA策略。
[Device-GigabitEthernet1/0/1] mka apply policy pls
# 在端口GigabitEthernet1/0/1上配置期望進行MACsec保護及使能MKA協議。
[Device-GigabitEthernet1/0/1] macsec desire
[Device-GigabitEthernet1/0/1] mka enable
[Device-GigabitEthernet1/0/1] quit
配置完成後,用戶可以使用display命令查看設備上MACsec的運行情況。
# 查看Device上的MACsec運行信息。
[Device] display macsec interface gigabitethernet 1/0/1 verbose
Interface GigabitEthernet1/0/1
Protect frames : Yes
Active MKA policy : pls
Replay protection : Enabled
Config reply window size : 100 frames
Active replay window size : 100 frames
Config confidentiality offset : 30 bytes
Active confidentinlity offset : 30 bytes
Validation mode : Strict
Included SCI : No
SCI conflict : No
Cipher suite : GCM-AES-128
MKA life time : 6 seconds
Transmit secure channel:
SCI : 00E00100000A0006
Elapsed time: 00h:02m:07s
Current SA : AN 0 PN 1
Receive secure channels:
SCI : 00E0020000000106
Elapsed time: 00h:02m:03s
Current SA : AN 0 LPN 1
Previous SA : AN N/A LPN N/A
# 用戶上線之後,查看Device上的MKA會話信息。
[Device] display mka session interface gigabitethernet 1/0/1 verbose
Interface GigabitEthernet1/0/1
Tx-SCI : 00E00100000A0006
Priority : 0
Capability: 3
CKN for participant: 1234
Key server : Yes
MI (MN) : A1E0D2897596817209CD2307 (2509)
Live peers : 1
Potential peers : 0
Principal actor : Yes
MKA session status : Secured
Confidentiality offset: 30 bytes
Tx-SSCI : N/A
Current SAK status : Rx & Tx
Current SAK AN : 0
Current SAK KI (KN) : A1E0D2897596817209CD230700000002 (2)
Previous SAK status : N/A
Previous SAK AN : N/A
Previous SAK KI (KN) : N/A
Live peer list:
MI MN Prio Cap Rx-SCI Rx-SSCI
B2CAF896C9BFE2ABFB135E63 2512 0 3 00E0020000000106 N/A
Switch的下行口與終端設備相連,上行通過Trunk端口GigabitEthernet1/0/2和GigabitEthernet1/0/3與Device的對應端口相連;認證服務器為RADIUS服務器。
Device為無法通過命令行配置預共享密鑰進行MACsec密鑰協商和報文加密的設備。需要開啟Switch的802.1X Client功能,將其作為802.1X客戶端,Device作為接入設備,采用麵向主機模式的MACsec機製,在802.1X認證過程中生成CAK,從而實現Switch上不同端口與Device之間的數據通信均可以進行MACsec保護,且加密報文的密鑰通過MKA協議協商獲得。
圖1-6 麵向主機模式MACsec配置組網圖(設備作為客戶端)
· 完成設備各接口的IP地址配置,保證Switch、Device和服務器之間的路由可達。
· 完成RADIUS服務器的配置,添加用戶賬戶,保證用戶的認證/授權/計費功能正常運行。
· 不同廠商Device上的配置有所差異,具體請參見對應的產品手冊。下述配置步驟中僅包括Switch上的配置,其中關於802.1X Client的配置命令的詳細介紹請參見“安全命令參考”中的“802.1X Client”。
# 創建VLAN 2。
<Switch> system-view
[Switch] vlan 2
[Switch-vlan2] quit
# 將GigabitEthernet1/0/2的鏈路類型配置為Trunk,並允許VLAN 2的報文通過。
[Switch] interface gigabitethernet 1/0/2
[Switch-Gigabitethernet1/0/2] port link-type trunk
[Switch-Gigabitethernet1/0/2] port trunk permit vlan 2
# 在端口GigabitEthernet1/0/2上配置802.1X認證用戶名為aaaa,認證密碼為明文123456。
[Switch-Gigabitethernet1/0/2] dot1x supplicant username aaaa
[Switch-Gigabitethernet1/0/2] dot1x supplicant password simple 123456
# 配置802.1X Client采用的認證方法為TTLS-GTC。
[Switch-Gigabitethernet1/0/2] dot1x supplicant eap-method ttls-gtc
# 配置802.1X Client認證使用的MAC地址為1-1-1。
[Switch-GigabitEthernet1/0/2] dot1x supplicant mac 1-1-1
# 在端口GigabitEthernet1/0/2開啟802.1X Client功能。
[Switch-Gigabitethernet1/0/2] dot1x supplicant enable
# 在端口GigabitEthernet1/0/2上配置期望進行MACsec保護及使能MKA協議。
[Switch-Gigabitethernet1/0/2] macsec desire
[Switch-Gigabitethernet1/0/2] mka enable
[Switch-Gigabitethernet1/0/2] quit
# 創建VLAN 3。
[Switch] vlan 3
[Switch-vlan3] quit
# 將GigabitEthernet1/0/3的鏈路類型配置為Trunk,並允許VLAN 3的報文通過。
[Switch] interface gigabitethernet 1/0/3
[Switch-Gigabitethernet1/0/3] port link-type trunk
[Switch-Gigabitethernet1/0/3] port trunk permit vlan 3
# 在端口GigabitEthernet1/0/3上配置802.1X認證用戶名為bbbb,認證密碼為明文654321。
[Switch-Gigabitethernet1/0/3] dot1x supplicant username bbbb
[Switch-Gigabitethernet1/0/3] dot1x supplicant password simple 654321
# 配置802.1X Client采用的認證方法為TTLS-GTC。
[Switch-Gigabitethernet1/0/3] dot1x supplicant eap-method ttls-gtc
# 配置802.1X Client認證使用的MAC地址為1-1-2。
[Switch-GigabitEthernet1/0/3] dot1x supplicant mac 1-1-2
# 在端口GigabitEthernet1/0/2開啟802.1X Client功能。
[Switch-Gigabitethernet1/0/3] dot1x supplicant enable
# 在端口GigabitEthernet1/0/3上配置期望進行MACsec保護及使能MKA協議。
[Switch-Gigabitethernet1/0/3] macsec desire
[Switch-Gigabitethernet1/0/3] mka enable
配置完成後,用戶可以使用display命令查看Switch上MACsec的運行情況。
# 顯示接口GigabitEthernet1/0/2上的MACsec運行的詳細信息。
[Switch] display macsec interface gigabitethernet 1/0/2 verbose
Interface GigabitEthernet1/0/2
Protect frames : Yes
Active MKA policy : pls
Replay protection : Enabled
Config replay window size : 100 frames
Active replay window size : 100 frames
Config confidentiality offset : 30 bytes
Active confidentiality offset : 30 bytes
Validation mode : Strict
Included SCI : No
SCI conflict : No
Cipher suite : GCM-AES-128
MKA life time : 6 seconds
Transmit secure channel:
SCI : 00E00100000A0006
Elapsed time: 00h:02m:07s
Current SA : AN 0 PN 1
Receive secure channels:
SCI : 00E0020000000106
Elapsed time: 00h:02m:03s
Current SA : AN 0 LPN 1
Previous SA : AN N/A LPN N/A
# 顯示接口GigabitEthernet1/0/3上的MACsec運行的詳細信息。
[Switch] display macsec interface gigabitethernet 1/0/3 verbose
Interface GigabitEthernet1/0/3
Protect frames : Yes
Replay protection : Enabled
Config replay window size : 100 frames
Active replay window size : 100 frames
Config confidentiality offset : 30 bytes
Active confidentiality offset : 30 bytes
Validation mode : Check
Included SCI : No
SCI conflict : No
Cipher suite : GCM-AES-128
MKA life time : 6 seconds
Transmit secure channel:
SCI : A087100801000103
Elapsed time: 00h:00m:55s
Current SA : AN 0 PN 1
Receive secure channels:
SCI : A0872B3602000003
Elapsed time: 00h:00m:52s
Current SA : AN 0 LPN 1
Previous SA : AN N/A LPN N/A
# 802.1X Client上線之後,在Switch上可查看接口GigabitEthernet1/0/2上的MKA會話詳細信息。
[Switch] display mka session interface gigabitethernet 1/0/2 verbose
Interface GigabitEthernet1/0/2
Tx-SCI : 00E00100000A0006
Priority : 0
Capability: 3
CKN for participant: 1234
Key server : Yes
MI (MN) : A1E0D2897596817209CD2307 (2509)
Live peers : 1
Potential peers : 0
Principal actor : Yes
MKA session status : Secured
Confidentiality offset: 30 bytes
Tx-SSCI : N/A
Current SAK status : Rx & Tx
Current SAK AN : 0
Current SAK KI (KN) : A1E0D2897596817209CD230700000002 (2)
Previous SAK status : N/A
Previous SAK AN : N/A
Previous SAK KI (KN) : N/A
Live peer list:
MI MN Prio Cap Rx-SCI Rx-SSCI
B2CAF896C9BFE2ABFB135E63 2512 0 3 00E0020000000106 N/A
# 802.1X Client上線之後,在Switch上可查看接口GigabitEthernet1/0/3上的MKA會話詳細信息。
[Switch] display mka session interface gigabitethernet 1/0/3 verbose
Interface GigabitEthernet1/0/3
Tx-SCI : A087100801000103
Priority : 0
Capability: 3
CKN for participant: 7B8784F16F85ED8F9D0130AA9B93D0F0
Key server : No
MI (MN) : D3F6D374598C8FD1F1819D6C (78)
Live peers : 1
Potential peers : 0
Principal actor : Yes
MKA session status : Secured
Confidentiality offset: 0 bytes
Tx-SSCI : N/A
Current SAK status : Rx & Tx
Current SAK AN : 0
Current SAK KI (KN) : FCA71854FCAE51398EC2DA7900000001 (1)
Previous SAK status : N/A
Previous SAK AN : N/A
Previous SAK KI (KN) : N/A
Live peer list:
MI MN Prio Cap Rx-SCI Rx-SSCI
FCA71854FCAE51398EC2DA79 71 0 3 A0872B3602000003 N/A
Device A和Device B相連,要求兩台設備之間的數據通信進行MACsec保護,具體要求如下:
· MACsec加密偏移量為30字節。
· 開啟MACsec重播保護功能,重播保護窗口大小為100。
· 開啟嚴格的MACsec校驗。
· 兩台設備使用的CAK均為靜態配置,CKN為E9AC,CAK為09DB3EF1。
· 由Device A作為密鑰服務器。
圖1-7 麵向設備模式MACsec配置組網圖
(1) 配置Device A
<DeviceA> system-view
# 在接口GigabitEthernet1/0/1上配置期望進行MACsec保護。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] macsec desire
# 配置MKA密鑰服務器的優先級為5。(本例中,Device A作為密鑰服務器,所以配置的Device A的優先級要比Device B的優先級高)
[DeviceA-GigabitEthernet1/0/1] mka priority 5
# 配置預共享密鑰的名稱為E9AC,預共享密鑰為明文09DB3EF1。
[DeviceA-GigabitEthernet1/0/1] mka psk ckn E9AC cak simple 09DB3EF1
# 配置MACsec加密偏移量為30。
[DeviceA-GigabitEthernet1/0/1] macsec confidentiality-offset 30
# 開啟MACsec重播保護功能。
[DeviceA-GigabitEthernet1/0/1] macsec replay-protection enable
# 配置MACsec重播保護窗口大小為100。
[DeviceA-GigabitEthernet1/0/1] macsec replay-protection window-size 100
# 配置嚴格的MACsec校驗模式。
[DeviceA-GigabitEthernet1/0/1] macsec validation mode strict
# 使能MKA協議。
[DeviceA-GigabitEthernet1/0/1] mka enable
[DeviceA-GigabitEthernet1/0/1] quit
(2) 配置Device B
<DeviceB> system-view
# 進入GigabitEthernet1/0/1接口視圖。
[DeviceB] interface gigabitethernet 1/0/1
# 配置期望進行MACsec保護。
[DeviceB-GigabitEthernet1/0/1] macsec desire
# 配置MKA密鑰服務器的優先級為10。
[DeviceB-GigabitEthernet1/0/1] mka priority 10
# 配置預共享密鑰的名稱為E9AC,預共享密鑰為明文09DB3EF1。
[DeviceB-GigabitEthernet1/0/1] mka psk ckn E9AC cak simple 09DB3EF1
# 配置MACsec加密偏移量為30。
[DeviceB-GigabitEthernet1/0/1] macsec confidentiality-offset 30
# 開啟MACsec重播保護功能。
[DeviceB-GigabitEthernet1/0/1] macsec replay-protection enable
# 配置MACsec重播保護窗口大小為100。
[DeviceB-GigabitEthernet1/0/1] macsec replay-protection window-size 100
# 配置嚴格的MACsec校驗模式。
[DeviceB-GigabitEthernet1/0/1] macsec validation mode strict
# 使能MKA協議。
[DeviceB-GigabitEthernet1/0/1] mka enable
[DeviceB-GigabitEthernet1/0/1] quit
配置完成後,用戶可以使用display命令查看設備上MACsec的運行情況。
# 查看DeviceA的MACsec運行信息。
[DeviceA] display macsec interface gigabitethernet 1/0/1 verbose
Interface GigabitEthernet1/0/1
Protect frames : Yes
Replay protection : Enabled
Config replay window size : 100 frames
Active replay window size : 100 frames
Config confidentiality offset : 30 bytes
Active confidentiality offset : 30 bytes
Validation mode : Strict
Included SCI : No
SCI conflict : No
Cipher suite : GCM-AES-128
MKA life time : 6 seconds
Transmit secure channel:
SCI : 00E00100000A0006
Elapsed time: 00h:05m:00s
Current SA : AN 0 PN 1
Receive secure channels:
SCI : 00E0020000000106
Elapsed time: 00h:03m:18s
Current SA : AN 0 LPN 1
Previous SA : AN N/A LPN N/A
# 查看DeviceA上的MKA會話信息。
[DeviceA] display mka session interface gigabitethernet 1/0/1 verbose
Interface GigabitEthernet1/0/1
Tx-SCI : 00E00100000A0006
Priority : 5
Capability: 3
CKN for participant: E9AC
Key server : Yes
MI (MN) : 85E004AF49934720AC5131D3 (182)
Live peers : 1
Potential peers : 0
Principal actor : Yes
MKA session status : Secured
Confidentiality offset: 30 bytes
Tx-SSCI : N/A
Current SAK status : Rx & Tx
Current SAK AN : 0
Current SAK KI (KN) : 85E004AF49934720AC5131D300000003 (3)
Previous SAK status : N/A
Previous SAK AN : N/A
Previous SAK KI (KN) : N/A
Live peer list:
MI MN Prio Cap Rx-SCI Rx-SSCI
12A1677D59DD211AE86A0128 182 10 3 00E0020000000106 N/A
# 查看DeviceB上的MACsec運行信息。
[DeviceB]display macsec interface gigabitethernet 1/0/1 verbose
Interface GigabitEthernet1/0/1
Protect frames : Yes
Replay protection : Enabled
Config replay window size : 100 frames
Active replay window size : 100 frames
Config confidentiality offset : 30 bytes
Active confidentiality offset : 30 bytes
Validation mode : Strict
Included SCI : No
SCI conflict : No
Cipher suite : GCM-AES-128
MKA life time : 6 seconds
Transmit secure channel:
SCI : 00E0020000000106
Elapsed time: 00h:05m:36s
Current SA : AN 0 PN 1
Receive secure channels:
SCI : 00E00100000A0006
Elapsed time: 00h:03m:21s
Current SA : AN 0 LPN 1
Previous SA : AN N/A LPN N/A
# 查看DeviceB上的MKA會話信息。
[DeviceB] display mka session interface gigabitethernet 1/0/1 verbose
Interface GigabitEthernet1/0/1
Tx-SCI : 00E0020000000106
Priority : 10
Capability: 3
CKN for participant: E9AC
Key server : No
MI (MN) : 12A1677D59DD211AE86A0128 (1219)
Live peers : 1
Potential peers : 0
Principal actor : Yes
MKA session status : Secured
Confidentiality offset: 30 bytes
Tx-SSCI : N/A
Current SAK status : Rx & Tx
Current SAK AN : 0
Current SAK KI (KN) : 85E004AF49934720AC5131D300000003 (3)
Previous SAK status : N/A
Previous SAK AN : N/A
Previous SAK KI (KN) : N/A
Live peer list:
MI MN Prio Cap Rx-SCI Rx-SSCI
85E004AF49934720AC5131D3 1216 5 3 00E00100000A0006 N/A
在鏈路狀態正常且鏈路兩端設備都支持MACsec功能,MACsec安全會話未建立。
可能的原因有:
· 接口未使能MKA協議。
· 如果接口使用預共享密鑰,接口的預共享密鑰未配置或配置不一致。
· 進入接口視圖下,使用display this命令查看MKA是否使能,如果未使能,請使用mka enable命令使能MKA協議。
· 進入接口視圖下,使用display this命令查看是否配置預共享密鑰,如果未配置,請使用mka psk命令配置;否則,請檢查已有配置的密鑰是否一致,不一致,則重新配置一致。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!