華為&思科 AAA認(rèn)證解析
1 AAA和用戶管理簡介在學(xué)習(xí)AAA 的配置前,先簡要了解下AAA 的基本知識1.1 什么AAAAAA (Authentication Authorization Accounti
1 AAA和用戶管理簡介

在學(xué)習(xí)AAA 的配置前,先簡要了解下AAA 的基本知識
1.1 什么AAA
AAA (Authentication Authorization Accounting)是一種提供認(rèn)證、授權(quán)和計(jì)費(fèi)的技術(shù)。 ●??認(rèn)證(Authentication ):驗(yàn)證用戶是否可以獲得訪問權(quán),確定哪些用戶可以訪問網(wǎng)絡(luò)。 ●??授權(quán)(Authorization ):授權(quán)用戶可以使用哪些服務(wù)。
●??計(jì)費(fèi)(Accounting ):記錄用戶使用網(wǎng)絡(luò)資源的情況。
1.2 AAA的基本架構(gòu)
AAA 通常采用“客戶端—服務(wù)器”結(jié)構(gòu)。這種結(jié)構(gòu)既具有良好的可擴(kuò)展性,又便于集中管理用戶信息。如下圖所示
認(rèn)證
AAA 支持以下認(rèn)證方式:
●??不認(rèn)證:對用戶非常信任,不對其進(jìn)行合法檢查,一般情況下不采用這種方式。 ●??本地認(rèn)證:將用戶信息(包括本地用戶的用戶名、密碼和各種屬性)配置在網(wǎng)絡(luò)接入服務(wù)器上。本地認(rèn)證的優(yōu)點(diǎn)是速度快,可以為運(yùn)營降低成本;缺點(diǎn)是存儲(chǔ)信息量受設(shè)備硬件條件限制。
●??遠(yuǎn)端認(rèn)證:將用戶信息(包括本地用戶的用戶名、密碼和各種屬性)配置在認(rèn)證服務(wù)器上。AAA 支持通過RADIUS (Remote Authentication Dial In User Service)協(xié)議或HWTACACS (HuaWei Terminal Access Controller Access Control System)協(xié)議進(jìn)行遠(yuǎn)端認(rèn)證。網(wǎng)絡(luò)接入服務(wù)器NAS (Network Access Server)作為客戶端,與RADIUS 服務(wù)器或HWTACACS 服務(wù)器通信。
如果在一個(gè)認(rèn)證方案中采用多種認(rèn)證模式,將按照配置的順序進(jìn)行認(rèn)證。 當(dāng)配置的認(rèn)證方式是先遠(yuǎn)端認(rèn)證后本地認(rèn)證時(shí)
如果登錄的帳號在遠(yuǎn)端服務(wù)器上沒有創(chuàng)建,但是在本地是存在的,經(jīng)過遠(yuǎn)端認(rèn)證時(shí),將被認(rèn)為認(rèn)證失敗,不再轉(zhuǎn)入本地認(rèn)證。
,只有在遠(yuǎn)端認(rèn)證服務(wù)器無響應(yīng)時(shí),才會(huì)轉(zhuǎn)入本地認(rèn)證。
如果選用了不認(rèn)證(none )或本地認(rèn)證(

local ),它必須作為最后一種認(rèn)證模式。 授權(quán)
AAA 支持以下授權(quán)方式:
不授權(quán):不對用戶進(jìn)行授權(quán)處理。
●??本地授權(quán):根據(jù)網(wǎng)絡(luò)接入服務(wù)器為本地用戶賬號配置的相關(guān)屬性進(jìn)行授權(quán)。 ●??HWTACACS 授權(quán):由TACACS 服務(wù)器對用戶進(jìn)行授權(quán)。
●??if-authenticated 授權(quán):如果用戶通過了認(rèn)證,而且使用的認(rèn)證模式不是不認(rèn)證,則用戶
授權(quán)通過。
●??RADIUS 認(rèn)證成功后授權(quán):RADIUS 協(xié)議的認(rèn)證和授權(quán)是綁定在一起的,不能單獨(dú)使用
RADIUS 進(jìn)行授權(quán)。
●??如果在一個(gè)授權(quán)方案中使用多次授權(quán),授權(quán)模式的執(zhí)行順序按照配置的先后,只有在當(dāng)
前授權(quán)模式?jīng)]有響應(yīng)時(shí),才會(huì)嘗試下一個(gè)授權(quán)模式,如果授權(quán)失敗則將不會(huì)再進(jìn)行授權(quán)。 計(jì)費(fèi)
AAA 支持以下計(jì)費(fèi)方式:
●??不計(jì)費(fèi):不對用戶計(jì)費(fèi)。
●??遠(yuǎn)端計(jì)費(fèi):通過RADIUS 服務(wù)器或HWTACACS 服務(wù)器進(jìn)行遠(yuǎn)端計(jì)費(fèi)。
1.3 RADIUS協(xié)議
AAA 可以用多種協(xié)議來實(shí)現(xiàn),最常用的是RADIUS 協(xié)議。RADIUS 最初用來管理使用串口和調(diào)制解調(diào)器的大量分散用戶,后來廣泛應(yīng)用于網(wǎng)絡(luò)接入服務(wù)器NAS (Network Access Server )系統(tǒng)。
RADIUS 服務(wù)器通過建立一個(gè)唯一的用戶數(shù)據(jù)庫,存儲(chǔ)用戶名、密碼來對用戶進(jìn)行驗(yàn)證。 ●??用戶登錄路由器或接入服務(wù)器等網(wǎng)絡(luò)設(shè)備時(shí),會(huì)將用戶名和密碼發(fā)送給該網(wǎng)絡(luò)接入服務(wù)
器;
●??該網(wǎng)絡(luò)設(shè)備中的RADIUS 客戶端(網(wǎng)絡(luò)接入服務(wù)器)接收用戶名和密碼,并向RADIUS
服務(wù)器發(fā)送認(rèn)證請求;
●??RADIUS 服務(wù)器接收到合法的請求后,完成認(rèn)證,并把所需的用戶授權(quán)信息返回給客戶
端;對于非法的請求,RADIUS 服務(wù)器返回認(rèn)證失敗的信息給客戶端。
客戶端和RADIUS 服務(wù)器之間發(fā)送的用戶密碼信息經(jīng)過加密以后才在網(wǎng)絡(luò)上傳遞,以避免用戶密碼在不安全的網(wǎng)絡(luò)上被竊取。
RADIUS 客戶端與服務(wù)器間的消息流程如下圖所示。
計(jì)費(fèi)的消息流程和認(rèn)證/授權(quán)的消息流程類似。
,1.4 HWTACACS協(xié)議

