用戶級別切換認證技術白皮書
關鍵詞:級別切換認證,RADIUS,HWTACACS
摘 要:本文主要介紹用戶級別切換認證的產生背景、認證機製及其典型組網應用。
縮略語:
縮略語 | 英文全名 | 中文解釋 |
AAA | Authentication, Authorization, Accounting | 認證、授權、計費 |
RADIUS | Remote Authentication Dial-In User Service | 遠程認證撥號用戶服務 |
HWTACACS | HW Terminal Access Controller Access Control System | HW終端訪問控製器控製係統協議 |
為了限製不同用戶對設備的訪問權限,係統對用戶進行了分級管理。用戶的級別與命令級別對應,不同級別的用戶登錄設備後,隻能使用等於或低於自己級別的命令。但在有些情況下,用戶需要在不退出當前登錄、不斷開當前連接的前提下,修改自身的用戶級別。例如,管理員通常以較低級別的用戶身份登錄設備、查看設備運行狀態,當需要進行配置、維護類操作時,就希望臨時切換到較高的級別。
用戶級別切換功能就可以滿足以上需求,該功能允許登錄設備的用戶通過執行super命令從當前的級別切換到指定的級別。級別切換後用戶不需要重新登錄,可以繼續配置設備,隻是可以執行的命令會不一樣。且切換後的級別是臨時的,隻對當前登錄生效,用戶重新登錄後,又會恢複到原有級別。
當使用super命令從高級別往低級別或相同級別間切換時,由於用戶的訪問權限並未增加,因此切換行為不需要通過任何認證;而從低級別往高級別切換時,相當於用戶請求增加訪問權限,因此係統需要對這種級別提升行為進行認證,隻有認證通過,才賦予該用戶新的訪問權限。
目前,設備上支持兩種基本的級別切換認證方案:
l 本地級別切換認證
l 遠程AAA級別切換認證
此外,為增加配置的靈活性,設備還提供了以下兩種組合認證方案:
l 遠程AAA級別切換認證無響應的情況下轉本地級別切換認證
l 本地級別切換密碼沒有設置時轉遠程AAA級別切換認證
本地級別切換是指使用一個本地配置的密碼對級別切換行為進行認證。對於要切換到某一個級別的行為,所有用戶均使用同一個密碼。如下所示,任何登錄到設備上的用戶,要切換到3級別時,隻需要正確輸入一個該設備上預先設置的本地級別切換密碼就可以。
<Device> super 3
Password: <——此處輸入本地級別切換密碼
User privilege level is 3, and only those commands can be used
whose level is equal or less than this.
Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE
遠程AAA級別切換認證是指使用遠程AAA服務器(RADIUS服務器或HWTACACS服務器)對級別切換行為進行認證。例如,某網絡管理部門的所有維護人員均使用RADIUS認證登錄設備,且登錄後的訪問級別為0級(visit級別),所有人員都可以執行一些具備網絡診斷功能的基本操作(例如ping),但隻有該部門的管理員可以利用super命令提升自身的用戶級別。管理員利用super命令改變自身級別時,可以通過RADIUS進行級別切換認證,認證通過後,才能將自身的用戶級別提升至更高級別(1~3)。
如下所示,要切換到3級別時,需要正確輸入用戶名和對應的級別切換密碼。
<Device> super 3
Username:olive@abc
Password: <——此處輸入對應的級別切換密碼
User privilege level is 3, and only those commands can be used
whose level is equal or less than this.
Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE
本地級別切換認證方式具有配置簡單、易用的優點,但在也存在以下問題:
l 無法對級別切換的操作者進行身份區分,任何擁有本地切換密碼的用戶都可以使用相同的切換密碼來提升自身的級別。
l 本地密碼在存儲及管理方麵都有一定的局限性,且容易產生安全隱患。
相比較而言,遠程AAA級別切換認證需要部署相應的AAA服務器來配合,用戶信息的管理與維護上比本地級別切換稍顯複雜,但它具有如下優點:
l 可提升用戶級別切換的安全性
通過使用遠程AAA級別切換認證提升了級別切換的安全性。用戶進行級別切換操作時使用相應的級別切換用戶名和密碼在遠程AAA(RADIUS或HWTACACS)服務器上進行身份認證,不同的用戶可擁有不同的級別切換權限。
l 可提高設備管理的靈活性
通過與本地級別切換認證組合使用,增強了認證的可靠性,提高了設備管理的靈活性。
下文描述遵從以下約定:
l 使用“Super認證”簡化指代“用戶級別切換認證”
l 黑體表示的關鍵字(例如scheme)僅與當前版本設備上的相應命令行對應
Super認證的認證過程與用戶登錄設備的認證方式有密切的聯係,會因為不同的用戶登錄方式而存在配置和使用方麵的一些差異。為了更好得理解和使用Super認證,我們首先對用戶的登錄認證方式進行一下簡單了解。
表1 用戶登錄的認證方式
登錄認證方式 | 涵義 |
none | 用戶登錄用戶界麵時不需要進行認證 |
password | 用戶登錄用戶界麵時需要進行密碼認證 |
scheme | 用戶登錄用戶界麵時需要進行用戶名和密碼認證 |
目前,設備上支持如下四種Super認證方式:
l 本地Super認證
l 通過HWTACACS/ RADIUS進行遠程Super認證
l 遠程Super認證無響應後轉本地Super認證
l 本地級別切換密碼未設置後轉遠程Super認證
表2是當前設備上支持的Super認證方式的彙總及各認證方式的簡單說明。
表2 Super認證方式彙總表
Super認證方式 | 涵義 | 說明 |
local | 本地Super認證 | 設備驗證用戶輸入的級別切換密碼(與設備上配置的本地級別切換密碼比較) |
scheme | 通過HWTACACS/ RADIUS進行遠程Super認證 | 設備將級別切換用戶名和密碼發送給遠程HWTACACS/ RADIUS服務器進行認證 |
scheme local | 遠程Super認證無響應後轉本地Super認證 | 遠程HWTACACS/ RADIUS服務器無響應或AAA配置無效時,設備轉為進行本地Super認證 |
local scheme | 本地級別切換密碼未設置後轉遠程Super認證 | 若設備上沒有設置本地級別切換密碼,則除使用Console用戶界麵登錄的用戶可直接切換級別外,其它用戶(使用AUX、TTY或VTY用戶界麵登錄的用戶)則轉為進行遠程Super認證 |
如果設備上設置了對應的本地級別切換密碼,則係統提示用戶輸入該密碼,並把用戶輸入的密碼和對應的本地級別切換密碼進行比較,如果一致則提示用戶認證成功,如果認證嚐試次數達到3次則提示用戶認證失敗,否則提示用戶重新輸入本地級別密碼。
如果用戶登錄時曾經輸入過用戶名,則使用登錄時所用的用戶名做Super認證,直接提示用戶輸入密碼;否則先提示用戶輸入用戶名,然後提示用戶輸入密碼。
由於RADIUS協議無法區分用戶所申請的權限級別,所以使用RADIUS進行Super認證時無論用戶輸入的用戶名(或用戶登錄名)是什麼,設備都會根據用戶申請的權限級別使用固定用戶名“$enab+level”構造認證請求報文進行認證,其中level為用戶申請的權限級別(0~3)。例如用戶要申請切換到級別3,則設備將使用“$enab3”作為用戶名向RADIUS服務器發起認證。(若配置要求用戶名中攜帶域名,則為$enab3@domain,domain為用戶的認證域)。因此,相應的RADIUS服務器上就需要添加用戶名為“$enab3”的用戶。
RADIUS服務器接收到認證請求報文後,就對級別切換用戶名和密碼進行認證。如果認證成功,RADIUS服務器返回認證成功消息;如果認證失敗,則返回認證失敗消息。如果認證嚐試次數達到3次,則提示用戶認證失敗,否則提示用戶重新輸入級別切換用戶名和密碼。
如果用戶登錄時曾經輸入過用戶名,則使用登錄時所用的用戶名做Super認證,直接提示用戶輸入密碼;否則先提示用戶輸入用戶名,然後提示用戶輸入密碼。
HWTACACS協議支持用戶申請權限級別,使用HWTACACS進行Super認證時,設備使用用戶輸入的用戶名(或用戶登錄名)和密碼發起認證。
HWTACACS服務器接收到認證請求報文後,就對級別切換用戶名和密碼進行認證。如果認證成功,HWTACACS服務器返回認證成功消息;如果認證失敗,則返回認證失敗消息。如果認證嚐試次數達到3次則提示用戶認證失敗,否則提示用戶重新輸入級別切換用戶名和密碼。
前麵已經介紹了三種用戶登錄認證方式及四種Super認證方式,下麵對兩者組合使用的情況下,用戶進行級別切換操作時的輸入情況進行彙總,具體如表3所示。
需要說明的是:
l 表中第三列為用戶在第一種Super認證方式下進行級別切換操作時的輸入信息。
l 表中第四列為用戶在第一種Super認證方式未生效的情況下,轉換到第二種Super認證方式時的輸入信息。
l 未配置切換方案的情況下,無第四列內容,以“-”表示。
表3 不同Super認證方式下的用戶輸入信息描述表
用戶登錄認證方式 | Super認證方式 | Super認證輸入 | Super認證方式切換後 Super認證輸入 |
none/password | local | 本地級別切換密碼(設備上設置) | - |
local scheme | 本地級別切換密碼 | 級別切換用戶名和密碼 (AAA服務器上設置) | |
scheme | 級別切換用戶名和密碼 | - | |
scheme local | 級別切換用戶名和密碼 | 本地級別切換密碼 | |
scheme | local | 本地級別切換密碼 | - |
local scheme | 本地級別切換密碼 | 級別切換密碼(AAA服務器上設置),係統使用登錄用戶名作為級別切換用戶名 | |
scheme | 級別切換密碼(AAA服務器上設置),係統使用登錄用戶名作為級別切換用戶名 | - | |
scheme local | 級別切換密碼(AAA服務器上設置),係統使用登錄用戶名作為級別切換用戶名 | 本地級別切換密碼 |
對登錄Device的Telnet用戶進行用戶級別切換認證。
具體要求:
l 用戶名為test@bbb的Telnet用戶登錄Device的認證方式為本地認證,登錄後所能訪問的命令級別為0級。
l 該Telnet用戶要將用戶級別提升為3時,首先需要通過RADIUS服務器進行遠程Super認證,若AAA配置無效或者RADIUS服務器沒有響應則轉為本地Super認證。
(1) Telnet用戶建立與Device的連接
在Telnet客戶端按照提示輸入用戶名test@bbb及對應的密碼,即可進入Router的用戶界麵,且隻能訪問級別為0級的命令。
<Device> telnet 192.168.1.70
Trying 192.168.1.70 ...
Press CTRL+K to abort
Connected to 192.168.1.70 ...
**************************************************************************
* Copyright (c) 2004-2009 Hangzhou H3C Tech. Co., Ltd. All rights reserved.*
* Without the owner's prior written consent, *
* no decompiling or reverse-engineering shall be allowed. *
**************************************************************************
Login authentication
Username:test@bbb
Password:
<Device> ?
User view commands:
cluster Run cluster command
display Display current system information
ping Ping function
quit Exit from current command view
ssh2 Establish a secure shell client connection
super Set the current user priority level
telnet Establish one TELNET connection
tracert Trace route function
(2) 切換用戶級別
# 在當前的用戶界麵下執行切換用戶級別到3級的命令,按照提示輸入RADIUS級別切換認證密碼pass3,若認證成功即可將當前Telnet用戶的級別切換到3級。
<Device> super 3
Password: <——此處需輸入RADIUS級別切換認證密碼
User privilege level is 3, and only those commands can be used
whose level is equal or less than this.
Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE
# 若輸入切換密碼後,係統提示錯誤並通知用戶認證模式已改變,則表示本次切換認證失敗。繼續按照提示輸入本地級別切換認證密碼654321,若認證成功即可將當前Telnet用戶的級別切換到3級。
<Device> super 3
Password:
Error: Invalid configuration or no response from the authentication server.
Info: Change authentication mode to local.
Password: <——此處需輸入本地級別切換認證密碼
User privilege level is 3, and only those commands can be used
whose level is equal or less than this.
Privilege note: 0-VISIT, 1-MONITOR, 2-SYSTEM, 3-MANAGE
Copyright © 2009 杭州華三通信技術有限公司 版權所有,保留一切權利。
非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。
本文檔中的信息可能變動,恕不另行通知。