1.1  简介
1.1.1  AAA简介
AAA是 Authentication,Authorization and Accounting(认证、授权和计费)的简
称,它提供了一个对认证、授权和计费这三种安全功能进行配置的一致性框架,实
际上是对网络安全的一种管理。
这里的网络安全主要是指访问控制,包括:
z  哪些用户可以访问网络服务器。
z  具有访问权的用户可以得到哪些服务。
z  如何对正在使用网络资源的用户进行计费。
针对以上问题,AAA必须提供认证功能、授权功能和计费功能。
1. 认证功能
AAA支持以下认证方式:
z  不认证:对用户非常信任,不对其进行合法检查。一般情况下不采用这种方式。 
z  本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在设
备上。本地认证的优点是速度快,可以降低运营成本;缺点是存储信息量受设
备硬件条件限制。
z  远端认证:支持通过 RADIUS 协议或 HWTACACS 协议进行远端认证,设备
(如 Quidway系列交换机)作为客户端,与 RADIUS服务器或 TACACS服务
器通信。对于 RADIUS协议,可以采用标准或扩展的 RADIUS协议。
2. 授权功能
AAA支持以下授权方式:
z  直接授权:对用户非常信任,直接授权通过。
z  本地授权:根据设备上为本地用户帐号配置的相关属性进行授权。
z  RADIUS认证成功后授权:RADIUS协议的认证和授权是绑定在一起的,不能
单独使用 RADIUS进行授权。
z  HWTACACS授权:由 TACACS服务器对用户进行授权。  
1-2
3. 计费功能
AAA支持以下计费方式:
z  不计费:不对用户计费。
z  远端计费:支持通过 RADIUS服务器或 TACACS服务器进行远端计费。
AAA一般采用客户端/服务器结构:客户端运行于被管理的资源侧,服务器上集中存
放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中
管理。
1.1.2  ISP域简介
ISP域即 ISP用户群,一个 ISP域是由属于同一个 ISP的用户构成的用户群。
“userid@isp-name”形式的用户名中,“@”后的“isp-name”即为 ISP 域的
域名。接入设备将“userid”作为用于身份认证的用户名,将“isp-name”作为域
名。
在多 ISP的应用环境中,同一个接入设备接入的有可能是不同 ISP的用户。由于各
ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能各不相同,
因此有必要通过设置 ISP域的方法把它们区别开。
在 ISP 域视图下,可以为每个 ISP 域配置包括使用的 AAA 策略(使用的 RADIUS
方案等)在内的一整套单独的 ISP域属性。
1.1.3  RADIUS协议简介
AAA是一种管理框架,因此,它可以用多种协议来实现。在实践中,人们最常使用
RADIUS协议来实现 AAA。
1. 什么是 RADIUS
RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)
是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问
的干扰,常被应用在既要求较高安全性,又要求维持远程用户访问的各种网络环境
中。
RADIUS服务包括三个组成部分:
z  协议:RFC 2865和 RFC 2866基于 UDP/IP层定义了 RADIUS帧格式及其消
息传输机制,并定义了 1812作为认证端口,1813作为计费端口。
z  服务器:RADIUS服务器运行在中心计算机或工作站上,包含了相关的用户认
证和网络服务访问信息。
z  客户端:位于拨号访问服务器设备侧,可以遍布整个网络。 
1-3
RADIUS基于客户端/服务器模型。交换机作为 RADIUS客户端,负责传输用户信息
到指定的 RADIUS服务器,然后根据从服务器返回的信息对用户进行相应处理(如
接入/挂断用户)。RADIUS服务器负责接收用户连接请求,认证用户,然后给交换
机返回所有需要的信息。
RADIUS服务器通常要维护三个数据库,如图 1-1所示。
z  第一个数据库“Users”用于存储用户信息(如用户名、口令以及使用的协议、
IP地址等配置)。
z  第二个数据库“Clients”用于存储 RADIUS客户端的信息(如共享密钥)。
z  第三个数据库“Dictionary”存储的信息用于解释 RADIUS协议中的属性和属
性值的含义。


 
 

 AAA及 RADIUS/HWTACACS协议配置 _休闲


