02-RBAC配置
本章節下載: 02-RBAC配置 (598.52 KB)
1.11.2 Telnet用戶的RADIUS用戶角色授權配置舉例
1.11.3 Telnet用戶的HWTACACS用戶角色切換認證配置舉例
1.11.4 Telnet 用戶的RADIUS用戶角色切換認證配置舉例
1.12.2 使用遠程認證服務器進行身份認證的用戶登錄設備失敗
RBAC(Role Based Access Control,基於角色的訪問控製)通過建立“權限<->角色”的關聯實現將權限賦予給角色,並通過建立“角色<->用戶”的關聯實現為用戶指定角色,從而使用戶獲得相應角色所具有的權限。RBAC的基本思想就是給用戶指定角色,這些角色中定義了允許用戶操作哪些係統功能以及資源對象。RBAC采用權限與用戶分離的思想,提高用戶權限分配的靈活性,減小用戶授權管理的複雜度,降低管理開銷。
為一個用戶角色賦予權限的具體實現包括以下兩個方麵:
· 定義用戶角色規則:實現對係統功能的操作權限的控製。例如,定義用戶角色規則允許用戶配置A功能,或禁止用戶配置B功能。
· 定義資源控製策略:實現對係統資源的操作權限的控製。例如,定義資源控製策略允許用戶操作VLAN 10。
資源控製策略需要與用戶角色規則相配合才能生效。在用戶執行命令的過程中,係統對該命令涉及的係統資源使用權限進行動態檢測,因此隻有用戶同時擁有執行該命令的權限和使用該資源的權限時,才能執行該命令。例如,若管理員為某用戶角色定義了一條規則允許用戶執行創建VLAN的命令vlan,且同時定義了一條VLAN策略允許用戶操作VLAN 10,則當用戶被授權此用戶角色並試圖創建VLAN 10時,操作會被允許,但試圖創建其它VLAN時,操作會被禁止。若管理員並沒有為該用戶角色定義規則允許用戶執行創建VLAN命令,則用戶即便擁有該VLAN資源的操作權限,也無法執行相關的命令。
用戶角色規則定義了允許/禁止用戶操作某些功能的權限。一個用戶角色中可以包含多條用戶角色規則,每條規則定義了是允許還是禁止用戶對某命令、特性、特性組、Web菜單、XML元素或者OID進行操作。
· 基於命令的規則:用來控製一條命令或者與指定命令關鍵字相匹配的一類命令是否允許被執行。
· 基於特性的規則:用來控製特性包含的命令是否允許被執行。
· 基於特性組的規則:用來同時對多個特性包含的命令進行控製。
· 基於Web菜單的規則:用來控製指定的Web菜單選項是否允許被操作。
· 基於XML元素的規則:用來控製指定的XML元素是否允許被執行。
· 基於OID的規則:用來控製指定的OID是否允許被SNMP訪問。
RBAC對命令、特性、特性組、Web菜單、XML元素或者OID進行的操作,又包括三種類型:
· 讀類型:用於顯示係統配置信息和維護信息。如顯示命令display、顯示文件信息的命令dir為讀類型的命令。
· 寫類型:用於對係統進行配置。如開啟信息中心功能的命令info-center enable、配置調試信息開關的命令debugging為寫類型的命令。
· 執行類型:用於執行特定的功能。如ping命令、與FTP服務器建立連接的命令ftp為執行類型的命令。
一個用戶角色中可以定義多條規則,各規則以創建時指定的編號為唯一標識,被授權該角色的用戶可以執行的命令為這些規則中定義的可執行命令的並集。若這些規則定義的權限內容有衝突,則規則編號大的有效。例如,規則1允許執行命令A,規則2允許執行命令B,規則3禁止執行命令A,則最終規則2和規則3生效,即禁止執行命令A,允許執行命令B。
資源控製策略規定了用戶對係統資源的操作權限。在用戶角色中可定義如下類型的資源控製策略:
· 接口策略:定義用戶允許操作的接口,包括創建並進入接口視圖、刪除接口。
· VLAN策略:定義用戶允許操作的VLAN,包括創建並進入VLAN視圖、刪除VLAN。
· VPN策略:定義用戶允許操作的VPN實例,包括創建並進入VPN視圖、刪除和應用VPN實例。
在display命令中指定接口/VLAN/VPN實例參數並不屬於應用接口/VLAN/VPN實例。
係統預定義了多種用戶角色,用戶角色名和對應的權限如表1-1所示。這些用戶角色缺省均具有操作所有係統資源的權限,但具有不同的係統功能操作權限。如果係統預定義的用戶角色無法滿足權限管理需求,管理員還可以自定義用戶角色來對用戶權限做進一步控製。
在所有係統預定義的用戶角色當中,僅network-admin、level-15角色的用戶具有執行創建/修改/刪除本地用戶和本地用戶組的權限。level-0~level-14和自定義角色的用戶,即使被授權對本地用戶和本地用戶組的操作權限,也僅僅具有修改自身密碼、執行創建/修改/刪除網絡接入類本地用戶的權限,沒有執行創建/修改/刪除設備管理類本地用戶和本地用戶組的權限。其它角色的用戶,即使被授權對本地用戶和本地用戶組的操作權限,也僅僅具有修改自身密碼的權限,沒有除此之外的對本地用戶和本地用戶組的任何操作權限。
用戶以任意角色登錄設備,在某視圖下輸入<?>會顯示該視圖下係統定義的缺省別名幫助信息,但用戶對幫助信息中的命令行別名未必具有實際操作權限,命令行別名的實際操作權限以原命令行的操作權限為準。有關命令行別名的詳細介紹請參見“基礎配置指導”中的“CLI”。
用戶以任意角色登錄設備,均具有執行system-view、quit和exit命令的權限。
係統預定義的用戶角色中,僅level-0~level-14可以通過自定義規則和資源控製策略調整自身的權限,但這種修改對於display history-command all命令不生效,即不能通過添加對應的規則來更改它的缺省執行權限。
用戶角色名 |
權限 |
network-admin |
可操作係統所有功能和資源(除安全日誌文件管理相關命令display security-logfile summary、info-center security-logfile directory、security-logfile save之外) |
network-operator |
· 可執行係統所有功能和資源的相關display命令(除display history-command all、display security-logfile summary等命令,具體請通過display role命令查看) · 如果用戶采用本地認證方式登錄係統並被授予該角色,則可以修改自己的密碼 · 可執行進入XML視圖的命令 · 可允許用戶操作所有讀類型的Web菜單選項 · 可允許用戶操作所有讀類型的XML元素 · 可允許用戶操作所有讀類型的OID |
level-n (n = 0~15) |
· level-0:可執行命令ping、tracert、ssh2、telnet和super,且管理員可以為其配置權限 · level-1:具有level-0用戶角色的權限,並且可執行係統所有功能和資源的相關display命令(除display history-command all之外),以及管理員可以為其配置權限 · level-2~level-8和level-10~level-14:無缺省權限,需要管理員為其配置權限 · level-9:可操作係統中絕大多數的功能和所有的資源,且管理員可以為其配置權限,但不能操作display history-command all命令、RBAC的命令(Debug命令除外)、文件管理、設備管理以及本地用戶特性。對於本地用戶,若用戶登錄係統並被授予該角色,可以修改自己的密碼 · level-15:具有與network-admin角色相同的權限 |
security-audit |
安全日誌管理員,僅具有安全日誌文件的讀、寫、執行權限,具體如下: · 可執行安全日誌文件管理相關的命令(display security-logfile summary、info-center security-logfile directory、security-logfile save)。安全日誌文件管理相關命令的介紹,請參見“網絡管理與監控”中的“信息中心” · 可執行安全日誌文件操作相關的命令,例如more顯示安全日誌文件內容;dir、mkdir操作安全日誌文件目錄等,具體命令的介紹請參見“基礎配置命令參考”中的“文件係統管理” 以上權限,僅安全日誌管理員角色獨有,其它任何角色均不具備 該角色不能被授權給從當前用戶線登錄係統的用戶 |
guest-manager |
來賓用戶管理員,隻能查看和配置與來賓有關的web頁麵,沒有控製命令行的權限 |
通過為用戶授權角色實現角色與用戶的關聯。將有效的用戶角色成功授權給用戶後,登錄設備的用戶才能以各角色所具有的權限來配置、管理或者監控設備。根據用戶登錄設備時采用的不同認證方式,可以將為用戶授權角色分為AAA(Authentication、Authorization、Accounting,認證、授權、計費)方式和非AAA方式。
· AAA方式:用戶登錄時使用的認證方式為scheme,用戶登錄設備後所擁有的用戶角色由AAA功能進行授權。
¡ 若用戶通過了本地授權,則由設備為其授權用戶角色,授權的用戶角色是在本地用戶中設置的。
¡ 若用戶通過了遠程授權,則由遠程AAA服務器為其授權用戶角色,授權的用戶角色是在遠程AAA服務器(RADIUS或HWTACACS服務器)上設置的。
· 非AAA方式:用戶登錄時使用的認證方式為none或者password,用戶登錄後所擁有的用戶角色是用戶線下配置的用戶角色。SSH用戶通過publickey或password-publickey認證登錄服務器,登錄後將被授予同名的設備管理類本地用戶視圖下配置的授權用戶角色。
以上兩種方式均支持對一個用戶同時授權多個用戶角色。擁有多個角色的用戶可獲得這些角色中被允許執行的功能以及被允許操作的資源的集合。例如,某用戶擁有角色A,它禁止用戶執行qos apply policy命令,且僅允許操作接口2。同時,該用戶擁有角色B,它允許用戶執行qos apply policy命令,且允許用戶操作所有接口。則,這種情況下該用戶將能夠在所有接口下執行qos apply policy命令,以及可以操作所有的接口資源。
AAA相關內容的介紹請參見“安全配置指導”中的“AAA”。用戶線相關內容的介紹請參見“基礎配置指導”中的“登錄設備”。
設備運行於FIPS模式時,本特性部分配置相對於非FIPS模式有所變化,具體差異請見本文相關描述。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。
RBAC配置任務如下:
(1) 創建用戶角色
(2) 配置用戶角色規則
(3) (可選)配置特性組
(4) 配置資源控製策略
(5) 為用戶授權角色
(6) 配置用戶角色切換
c. 配置用戶角色切換的密碼
d. (可選)配置用戶角色切換認證時使用用戶登錄的用戶名認證
e. 切換用戶角色
f. (可選)配置用戶角色切換告警功能
如果係統預定義角色無法滿足用戶的權限管理需求,可以自定義用戶角色來對用戶權限做更精細和靈活的控製。除係統預定義的用戶角色外,係統中最多允許同時創建64個用戶角色。
(1) 進入係統視圖。
system-view
(2) 創建用戶角色,並進入用戶角色視圖。
role name role-name
缺省情況下,係統預定義的用戶角色為network-admin、network-operator、level-n(n為0~15的整數)、security-audit、guest-manager。其中,僅用戶角色level-0~level-14可以自定義規則、資源控製策略以及配置描述信息。
(3) (可選)配置用戶角色描述信息。
description text
缺省情況下,未定義用戶角色描述信息。
一個用戶角色中可以包含多條用戶角色規則,每條規則定義了是允許或禁止用戶對某命令、特性、特性組、Web菜單、XML元素或者OID進行操作。
· 基於非OID的規則匹配
¡ 一個用戶角色中可以定義多條規則,各規則以創建時指定的編號為唯一標識,被授權該角色的用戶可以執行的命令為這些規則中定義的可執行命令的並集。若這些規則定義的權限內容有衝突,則規則編號大的有效。例如,角色中存在“rule 1 permit command ping”,“rule 2 permit command tracert”和“rule 3 deny command ping”,其中rule 1和rule 3衝突,規則編號大的rule 3生效,匹配的結果為用戶禁止執行ping命令,允許執行tracert命令。
¡ 同時存在係統預定義規則和自定義規則的用戶角色時,若預定義規則定義的權限內容與自定義規則定義的權限內容有衝突,則以自定義規則為準。
· 基於OID的規則匹配
¡ 與用戶訪問的OID形成最長匹配的規則生效。例如用戶訪問的OID為1.3.6.1.4.1.25506.141.3.0.1,角色中存在“rule 1 permit read write oid 1.3.6”,“rule 2 deny read write oid 1.3.6.1.4.1”和“rule 3 permit read write oid 1.3.6.1.4”,其中rule 2與用戶訪問的OID形成最長匹配,則認為rule 2與OID匹配,匹配的結果為用戶的此訪問請求被拒絕。
¡ 對於定義的OID長度相同的規則,規則編號大的生效。例如用戶訪問的OID為1.3.6.1.4.1.25506.141.3.0.1,角色中存在“rule 1 permit read write oid 1.3.6”,“rule 2 deny read write oid 1.3.6.1.4.1”和“rule 3 permit read write oid 1.3.6.1.4.1”,其中rule 2和rule 3與訪問的OID形成最長匹配,則rule 3生效,匹配的結果為用戶的訪問請求被允許。
· 隻有具有network-admin或者level-15用戶角色的用戶登錄設備後才具有如下全部命令的操作權限,其它係統預定義角色隻有如下部分命令的操作權限(具體支持情況請通過display role命令查看),用戶自定義角色不具有如下所有命令的操作權限。
¡ display history-command all命令。
¡ 以display role、display license、reboot、startup saved-configuration開頭的所有命令。
¡ 係統視圖下以role、undo role、super、undo super、license、password-recovery、undo password-recovery開頭的所有命令。
¡ 係統視圖下創建SNMP團體、用戶或組的命令:snmp-agent community、snmp-agent usm-user和snmp-agent group。
¡ 用戶線視圖下以user-role、undo user-role、authentication-mode、undo authentication-mode、set authentication password、undo set authentication password開頭的所有命令。
¡ Schedule視圖下以user-role、undo user-role開頭的所有命令。
¡ CLI監控策略視圖下以user-role、undo user-role開頭的所有命令。
¡ Event MIB特性中所有類型的命令。
· 每個用戶角色中最多可以配置256條規則,係統中的用戶角色規則總數不能超過1024。
· 修改後的規則對於當前已經在線的用戶不生效,對於之後使用該角色登錄設備的用戶生效。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
¡ 配置基於命令的規則。
rule number { deny | permit } command command-string
¡ 配置基於特性的規則。
rule number { deny | permit } { execute | read | write } * feature [ feature-name ]
¡ 配置基於特性組的規則。
rule number { deny | permit } { execute | read | write } * feature-group feature-group-name
隻有特性組創建後,基於特性組的規則才能生效。
¡ 配置基於Web菜單的規則。
rule number { deny | permit } { execute | read | write } * web-menu [ web-string ]
¡ 配置基於XML元素的規則。
rule number { deny | permit } { execute | read | write } * xml-element [ xml-string ]
¡ 配置基於OID的規則。
rule number { deny | permit } { execute | read | write } * oid oid-string
特性組是一個或者多個特性的集合。配置特性組便於管理員為有相同權限需求的多個特性定義統一的用戶角色規則。除係統預定義的特性組之外,最多允許創建64個特性組,且各特性組之間包含的特性允許重疊。
(1) 進入係統視圖。
system-view
(2) 創建特性組,並進入特性組視圖。
role feature-group name feature-group-name
缺省情況下,存在兩個係統預定義特性組,名稱為L2和L3,且不能被修改和刪除。
¡ L2:包含所有二層協議相關功能的命令。
¡ L3:包含所有三層協議相關功能的命令。
(3) 向特性組中添加一個特性。
feature feature-name
缺省情況下,自定義特性組中不包含任何特性。
資源控製策略分為接口策略、VLAN策略、VPN策略。所有用戶角色均具有缺省的資源控製策略,允許用戶具有操作任何係統資源的權限。若要限製或區分用戶對這些資源的使用權限,則應該配置資源控製策略並在指定類型的策略中配置允許操作的資源列表。
修改後的資源控製策略對於當前已經在線的用戶不生效,對於之後使用該角色登錄設備的用戶生效。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
(3) 進入接口策略視圖。
interface policy deny
缺省情況下,用戶角色具有操作任何接口的權限。
進入接口策略視圖後,如果不配置允許操作的接口列表,則用戶將沒有操作任何接口的權限;如果需要限製或區分用戶對接口資源的使用權限,則還應該通過permit interface命令配置允許用戶操作的接口列表。
(4) (可選)配置允許操作的接口列表。
permit interface interface-list
缺省情況下,未定義允許操作的接口列表,用戶角色沒有操作任何接口的權限。
可以多次執行此命令向接口列表中添加允許操作的接口。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
(3) 進入VLAN策略視圖。
vlan policy deny
缺省情況下,用戶具有操作任何VLAN的權限。
進入VLAN策略視圖後,如果不配置允許操作的VLAN列表,則用戶將沒有操作任何VLAN的權限;如果需要限製或區分用戶對VLAN資源的使用權限,則還應該通過permit vlan命令配置允許用戶操作的VLAN列表。
(4) (可選)配置允許操作的VLAN列表。
permit vlan vlan-id-list
缺省情況下,未定義允許操作的VLAN列表,用戶沒有操作任何VLAN的權限。
可以多次執行此命令向VLAN列表中添加允許操作的VLAN。
(1) 進入係統視圖。
system-view
(2) 進入用戶角色視圖。
role name role-name
(3) 進入VPN策略視圖。
vpn-instance policy deny
缺省情況下,用戶具有操作任何VPN實例的權限。
進入VPN策略視圖後,如果不配置允許操作的VPN實例列表,則用戶將沒有操作任何VPN實例的權限;如果需要限製或區分用戶對VPN資源的使用權限,則還應該通過permit vpn-instance命令配置允許用戶操作的VPN實例列表。
(4) (可選)配置允許操作的VPN實例列表。
permit vpn-instance vpn-instance-name&<1-10>
缺省情況下,未定義允許操作的VPN實例列表,用戶沒有操作任何VPN實例的權限。
可以多次執行此命令向VPN實例列表中添加允許操作的VPN實例。
為保證對用戶授權角色成功,設備上必須存在對應的被授權的用戶角色。若要授權的用戶角色有多個,則隻要被授權的用戶角色中的一個或多個在設備上存在,相應的用戶角色即可授權成功;若設備上不存在任何一個被授權的用戶角色,則用戶角色授權將會失敗。
對於通過AAA認證登錄設備的用戶,由服務器(遠程認證服務器或本地認證服務器)為其授權用戶角色。如果用戶沒有被授權任何用戶角色,將無法成功登錄設備,需要使能缺省用戶角色授權功能。為此,設備提供了一個缺省用戶角色授權功能。使能該功能後,用戶在沒有被服務器授權任何角色的情況下,將具有一個缺省的用戶角色,該缺省用戶角色可以通過參數配置為係統中已存在的任意用戶角色。
(1) 進入係統視圖。
system-view
(2) 使能缺省用戶角色授權功能。
role default-role enable [ role-name ]
缺省情況下,缺省用戶角色授權功能處於關閉狀態。
若未通過authorization-attribute命令配置本地用戶或用戶組的授權屬性,則必須使能缺省用戶角色授權功能。關於命令authorization-attribute的詳細介紹請參見“安全配置命令參考”的“AAA”。
對於通過AAA遠程認證登錄設備的用戶,由AAA服務器的配置決定為其授權的用戶角色。有關AAA以及遠程AAA認證相關配置的詳細介紹請參見“安全配置指導”中的“AAA”。
RADIUS服務器上的授權角色配置與服務器的具體情況有關,請參考服務器的配置指導進行;HWTACACS服務器上的授權角色配置必須滿足格式:roles="name1 name2 namen",其中name1、name2、namen為要授權下發給用戶的用戶角色,可為多個,並使用空格分隔。
需要注意的是,若AAA服務器同時為用戶授權了包括安全日誌管理員在內的多個用戶角色,則僅安全日誌管理員角色生效。
對於通過本地AAA認證登錄設備的用戶,由本地用戶配置決定為其授權的用戶角色。有關AAA以及本地用戶相關配置的詳細介紹請參見“安全配置指導”中的“AAA”。
· 由於本地用戶缺省就擁有一個用戶角色,如果要賦予本地用戶新的用戶角色,請確認是否需要保留這個缺省的用戶角色,若不需要,請刪除。
· 係統中的最後一個安全日誌管理員角色的本地用戶不可被刪除。
· 安全日誌管理員與其它用戶角色互斥,為一個本地用戶授權安全日誌管理員角色時,經過界麵的交互式確認後,係統會自動刪除當前用戶的所有其它他用戶角色。
· 如果已經為當前本地用戶授權了安全日誌管理員角色,再授權其它的用戶角色時,經過界麵的交互確認後,係統會自動刪除當前用戶的安全日誌管理員角色。
· 可通過多次執行該配置,為本地用戶授權多個用戶角色,最多可授權64個。
(1) 進入係統視圖。
system-view
(2) 創建本地用戶,並進入本地用戶視圖。
local-user user-name class { manage | network }
(3) 為本地用戶授權用戶角色。
authorization-attribute user-role role-name
缺省情況下,由用戶角色為network-admin或level-15的用戶創建的本地用戶將被授權用戶角色network-operator。
對於不使用AAA認證登錄設備的非SSH用戶,由用戶線配置決定為其授權的用戶角色。有關用戶線相關配置的詳細介紹請參見“基礎配置指導”中的“登錄設備”。
通過publickey或password-publickey認證登錄設備的SSH用戶,由同名的設備管理類本地用戶配置決定為其授權的用戶角色。SSH用戶相關的介紹請參見“安全配置指導”中的“SSH”。
可通過多次執行本命令,配置多個用戶角色,最多可配置64個。
不能為從當前用戶線登錄係統的用戶授權安全日誌管理員的用戶角色。
(1) 進入係統視圖。
system-view
(2) 進入用戶線或用戶線類視圖。
¡ 進入用戶線視圖。
line { first-num1 [ last-num1 ] | { aux | vty } first-num2 [ last-num2 ] }
¡ 進入用戶線類視圖。
line class { aux | vty }
關於用戶線和用戶線視圖下各屬性生效情況和優先級的詳細介紹,請參見“基礎配置指導”中的“登錄設備”。
(3) 為從當前用戶線登錄係統的用戶配置授權的用戶角色。
user-role role-name
缺省情況下,使用AUX用戶線登錄係統的用戶將被授權用戶角色network-admin;通過其它用戶線登錄係統的用戶將被授權用戶角色network-operator。
切換用戶角色是指在不退出當前登錄、不斷開當前連接的前提下修改用戶的用戶角色,改變用戶所擁有的命令行權限。切換後的用戶角色隻對當前登錄生效,用戶重新登錄後,又會恢複到原有角色。
· 為了防止對設備的誤操作,通常情況下建議管理員使用較低權限的用戶角色登錄設備、查看設備運行參數,當需要對設備進行維護時,再臨時切換到較高權限的用戶角色。
· 當管理員需要暫時離開設備或者將設備暫時交給其它人代為管理時,為了安全起見,可以臨時切換到較低權限的用戶角色,來限製其他人員的操作。
· 為了保證操作的安全性,通常用戶進行用戶角色切換時,均需要輸入用戶角色切換密碼。切換到不同的用戶角色時,需要輸入相應切換密碼。如果服務器沒有響應或者沒有配置用戶角色切換密碼,則切換操作失敗,若還有備份認證方案,則轉而進行備份認證。設備支持如表1-2所示的四種用戶角色切換認證方式。
認證方式 |
涵義 |
說明 |
local |
本地密碼認證 |
設備驗證用戶輸入的用戶角色切換密碼 使用該方式時,需要在設備上使用super password命令設置用戶角色切換密碼 對於Console口登錄的用戶,在設備僅采用本地密碼切換認證方式且未配置切換密碼的情況下,設備不關心用戶是否輸入切換密碼以及輸入切換密碼的內容,可允許用戶成功切換用戶角色 |
scheme |
通過HWTACACS或RADIUS進行遠程AAA認證 |
設備將用戶角色切換使用的用戶名和密碼發送給HWTACACS/RADIUS服務器進行遠程驗證 使用該方式時,需要進行以下相關配置: · 在設備上配置HWTACACS/RADIUS方案,並在ISP域中引用已創建的HWTACACS/RADIUS方案,詳細介紹請參見“安全配置指導”中的“AAA” · 在HWTACACS/RADIUS服務器上創建相應的用戶並配置密碼 |
local scheme |
先本地密碼認證,後遠程AAA認證 |
先進行本地密碼認證,若設備上未設置本地用戶角色切換密碼,使用VTY用戶線登錄的用戶則轉為遠程AAA認證,使用AUX用戶線登錄的用戶則可以成功切換用戶角色 |
scheme local |
先遠程AAA認證,後本地密碼認證 |
先進行遠程AAA認證,遠程HWTACACS/RADIUS服務器無響應或設備上的AAA遠程認證配置無效時,轉為本地密碼認證 |
· 在進行切換操作前,請先保證配置了正確的用戶角色切換密碼。
· 當使用HWTACACS方案進行用戶角色切換認證時,若未配置用戶角色切換認證時使用用戶登錄的用戶名認證,則係統使用用戶輸入的用戶角色切換用戶名進行角色切換認證,HWTACACS服務器上也必須存在相應的用戶。
¡ 當用戶要切換到level-n的用戶角色時,要求HWTACACS服務器上存在能提供切換到level-n角色的用戶。在HWTACACS服務器上,支持切換到用戶角色level-n的用戶也能夠支持切換到level-0到level-n之間任意的用戶角色。
¡ 當用戶要切換到非level-n的用戶角色時,要求HWTACACS服務器上存在至少能提供切換到level-0角色的用戶,且該用戶配置了取值為allowed-roles=”role”的自定義屬性(其中role為要切換的目的用戶角色名稱)。
· 當使用RADIUS方案進行用戶角色切換認證時,係統使用“$enabn$”形式的用戶名進行用戶角色切換認證,其中n為用戶希望切換到的用戶角色level-n中的n,RADIUS服務器上也必須存在該形式用戶名的用戶。與HWTACACS不同的是,用戶進行角色切換時可輸入任意用戶名,該名稱在認證過程中無實際意義。
¡ 當用戶要切換到level-n的用戶角色時,要求RADIUS服務器上存在用戶名為“$enabn$”的用戶。例如,用戶希望切換到用戶角色level-3,輸入任意用戶名,係統忽略用戶輸入的用戶名,使用“$enab3$”形式的用戶名進行用戶角色切換認證。
¡ 當用戶要切換到非level-n的用戶角色時,要求RADIUS服務器上存在用戶名為“$enab0$”的用戶,且該用戶配置了取值為allowed-roles=”role”的自定義屬性(其中role為要切換的目的用戶角色名稱)。
· 用戶進行用戶角色切換認證時,係統發送給RADIUS服務器的認證請求報文中的用戶名中不會攜帶域名,係統采用的切換認證方案使用缺省域。
· 用戶進行用戶角色切換認證時,係統發送給HWTACACS服務器的認證請求報文中的用戶名是否攜帶域名由配置決定(user-name-format),係統采用的切換認證方案由用戶輸入的用戶名中指定的域名決定,若該用戶名中未攜帶域名,則使用缺省域。
· 當用戶從用戶角色a切換到用戶角色b後,若輸入quit命令,將退出當前登錄的用戶線。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換時的認證方式。
super authentication-mode { local | scheme } *
缺省情況下,采用local認證方式。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換的缺省目的用戶角色。
super default role role-name
缺省情況下,用戶角色切換的缺省目的角色為network-admin。
如果用戶角色的切換認證方式采用local認證方式,則需要配置用戶角色切換的密碼。如果采用scheme認證方式則無需此配置。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換的密碼。
(非FIPS模式)
super password [ role role-name ] [ { hash | simple } string ]
(FIPS模式)
super password [ role role-name ]
缺省情況下,未設置切換用戶角色的密碼。
若不指定用戶角色,則設置的是切換到當前缺省目的用戶角色的密碼。
在設備采用遠程AAA認證方案進行用戶角色切換認證,且用戶采用用戶名和密碼方式登錄設備的情況下,用戶切換用戶角色時,設備會自動獲取用戶登錄使用的用戶名作為角色切換認證的用戶名,不再需要用戶輸入用戶名。
開啟本功能後,若設備采用遠程AAA認證方案進行用戶角色切換認證,但用戶未采用用戶名和密碼方式登錄設備,則用戶角色切換失敗。
若設備未采用遠程AAA認證方案進行用戶角色切換認證,則本功能配置無法生效。
(1) 進入係統視圖。
system-view
(2) 配置用戶角色切換認證時使用用戶登錄的用戶名認證。
super use-login-username
缺省情況下,用戶角色切換認證時係統提示用戶輸入用戶名進行認證。
用戶最多可以連續進行三次切換認證,如果三次認證都失敗則本輪切換失敗。
在與當前登錄用戶相同的ISP域中執行用戶角色切換認證時,如果用戶角色切換認證使用的AAA方案與登錄域下配置的登錄授權方法不同,可能無法切換到非level-n用戶角色。
要解決此問題,建議authentication super命令配置的AAA方案與登錄域下通過authorization login命令配置的AAA方案保持一致。
AAA相關內容的介紹請參見“安全配置指導”中的“AAA”。
若要執行切換用戶角色的操作,必須保證當前用戶具有執行本命令的權限。
請在用戶視圖下執行本命令,切換用戶角色。
super [ role-name ]
若不指定用戶角色,則切換到當前缺省目的用戶角色。缺省的目的用戶角色由super default role命令指定。
開啟用戶角色切換告警功能後,係統將會生成以下幾種告警信息:
· 用戶從當前角色切換到指定角色成功時的告警:當用戶使用super命令切換當前用戶角色成功時,將輸出此告警信息。
· 用戶從當前角色切換到指定角色失敗時的告警:當用戶使用super命令切換當前用戶角色失敗時,將輸出此告警信息。為了保證操作的安全性,通常用戶進行用戶角色切換時,需要輸入用戶角色切換密碼,如果配置的認證服務器沒有響應或者沒有配置用戶角色切換密碼,則切換操作失敗。
生成的告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
(1) 進入係統視圖。
system-view
(2) 開啟用戶角色切換告警功能。
snmp-agent trap enable super [ change-failure-warning | change-succesful-warning ] *
缺省情況下,所有類型的用戶角色切換告警功能均處於關閉狀態。
完成上述配置後,在任意視圖下執行display命令可以顯示配置後RBAC的運行情況,通過查看顯示信息驗證配置的效果。
表1-3 RBAC顯示和維護
操作 |
命令 |
顯示用戶角色信息 |
display role [ name role-name ] |
顯示特性信息 |
display role feature [ name feature-name | verbose ] |
顯示特性組信息 |
display role feature-group [ name feature-group-name ] [ verbose ] |
如圖1-1所示,Telnet用戶主機與Switch相連,需要實現Switch對Telnet用戶進行本地認證並授權用戶角色。Telnet用戶的登錄用戶名為user1@bbb,認證通過後被授權的用戶角色為role1。
role1具有如下用戶權限:
· 允許用戶執行所有特性中讀類型的命令;
· 允許用戶執行創建VLAN以及進入VLAN視圖後的相關命令,並隻具有操作VLAN 10~VLAN 20的權限。
圖1-1 Telnet用戶本地認證/授權配置組網圖
# 配置VLAN接口2的IP地址,Telnet用戶將通過該地址連接Switch。
<Switch> system-view
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.70 255.255.255.0
[Switch-Vlan-interface2] quit
# 開啟Switch的Telnet服務器功能。
[Switch] telnet server enable
# 配置Telnet用戶登錄采用AAA認證方式。
[Switch] line vty 0 63
[Switch-line-vty0-63] authentication-mode scheme
[Switch-line-vty0-63] quit
# 配置ISP域bbb的AAA方法為本地認證和本地授權。
[Switch] domain bbb
[Switch-isp-bbb] authentication login local
[Switch-isp-bbb] authorization login local
[Switch-isp-bbb] quit
# 創建用戶角色role1。
[Switch] role name role1
# 配置用戶角色規則1,允許用戶執行所有特性中讀類型的命令。
[Switch-role-role1] rule 1 permit read feature
# 配置用戶角色規則2,允許用戶執行創建VLAN以及進入VLAN視圖後的相關命令。
[Switch-role-role1] rule 2 permit command system-view ; vlan *
# 進入VLAN策略視圖,允許用戶具有操作VLAN 10~VLAN 20的權限。
[Switch-role-role1] vlan policy deny
[Switch-role-role1-vlanpolicy] permit vlan 10 to 20
[Switch-role-role1-vlanpolicy] quit
[Switch-role-role1] quit
# 創建設備管理類本地用戶user1。
[Switch] local-user user1 class manage
# 配置用戶的密碼是明文的123456TESTplat&!。
[Switch-luser-manage-user1] password simple 123456TESTplat&!
# 指定用戶的服務類型是Telnet。
[Switch-luser-manage-user1] service-type telnet
# 指定用戶user1的授權角色為role1。
[Switch-luser-manage-user1] authorization-attribute user-role role1
# 為保證用戶僅使用授權的用戶角色role1,刪除用戶user1具有的缺省用戶角色network-operator。
[Switch-luser-manage-user1] undo authorization-attribute user-role network-operator
[Switch-luser-manage-user1] quit
用戶向Switch發起Telnet連接,在Telnet客戶端按照提示輸入用戶名user1@bbb及正確的密碼後,可成功登錄Switch,並被授予用戶角色role1,具有相應的命令行執行權限。
可通過如下步驟驗證用戶的權限:
· 可操作VLAN 10~VLAN 20。(以創建VLAN 10為例)
<Switch> system-view
[Switch] vlan 10
[Switch-vlan10] quit
· 不能操作其它VLAN。(以創建VLAN 30為例)
[Switch] vlan 30
Permission denied.
· 可執行所有特性中讀類型的命令。(以display clock為例)
[Switch] display clock
09:31:56.258 UTC Sat 01/01/2017
[Switch] quit
· 不能執行特性中寫類型和執行類型的命令。
<Switch> debugging role all
Permission denied.
<Switch> ping 192.168.1.58
Permission denied.
如圖1-2所示,Telnet用戶主機與Switch相連,Switch與一台RADIUS服務器相連,需要實現RADIUS服務器對登錄Switch的Telnet用戶進行認證和授權。
· 由一台FreeRadius服務器(IP地址為10.1.1.1/24)擔當認證/授權RADIUS服務器的職責;
· Switch與RADIUS服務器交互報文時使用的共享密鑰為expert,認證端口號為1812;
· Switch向RADIUS服務器發送的用戶名攜帶域名;
· Telnet用戶登錄Switch時使用RADIUS服務器上配置的用戶名hello@bbb以及密碼進行認證,認證通過後被授權的用戶角色為role2。
role2具有如下用戶權限:
· 允許用戶執行ISP視圖下的所有命令;
· 允許用戶執行ARP和RADIUS特性中讀和寫類型的命令;
· 禁止用戶執行ACL特性中讀類型的命令;
· 允許用戶執行創建VLAN以及進入VLAN視圖後的相關命令,並隻具有操作VLAN 1~VLAN 20的權限;
· 允許用戶執行進入接口視圖以及接口視圖下的相關命令,並具有操作接口GigabitEthernet1/0/1~GigabitEthernet1/0/4的權限。
圖1-2 Telnet用戶RADIUS認證/授權配置組網圖
(1) Switch上的配置
# 配置接口VLAN接口2的IP地址,Telnet用戶將通過該地址連接Switch。
<Switch> system-view
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.70 255.255.255.0
[Switch-Vlan-interface2] quit
# 配置接口VLAN接口3的IP地址,Switch將通過該地址與服務器通信。
[Switch] interface vlan-interface 3
[Switch-Vlan-interface3] ip address 10.1.1.2 255.255.255.0
[Switch-Vlan-interface3] quit
# 開啟Switch的Telnet服務器功能。
[Switch] telnet server enable
# 配置Telnet用戶登錄采用AAA認證方式。
[Switch] line vty 0 63
[Switch-line-vty0-63] authentication-mode scheme
[Switch-line-vty0-63] quit
# 創建RADIUS方案rad。
[Switch] radius scheme rad
# 配置主認證/授權服務器的IP地址為10.1.1.1,認證端口號為1812。
[Switch-radius-rad] primary authentication 10.1.1.1 1812
# 配置與認證/授權服務器交互報文時的共享密鑰為明文expert。
[Switch-radius-rad] key authentication simple expert
[Switch-radius-rad] quit
# 配置ISP域bbb的AAA方法。由於RADIUS服務器的授權信息是隨認證應答報文發給RADIUS客戶端的,所以必須保證認證和授權方法相同。
[Switch] domain bbb
[Switch-isp-bbb] authentication login radius-scheme rad
[Switch-isp-bbb] authorization login radius-scheme rad
[Switch-isp-bbb] accounting login none
[Switch-isp-bbb] quit
# 創建特性組fgroup1。
[Switch] role feature-group name fgroup1
# 配置特性組fgroup1中包含特性ARP和RADIUS。
[Switch-featuregrp-fgroup1] feature arp
[Switch-featuregrp-fgroup1] feature radius
[Switch-featuregrp-fgroup1] quit
# 創建用戶角色role2。
[Switch] role name role2
# 配置用戶角色規則1,允許用戶執行ISP視圖下的所有命令。
[Switch-role-role2] rule 1 permit command system-view ; domain *
# 配置用戶角色規則2,允許用戶執行特性組fgroup1中所有特性的讀和寫類型的命令。
[Switch-role-role2] rule 2 permit read write feature-group fgroup1
# 配置用戶角色規則3,禁止用戶執行ACL特性中讀類型的命令。
[Switch-role-role2] rule 3 deny read feature acl
# 配置用戶角色規則4,允許用戶執行創建VLAN以及進入VLAN視圖後的相關命令。
[Switch-role-role2] rule 4 permit command system-view ; vlan *
# 配置用戶角色規則5,允許用戶執行進入接口視圖以及接口視圖下的相關命令。
[Switch-role-role2] rule 5 permit command system-view ; interface *
# 進入VLAN策略視圖,允許用戶具有操作VLAN 1~VLAN 20的權限。
[Switch-role-role2] vlan policy deny
[Switch-role-role2-vlanpolicy] permit vlan 1 to 20
[Switch-role-role2-vlanpolicy] quit
# 進入接口策略視圖,允許用戶具有操作接口GigabitEthernet1/0/1~GigabitEthernet1/0/4的權限。
[Switch-role-role2] interface policy deny
[Switch-role-role2-ifpolicy] permit interface gigabitethernet 1/0/1 to gigabitethernet 1/0/4
[Switch-role-role2-ifpolicy] quit
[Switch-role-role2] quit
(2) RADIUS服務器的配置
需要在FreeRadius服務器的字典文件中增加如下配置文本之一:
Cisco-AVPair = "shell:roles=\"role2\""
Cisco-AVPair = "shell:roles*\"role2\""
關於FreeRadius的其它配置請參見服務器的相關手冊,本文不進行詳細介紹。
用戶向Switch發起Telnet連接,在Telnet客戶端按照提示輸入用戶名hello@bbb及正確的密碼後,可成功登錄Switch,並被授予用戶角色role2,具有相應的命令行執行權限。
可通過如下命令驗證用戶的權限:
· 可執行ISP視圖下所有的命令。
<Switch> system-view
[Switch] domain abc
[Switch-isp-abc] authentication login radius-scheme abc
[Switch-isp-abc] quit
· 可執行RADIUS特性中讀和寫類型的命令。(ARP特性同,此處不再舉例)
[Switch] radius scheme rad
[Switch-radius-rad] primary authentication 2.2.2.2
[Switch-radius-rad] display radius scheme rad
RADIUS方案的顯示信息此處略。
· 可操作VLAN 1~VLAN 20。(以創建VLAN 10、VLAN 30為例)
[Switch] vlan 10
[Switch-vlan10] quit
[Switch] vlan 30
Permission denied.
· 可操作接口GigabitEthernet1/0/1~GigabitEthernet1/0/4。(以接口GigabitEthernet1/0/2、GigabitEthernet1/0/5為例)
[Switch] vlan 10
# 將接口GigabitEthernet1/0/2加入到VLAN 10。
[Switch-vlan10] port gigabitethernet 1/0/2
# 將接口GigabitEthernet1/0/5加入到VLAN 10。
[Switch-vlan10] port gigabitethernet 1/0/5
Permission denied.
如圖1-3所示,Telnet用戶主機與Switch直接相連,Switch與一台HWTACACS服務器相連,需要配置Switch實現對登錄Switch的Telnet用戶進行用戶角色切換認證。具體要求如下:
Telnet用戶登錄Switch時進行HWTACACS認證,登錄後被授予用戶角色level-0,當進行level-0~level3之間的任意用戶角色切換或切換到network-admin用戶角色時,首先使用HWTACACS認證,若AAA配置無效或者HWTACACS服務器沒有響應則轉為local認證。
圖1-3 Telnet用戶遠端HWTACACS用戶角色切換認證配置組網圖
在交換機上的配置思路如下:
(1) 配置Telnet用戶登錄采用AAA認證方式(scheme),並且使用AAA中的HWTACACS認證。
¡ 創建ISP域bbb,配置Telnet用戶登錄時認證方法為HWTACACS方案hwtac和授權方法為HWTACACS方案hwtac。
¡ 在HWTACACS server上需要添加Telnet用戶登錄密碼及登錄後的用戶角色。
(2) Telnet用戶進行用戶角色切換時,首先使用HWTACACS認證,若AAA配置無效或者HWTACACS服務器沒有響應則轉為本地認證。
¡ 配置用戶角色切換認證方式為scheme local。
¡ 配置HWTACACS方案hwtac,指定HWTACACS服務器IP地址及與其進行交互的相關參數(HWTACACS協議報文交互時使用的共享密鑰,Switch發送給HWTACACS服務器的用戶名不帶域名)。在ISP域bbb下配置用戶角色切換認證方法為hwtac。
¡ 配置采用本地認證方式時的用戶角色切換密碼。
在HWTACACS server上需要添加用於用戶角色切換認證的用戶名和密碼。
(1) 配置Switch
# 配置VLAN接口2的IP地址,Telnet客戶端將通過該地址連接Switch。
<Switch> system-view
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.70 255.255.255.0
[Switch-Vlan-interface2] quit
# 配置VLAN接口3的IP地址,Switch將通過該地址與服務器通信。
[Switch] interface vlan-interface 3
[Switch-Vlan-interface3] ip address 10.1.1.2 255.255.255.0
[Switch-Vlan-interface3] quit
# 開啟Switch的Telnet服務器功能。
[Switch] telnet server enable
# 配置Telnet用戶登錄采用AAA認證方式。
[Switch] line vty 0 63
[Switch-line-vty0-63] authentication-mode scheme
[Switch-line-vty0-63] quit
# 配置進行用戶角色切換時的認證方式為scheme local。(首先使用HWTACACS認證,若AAA配置無效或者HWTACACS服務器沒有響應則轉為本地認證)
[Switch] super authentication-mode scheme local
# 創建HWTACACS方案hwtac。
[Switch] hwtacacs scheme hwtac
# 配置主認證服務器的IP地址為10.1.1.1,認證端口號為49。
[Switch-hwtacacs-hwtac] primary authentication 10.1.1.1 49
# 配置主授權服務器的IP地址為10.1.1.1,認證端口號為49。
[Switch-hwtacacs-hwtac] primary authorization 10.1.1.1 49
# 配置與認證服務器交互報文時的共享密鑰為expert。
[Switch-hwtacacs-hwtac] key authentication simple expert
# 配置與授權服務器交互報文時的共享密鑰為expert。
[Switch-hwtacacs-hwtac] key authorization simple expert
# 配置向HWTACACS服務器發送的用戶名不攜帶域名。
[Switch-hwtacacs-hwtac] user-name-format without-domain
[Switch-hwtacacs-hwtac] quit
# 創建ISP域bbb。
[Switch] domain bbb
# 配置Telnet用戶登錄認證方法為hwtac。
[Switch-isp-bbb] authentication login hwtacacs-scheme hwtac
# 配置Telnet用戶登錄授權方法為hwtac。
[Switch-isp-bbb] authorization login hwtacacs-scheme hwtac
# 配置Telnet用戶登錄計費方法為none。
[Switch-isp-bbb] accounting login none
# 配置用戶角色切換認證方法為hwtac。
[Switch-isp-bbb] authentication super hwtacacs-scheme hwtac
[Switch-isp-bbb] quit
# 配置用戶角色換認證方式為本地認證時,切換到用戶角色level-3時使用的密碼為654321TESTplat&!。
[Switch] super password role level-3 simple 654321TESTplat&!
# 配置切換到用戶角色network-admin時使用的密碼為654321TESTplat&!。
[Switch] super password role network-admin simple 654321TESTplat&!
[Switch] quit
(2) 配置HWTACACS server
下麵以ACSv4.0為例,說明該例中HWTACACS server的基本配置。
在HWTACACS server上添加用戶test和登錄密碼123456TESTplat&!,並對該用戶的高級屬性進行設置。
¡ 設置Enable Password為enabpass;
¡ 設置Max Privilege為Level 3,表示用戶角色在level-0到level-3之間任意切換時均使用密碼enabpass進行認證。如果目的切換角色僅僅為network-admin,則Max Privilege可以設置為任意Level。
圖1-4 設置Telnet用戶的高級屬性
¡ 設置Shell(exex)的Custom attributes屬性字符串為allowed-roles=”network-admin”,多個角色可用空格間隔。
圖1-5 設置Telnet用戶的HWTACACS屬性
關於HWTACACS server的具體配置請參見服務器的相關手冊,本文不進行詳細介紹。
(1) Telnet用戶建立與Switch的連接
在Telnet客戶端按照提示輸入用戶名test@bbb及密碼123456TESTplat&!,即可成功登錄Switch,且隻能訪問指定權限的命令。
<Switch> telnet 192.168.1.70
Trying 192.168.1.70 ...
Press CTRL+K to abort
Connected to 192.168.1.70 ...
login: test@bbb
Password:
******************************************************************************
* Copyright (c) 2004-2017 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<Switch>?
User view commands:
ping Ping function
quit Exit from current command view
ssh2 Establish a secure shell client connection
super Switch to a user role
system-view Enter the System View
telnet Establish a telnet connection
tracert Tracert function
<Switch>
(2) 切換用戶角色
# 在當前的用戶線下執行切換到用戶角色level-3的命令,按照提示輸入HWTACACS用戶角色切換認證密碼enabpass,若認證成功即可將當前Telnet用戶的角色切換到level-3。
<Switch> super level-3
Username: test@bbb
Password: <——此處需輸入HWTACACS用戶角色切換認證密碼
User privilege role is level-3, and only those commands that authorized to the role can be used.
若ACS服務器無響應,按照提示輸入本地用戶角色切換認證密碼654321TESTplat&!,若認證成功即可將當前Telnet用戶的角色切換到level-3。
<Switch> super level-3
Username: test@bbb
Password: <——此處需輸入HWTACACS用戶角色切換認證密碼
Invalid configuration or no response from the authentication server.
Change authentication mode to local.
Password: <——此處需輸入本地用戶角色切換認證密碼
User privilege role is level-3, and only those commands that authorized to the role can be used.
切換到用戶角色level-0、level-1、level2、network-admin的過程同上。
如圖1-6所示,Telnet用戶主機與Switch直接相連,Switch與一台RADIUS服務器相連,需要配置Switch實現對登錄Switch的Telnet用戶進行用戶級別切換認證。具體要求如下:
Telnet用戶登錄Switch時進行RADIUS認證,登錄後被授予用戶角色level-0,當切換到非level-n(本例切換到角色network-admin)的用戶角色時,首先使用RADIUS認證,若AAA配置無效或者RADIUS服務器沒有響應則轉為local認證。
圖1-6 Telnet用戶遠端RADIUS用戶角色切換認證配置組網圖
在Switch上的配置思路如下:
(1) 配置Telnet用戶登錄采用AAA認證方式(scheme),並且使用AAA中的RADIUS認證。
¡ 創建ISP域bbb,配置Telnet用戶登錄時認證方法為RADIUS方案radius和授權方法為RADIUS方案radius。
¡ 在RADIUS server上需要添加Telnet用戶登錄密碼及登錄後的用戶角色。
(2) Telnet用戶進行用戶角色切換時,首先使用RADIUS認證,若AAA配置無效或者RADIUS服務器沒有響應則轉為本地認證。
¡ 配置用戶角色切換認證方式為scheme local。
¡ 配置RADIUS方案radius,指定RADIUS服務器IP地址及與其進行交互的相關參數(RADIUS協議報文交互時使用的共享密鑰,Switch發送給RADIUS服務器的用戶名不帶域名)。在ISP域bbb下配置用戶角色切換認證方法為RADIUS方案radius。
¡ 配置采用本地認證方式時的用戶角色切換密碼。
在RADIUS server上需要添加用於用戶角色切換認證的用戶名“$enab0$”和密碼。
(1) 配置Switch
# 配置VLAN接口2的IP地址,Telnet客戶端將通過該地址連接Switch。
<Switch> system-view
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ip address 192.168.1.70 255.255.255.0
[Switch-Vlan-interface2] quit
# 配置VLAN接口3的IP地址,Switch將通過該地址與服務器通信。
[Switch] interface vlan-interface 3
[Switch-Vlan-interface3] ip address 10.1.1.2 255.255.255.0
[Switch-Vlan-interface3] quit
# 開啟Switch的Telnet服務器功能。
[Switch] telnet server enable
# 配置Telnet用戶登錄采用AAA認證方式。
[Switch] line vty 0 15
[Switch-line-vty0-15] authentication-mode scheme
[Switch-line-vty0-15] quit
# 配置進行用戶角色切換時的認證方式為scheme local。(首先使用RADIUS認證,若AAA配置無效或者RADIUS服務器沒有響應則轉為本地認證)
[Switch] super authentication-mode scheme local
# 創建RADIUS方案radius。
[Switch] radius scheme radius
# 配置主認證服務器的IP地址為10.1.1.1,與認證服務器交互報文時的共享密鑰為expert。
[Switch-radius-radius] primary authentication 10.1.1.1 key simple expert
# 配置向RADIUS服務器發送的用戶名不攜帶域名。
[Switch-radius-radius] user-name-format without-domain
[Switch-radius-radius] quit
# 創建ISP域bbb。
[Switch] domain bbb
# 配置Telnet用戶登錄認證方法為radius。
[Switch-isp-bbb] authentication login radius-scheme radius
# 配置Telnet用戶登錄授權方法為radius。
[Switch-isp-bbb] authorization login radius-scheme radius
# 配置Telnet用戶登錄計費方法為none。
[Switch-isp-bbb] accounting login none
# 配置用戶角色切換認證方法為radius。
[Switch-isp-bbb] authentication super radius-scheme radius
[Switch-isp-bbb] quit
# 配置用戶角色換認證方式為本地認證時,切換到用戶角色network-admin時使用的密碼為abcdef654321TESTplat&!。
[Switch] super password role network-admin simple abcdef654321TESTplat&!
[Switch] quit
(2) 配置RADIUS server
下麵以ACSv4.2為例,說明該例中RADIUS server的基本配置。
在RADIUS server上添加Telnet登錄用戶test@bbb和密碼123456TESTplat&!,並添加用於用戶角色切換認證的用戶$enab0$,設置密碼為123456。下麵對該用戶的RADIUS屬性中的 cisco-av-pair屬性字符串進行設置。
圖1-7 設置Telnet用戶的RADIUS屬性
關於RADIUS server的具體配置請參見服務器的相關手冊,本文不進行詳細介紹。
(1) Telnet用戶建立與Switch的連接
在Telnet客戶端按照提示輸入用戶名test@bbb及密碼123456TESTplat&!,即可成功登錄Switch,且隻能訪問指定權限的命令。
<Switch> telnet 192.168.1.70
Trying 192.168.1.70 ...
Press CTRL+K to abort
Connected to 192.168.1.70...
login: test@bbb
Password:
******************************************************************************
* Copyright (c) 2004-2017 New H3C Technologies Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
******************************************************************************
<Switch>?
User view commands:
ping Ping function
quit Exit from current command view
ssh2 Establish a secure shell client connection
super Switch to a user role
system-view Enter the System View
telnet Establish a telnet connection
tracert Tracert function
<Switch>
(2) 切換用戶角色
# 在當前的用戶線下執行切換到用戶角色network-admin的命令,按照提示輸入RADIUS用戶角色切換認證密碼123456,若認證成功即可將當前Telnet用戶的角色切換到network-admin。
<Switch> super network-admin
Username: test@bbb
Password: <——此處需輸入RADIUS用戶角色切換認證密碼
User privilege role is network-admin, and only those commands that authorized to the role can be used.
若ACS服務器無響應,按照提示輸入本地用戶角色切換認證密碼abcdef654321TESTplat&!,若認證成功即可將當前Telnet用戶的角色切換到network-admin。
<Switch> super network-admin
Username: test@bbb
Password: <——此處需輸入RADIUS用戶角色切換認證密碼
Invalid configuration or no response from the authentication server.
Change authentication mode to local.
Password: <——此處需輸入本地用戶角色切換認證密碼
User privilege role is network-admin, and only those commands that authorized to the role can be used.
用戶通過本地認證並被授權指定的用戶角色後,發現登錄設備後實際具有的權限與被授權的用戶角色權限不符。
可能是該本地用戶被授權了其它用戶角色,例如該本地用戶還具有缺省的用戶角色。
通過display local-user命令查看該用戶實際擁有的用戶權限,並刪除授予用戶的多餘用戶角色。
在AAA配置正確及設備與服務器通信無故障的情況下,使用RADIUS服務器進行遠程身份認證的用戶登錄設備失敗。
RBAC要求登錄設備的用戶必須至少擁有一個用戶角色,如果用戶沒有被服務器授權任何用戶角色,則登錄失敗。
通過執行role default-role enable命令允許用戶使用係統預定義的缺省用戶角色登錄設備,或根據需要在服務器上為該用戶添加要授權的用戶角色。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!