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

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

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

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