另外,RADIUS服务器还能够作为其他 AAA服务器的客户端进行代理认证或计费。 
2. RADIUS的基本消息交互流程
RADIUS客户端(交换机)和RADIUS服务器之间通过共享密钥来认证交互的消息,
增强了安全性。RADIUS协议合并了认证和授权过程,即响应报文中携带了授权信
息。用户、交换机、RADIUS服务器之间的交互流程如图 1-2所示

 

 AAA及 RADIUS/HWTACACS协议配置 _休闲_02




 
基本交互步骤如下:
(1)  用户输入用户名和口令。
(2) RADIUS 客户端根据获取的用户名和口令,向 RADIUS 服务器发送认证请求
包(Access-Request)。
(3) RADIUS服务器将该用户信息与 Users数据库信息进行对比分析,如果认证成
功,则将用户的权限信息以认证响应包(Access-Accept)发送给 RADIUS客
户端;如果认证失败,则返回 Access-Reject响应包。
(4) RADIUS 客户端根据接收到的认证结果接入/拒绝用户。如果可以接入用户,
则 RADIUS 客户端向 RADIUS 服务器发送计费开始请求包
(Accounting-Request),Status-Type取值为 start。
(5) RADIUS服务器返回计费开始响应包(Accounting-Response)。
(6)  用户开始访问资源。
(7) RADIUS 客户端向 RADIUS 服务器发送计费停止请求包
(Accounting-Request),Status-Type取值为 stop。
(8) RADIUS服务器返回计费结束响应包(Accounting-Response)。
(9)  用户访问资源结束。

3. RADIUS协议的报文结构
RADIUS协议采用UDP报文来承载数据,通过定时器管理机制、重传机制、备用服
务器机制,确保RADIUS服务器和客户端之间交互消息正确收发。RADIUS报文结构
 

 AAA及 RADIUS/HWTACACS协议配置 _休闲_03

 

(1) Code域(1字节)决定RADIUS报文的类型,如表 1-1所示。
 

 

 AAA及 RADIUS/HWTACACS协议配置 _职场_04

 
(2) Identifier域(1字节)用于匹配请求包和响应包,随着 Attribute域改变、接收
到有效响应包而不断变化,而在重传时保持不变化。
(3) Length域(2字节)指明整个包的长度,内容包括 Code,Identifier,Length,
Authenticator和 Attribute。超过长度域的字节被视为填充,在接收时应被忽略;
如果包比长度域所指示的短时,则应被丢弃。(4) Authenticator域(16字节)用于验证 RADIUS服务器传输回来的报文,并且
还用于密码隐藏算法中,分为 Request Authenticator 和 Response
Authenticator。
(5) Attribute域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细
节,该域采用(Type、Length、Value)三元组的形式提供。
z  类型(Type)域 1 个字节,取值为 1~255,用于指明属性的类型。表 1-2列
出了RADIUS授权、认证常用的属性。
z  长度(Length)域 1个字节,指明此属性的长度,单位为字节,包括类型字段、
长度字段和属性值字段。
z  属性值(Value)域包括该属性的信息,其格式和内容由类型域和长度域决定,
最大长度为 253字节。

 AAA及 RADIUS/HWTACACS协议配置 _职场_05  AAA及 RADIUS/HWTACACS协议配置 _休闲_06


 
RADIUS协议具有良好的可扩展性,协议中定义的 26号属性(Vendor-Specific)用
于设备厂商对 RADIUS进行扩展,以实现标准 RADIUS没有定义的功能。
如图 1-4所示的报文结构,Vendor-ID域占 4字节,表示厂商代号,最高字节为 0,
其余 3字节的编码见RFC1700。厂商可以封装多个自己定义的“(Type、Length、
Value)”子属性,从而在应用中得以扩展。 
 
 

 AAA及 RADIUS/HWTACACS协议配置 _职场_07


1.1.4  HWTACACS协议简介
1. HWTACACS特性
HWTACACS(HUAWEI Terminal Access Controller Access Control System)是在
TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与 RADIUS 协
议类似,主要是通过 Client-Server 模式与 TACACS 服务器通信来实现多种用户的
AAA功能,可用于 PPP和 VPDN接入用户及终端用户的认证、授权和计费。
与RADIUS相比,HWTACACS具有更加可靠的传输和加密特性,更加适合于安全控
制。HWTACACS协议与RADIUS协议的主要区别如表 1-3所示。 
 

 AAA及 RADIUS/HWTACACS协议配置 _职场_08  AAA及 RADIUS/HWTACACS协议配置 _休闲_09


 