HWTACACS 是在TACACS (RFC1492)基礎(chǔ)上進(jìn)行了功能增強(qiáng)的一種安全協(xié)議。該協(xié)議與RADIUS 協(xié)議類似,主要是通過“客戶端—服務(wù)器”模式與HWTACACS 服務(wù)器通信來實(shí)現(xiàn)多種用戶的AAA 功能,可用于PPP 、VPDN (Virtual Private Dial Network)接入用戶的認(rèn)證、授權(quán)和計(jì)費(fèi)。
認(rèn)證方式與RADIUS 協(xié)議類似
1.5 基于域的用戶管理
在目前AAA 的實(shí)現(xiàn)中,所有用戶都屬于某個(gè)域。用戶屬于哪個(gè)域是由用戶名中帶的“@”后的字符串來決定的,比如“user@hua”,就屬于“hua ”域;如果用戶名中沒有帶“@”,對于普通用戶,屬于系統(tǒng)缺省的default 域,對于管理用戶,屬于系統(tǒng)缺省的default_admin域。
2 華為AAA 配置方式實(shí)例
命令行介紹祥見配置手冊
組網(wǎng)拓?fù)鋱D
2.1 采用RADIUS 方式進(jìn)行認(rèn)證、授權(quán)和計(jì)費(fèi)-命令行解析
#
,user-interface con 0 // 串口
user-interface vty 0 //telnet/ssh登錄方式線程
authentication-mode aaa //設(shè)置認(rèn)證方式為
aaa
user privilege level 15 //設(shè)置通過該線程登錄用戶等級為
15
idle-timeout 0 0 //設(shè)置用戶不離線
protocol inbound all //設(shè)置登錄方式支持telnet 和 ssh
#
radius-server template shiva //創(chuàng)建radius 服務(wù)器模板
radius-server shared-key cipher 3MQ*TZ,O3KCQ=^Q`MAF4<1!!
//配置RADIUS 共享密鑰-用來通過radius 服務(wù)器的驗(yàn)證
radius-server authentication 129.7.66.66 1812 //配置radius 認(rèn)證服務(wù)器地址以及端口號 radius-server authentication 129.7.66.67 1812 secondary
//配置radius 備用認(rèn)證服務(wù)器地址以及端口號
radius-server accounting 129.7.66.66 1813 //配置radius 計(jì)費(fèi)服務(wù)器地址以及端口號 radius-server accounting 129.7.66.67 1813 secondary
//配置radius 備用計(jì)費(fèi)服務(wù)器地址以及端口號
radius-server retransmit 5 timeout 10 //配置radius 請求報(bào)文超時(shí)重傳次數(shù)已經(jīng)超時(shí)時(shí)間 aaa //進(jìn)入aaa 視圖
authentication-scheme default //缺省的認(rèn)證方案
authentication-scheme radius //創(chuàng)建一個(gè)名稱為radius 認(rèn)證方
案
authentication-mode radius hwtacacs local //認(rèn)證方式為radius 、hwtacacs 以及本地認(rèn)證
authorization-scheme default //缺省的授權(quán)方
案
accounting-scheme default //缺省的計(jì)費(fèi)方
案
accounting-scheme radius //創(chuàng)建一個(gè)名稱為radius 的計(jì)費(fèi)方
案
accounting-mode radius //配置當(dāng)前的計(jì)費(fèi)方案模式為
radius
accounting start-fail online //配置計(jì)費(fèi)方案hwtacacs 的開始計(jì)費(fèi)失敗策略為:當(dāng)開始計(jì)費(fèi)失敗時(shí),允許用戶上線。
,domain default //缺省的用戶
域
domain default_admin //缺省的管理用戶
域
domain huawei //創(chuàng)建一個(gè)huawei 的
域
authentication-scheme radius //配置該域的認(rèn)證模式為
radius
accounting-scheme radius //配置該域的計(jì)費(fèi)模式為
radius
radius-server radius //配置該域的radius 服務(wù)器模
板
#
2.2 采用HWTACACS 協(xié)議進(jìn)行認(rèn)證、計(jì)費(fèi)和授權(quán)示例-命令行解析
# user-interface con 0 // 串口
user-interface vty 0 //telnet/ssh登錄方式線程
authentication-mode aaa //設(shè)置認(rèn)證方式為
aaa
user privilege level 15 //設(shè)置通過該線程登錄用戶等級為
15
idle-timeout 0 0 //設(shè)置用戶不離線
protocol inbound all //設(shè)置登錄方式支持telnet 和 ssh
#
hwtacacs-server template ht //創(chuàng)建hwtacacs 服務(wù)器模板
hwtacacs-server authentication 129.7.66.66 //配置hwtacacs 認(rèn)證服務(wù)器地址
hwtacacs-server authentication 129.7.66.67 secondary //配置hwtacacs 備用認(rèn)證服務(wù)器地址
hwtacacs-server authorization 129.7.66.66 //配置hwtacacs 授權(quán)服務(wù)器地址
hwtacacs-server authorization 129.7.66.67 secondary //配置hwtacacs 備用授權(quán)服務(wù)器地址
hwtacacs-server accounting 129.7.66.66 //配置hwtacacs 計(jì)費(fèi)服務(wù)器地址
hwtacacs-server accounting 129.7.66.67 secondary //配置hwtacacs 備用計(jì)費(fèi)服務(wù)器地址
,hwtacacs-server shared-key cipher 3MQ*TZ,O3KCQ=^Q`MAF4<1!!
//配置HWTACACS 共享密鑰-用來通過hwtacacs 服務(wù)器的驗(yàn)證
hwtacacs-server timer quiet 3 //設(shè)置主用服務(wù)器恢復(fù)激活狀態(tài)的時(shí)間為3分鐘
undo hwtacacs-server user-name domain-included //配置設(shè)備向HWTACACS 服務(wù)器發(fā)送的報(bào)文中用戶名不包含域名。
#
aaa //進(jìn)入aaa 視圖
domainname-parse-direction left-to-right //配置域名解析方向是從左向右(缺?。? authentication-scheme default
authentication-scheme l-h //創(chuàng)建一個(gè)名稱為1-h 認(rèn)證方案
authentication-mode hwtacacs local //認(rèn)證方式為hwtacacs 以及本地認(rèn)證
authentication-super hwtacacs super //來配置當(dāng)前認(rèn)證模板對用戶提升級別進(jìn)行認(rèn)證時(shí)采用hwtacacs 以及本地認(rèn)證模式
authorization-scheme default
authorization-scheme hwtacacs //創(chuàng)建一個(gè)名稱為hwtacacs 授權(quán)方案
authorization-mode hwtacacs //授權(quán)方式為hwtacacs
authorization-cmd 15 hwtacacs //配置級別為15的用戶按命令行授權(quán)
accounting-scheme default
accounting-scheme hwtacacs //創(chuàng)建一個(gè)名稱為hwtacacs 計(jì)費(fèi)方案
accounting-mode hwtacacs //計(jì)費(fèi)方式為hwtacacs
accounting realtime 3 //配置hwtacacs 計(jì)費(fèi)方案為實(shí)時(shí)計(jì)費(fèi),計(jì)費(fèi)間隔為3分鐘
accounting start-fail online //配置計(jì)費(fèi)方案hwtacacs 的開始計(jì)費(fèi)失敗策略為:當(dāng)開始計(jì)費(fèi)失敗時(shí),允許用戶上線。
domain default
domain default_admin
domain huawei //創(chuàng)建一個(gè)huawei 的域
authentication-scheme l-h //配置該域的認(rèn)證方式為1-h 模板
accounting-scheme hwtacacs //配置該域的計(jì)費(fèi)方式為hwtacacs 模板
authorization-scheme hwtacacs //配置該域的授權(quán)方式為hwtacacs 模板
hwtacacs-server ht //配置該域的認(rèn)證服務(wù)器為hwtacacs 服務(wù)模板ht
#
domain huawei admin //將huawei 域設(shè)置為缺省的管理域
2.3 華為設(shè)備與思科設(shè)備通過radius 登錄驗(yàn)證配置區(qū)別
2.3.1 思科設(shè)備通過radius 登錄驗(yàn)證場景命令行
!
,aaa new-model //對應(yīng)authentication-mode
aaa
!
aaa authentication login group1 group radius local //對應(yīng)authentication-mode radius local
! radius-server host 10.136.13.141 auth-port 1812 acct-port 1646
//對應(yīng)radius-server template中的配
置 radius-server timeout 30 //對應(yīng)radius-server timeout
30
radius-server key cisco //對應(yīng)radius-server shared-key simple
cisco
!
line vty 0 4 //對應(yīng)user-interface vty 0
4
exec-timeout 20 0 //對應(yīng)idle-timeout 20
privilege level 15 //對應(yīng) user privilege level
15
transport input telnet ssh //對應(yīng)protocol inbound all
!
2.3.2 與之相對應(yīng)的華為設(shè)備通過radius 登錄驗(yàn)證場景
# radius-server template
group1
radius-server shared-key simple cisco radius-server authentication 10.136.13.141
1812
radius-server accounting 10.136.13.141
1646
radius-server timeout 30 #
aaa
authentication-scheme
aaa
,authentication-mode radius
local
accounting-scheme
radius
accounting-mode
radius
domain default domain
default_admin
domain huawei authentication-scheme
aaa
accounting-scheme
radius
radius-server group1
#
user-interface vty 0
4
authentication-mode
aaa
user privilege level
15
idle-timeout 20 0 protocol inbound all
#