HWTACACS的典型应用是拨号用户或终端用户需要登录到设备上进行操作。交换
机作为HWTACACS的客户端,将用户名和密码发给TACACS服务器进行验证,验
证通过并得到授权之后可以登录到交换机上进行操作。如图 1-5所示。
TACACS服务器
129.7.66.66
TACACS服务器
129.7.66.67
ISDN/PSTN
拨号用户 HWTACACS客户端
终端用户
 

 AAA及 RADIUS/HWTACACS协议配置 _职场_10


2. HWTACACS的基本消息交互流程
以Telnet用户为例,说明使用HWTACACS对用户进行认证、授权和计费。基本消息
交互流程图如图 1-6所示。

 AAA及 RADIUS/HWTACACS协议配置 _职场_11


在整个过程中的基本消息交互流程如下:
(1)  用户请求登录交换机,TACACS客户端收到请求之后,向 TACACS服务器发
送认证开始报文。
(2) TACACS 服务器发送认证回应报文,请求用户名;TACACS 客户端收到回应
报文后,向用户询问用户名。
(3) TACACS客户端收到用户名后,向 TACACS服务器发送认证持续报文,其中
包括了用户名。
(4) TACACS 服务器发送认证回应报文,请求登录密码;TACACS 客户端收到回
应报文,向用户询问登录密码。
(5) TACACS客户端收到登录密码后,向 TACACS服务器发送认证持续报文,其
中包括了登录密码。
(6) TACACS服务器发送认证回应报文,指示用户通过认证。
(7) TACACS客户端向 TACACS服务器发送授权请求报文。
(8) TACACS服务器发送授权回应报文,指示用户通过授权。
(9) TACACS客户端收到授权回应成功报文,向用户输出交换机的配置界面。
(10) TACACS客户端向 TACACS服务器发送计费开始报文。
(11) TACACS服务器发送计费回应报文,指示计费开始报文已经收到。
(12)  用户退出,TACACS客户端向 TACACS服务器发送计费结束报文。
(13) TACACS服务器发送计费回应报文,指示计费结束报文已经收到。
1.2  配置任务简介

 AAA及 RADIUS/HWTACACS协议配置 _职场_12  AAA及 RADIUS/HWTACACS协议配置 _休闲_13  AAA及 RADIUS/HWTACACS协议配置 _职场_14

 

案例分析

 

 AAA及 RADIUS/HWTACACS协议配置 _休闲_15

1.安装jdk

 

 

 AAA及 RADIUS/HWTACACS协议配置 _休闲_16

2.安装acs服务器

 

 AAA及 RADIUS/HWTACACS协议配置 _职场_17

 

3.导入H3C的用户级别的私有Radius属性到ACS

 

编写h3c.ini文件

[User Defined Vendor]

Name=Huawei

IETF Code=2011

VSA 29=hw_Exec_Privilege

[hw_Exec_Privilege]

Type=INTEGER

Profile=IN OUT

Enums=hw_Exec_Privilege-Values

[hw_Exec_Privilege-Values]

0=Access

1=Monitor

2=Manager

3=Administrator

在cmd中导入:

 AAA及 RADIUS/HWTACACS协议配置 _职场_18

 

4.配置ACS

打开ACS,进入User Setup

 AAA及 RADIUS/HWTACACS协议配置 _休闲_19

 AAA及 RADIUS/HWTACACS协议配置 _休闲_20

进入Group Setup 配置

 AAA及 RADIUS/HWTACACS协议配置 _休闲_21

将6,15,64,64,81前面的勾打上

 AAA及 RADIUS/HWTACACS协议配置 _职场_22

 AAA及 RADIUS/HWTACACS协议配置 _休闲_23

 AAA及 RADIUS/HWTACACS协议配置 _休闲_24

选Admin选项

 AAA及 RADIUS/HWTACACS协议配置 _职场_25

设置Network Configuration

 AAA及 RADIUS/HWTACACS协议配置 _职场_26

 

 AAA及 RADIUS/HWTACACS协议配置 _休闲_27

结果测试:

用户user2登录成功,权限级别“0”

 AAA及 RADIUS/HWTACACS协议配置 _休闲_28