博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

华为AAA认证详解及配置

Posted on 2019-05-29 16:27  skytwen  阅读(17372)  评论(0编辑  收藏  举报

一、AAA的基本架构

AAA 通常采用“客户端—服务器”结构。这种结构既具有良好的可扩展性,又便于集中管理用户信息。如图1所示。

图 1 AAA 的基本构架示意图

 

认证:

     不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。 
     本地认证:将用户信息配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降 低成本,缺点是存储信息量受设备硬件条件限制。 
     远端认证:将用户信息配置在认证服务器上。支持通过 RADIUS(Remote Authentication Dial In User Service)协议或 HWTACACS(HuaWei Terminal Access Controller Access Control System)协议进行远端认证。 

授权:

  AAA 支持以下授权方式: 
    不授权:不对用户进行授权处理。 
    本地授权:根据网络接入服务器为本地用户账号配置的相关属性进行授权。 
     HWTACACS 授权:由 HWTACACS 服务器对用户进行授权。 

     if-authenticated 授权:如果用户通过了认证,而且使用的认证模式是本地或远端认证,则用户 授权通过。 
     RADIUS 认证成功后授权:RADIUS 协议的认证和授权是绑定在一起的,不能单独使用 RADIUS 进行授权。

计费:

     AAA 支持以下计费方式: 
     不计费:不对用户计费。 
     远端计费:支持通过 RADIUS 服务器或 HWTACACS 服务器进行远端计费。

 

二、RADIUS协议

远程认证拨号用户服务 RADIUS(Remote Authentication Dial-In User Service)是一种分布式的、客 户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全 性、又允许远程用户访问的各种网络环境中。该协议定义了基于 UDP 的 RADIUS 帧格式及其消息 传输机制,并规定 UDP 端口 1812、1813 分别作为认证、计费端口。

RADIUS 最初仅是针对拨号用户的 AAA 协议,后来随着用户接入方式的多样化发展,RADIUS 也 适应多种用户接入方式,如以太网接入、ADSL 接入。它通过认证授权来提供接入服务,通过计费 来收集、记录用户对网络资源的使用。

RADIUS服务器

RADIUS 服务器一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负 责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS 服务器通常要维护三个数据库,如图 1 所示。

图 1 RADIUS 服务器的组成

“Users”:用于存储用户信息(如用户名、口令以及使用的协议、IP 地址等配置信息)。  
“Clients”:用于存储 RADIUS 客户端的信息(如接入设备的共享密钥、IP 地址等)。  
“Dictionary”:用于存储 RADIUS 协议中的属性和属性值含义的信息。

RADIUS客户端

RADIUS 客户端一般位于网络接入服务器 NAS(Network Access Server)设备上,可以遍布整个网 络,负责传输用户信息到指定的 RADIUS 服务器,然后根据从服务器返回的信息进行相应处理(如 接受/拒绝用户接入)。

网络接入服务器作为 RADIUS 协议的客户端,实现以下功能: 

    标准 RADIUS 协议及扩充属性,包括 RFC2865、RFC2866。 
      华为扩展的私有属性。 
      对 RADIUS 服务器状态的主动探测功能。 
      计费结束报文的本地缓存重传功能

安全机制 
RADIUS 客户端和 RADIUS 服务器之间认证消息的交互是通过共享密钥的参与来完成的,并且共 享密钥不能通过网络来传输,增强了信息交互的安全性。另外,为防止用户密码在不安全的网络上 传递时被窃取,在传输过程中对密码进行了加密。 
认证和计费消息流程 
RADIUS 客户端与服务器间的消息流程如图 2 所示。 
      用户登录网络接入服务器时,会将用户名和密码发送给该网络接入服务器; 
      该网络接入服务器中的 RADIUS 客户端接收用户名和密码,并向 RADIUS 服务器发送认证请 求; 
      RADIUS 服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端; 对于非法的请求,RADIUS 服务器返回认证失败的信息给客户端。 
图 2 RADIUS 客户端与服务器间的消息流程  
 

计费的消息流程和认证/授权的消息流程类似。 


三、HWTACACS 协议 

HW 终端访问控制器控制系统协议 HWTACACS(Huawei Terminal Access Controller Access Control System)是在 TACACS(RFC 1492)基础上进行了功能增强的安全协议。该协议与 RADIUS 协议 类似,采用客户端/服务器模式实现 NAS 与 HWTACACS 服务器之间的通信。 
HWTACACS 协议主要用于点对点协议 PPP(Point-to-Point Protocol)和虚拟私有拨号网络 VPDN (Virtual Private Dial-up Network)接入用户及终端用户的认证、授权和计费。其典型应用是对需要 登录到设备上进行操作的终端用户进行认证、授权、计费。设备作为 HWTACACS 的客户端,将 用户名和密码发给 HWTACACS 服务器进行验证。用户验证通过并得到授权之后可以登录到设备 上进行操作。 
HWTACACS 协议和 RADIUS 协议的比较 
HWTACACS 协议与 RADIUS 协议都实现了认证、授权、计费的功能,它们有很多相似点:结构 上都采用客户端/服务器模式;都使用公共密钥对传输的用户信息进行加密;都有较好的灵活性和 可扩展性。 
与 RADIUS 相比,HWTACACS 具有更加可靠的传输和加密特性,更加适合于安全控制。 HWTACACS 协议与 RADIUS 协议的主要区别如表 1 所示。


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

在整个过程中的基本消息交互流程如下:  
1. Telnet 用户请求登录设备。  
2. HWTACACS 客户端收到请求之后,向 HWTACACS 服务器发送认证开始报文。  
3. HWTACACS 服务器发送认证回应报文,请求用户名。  
4. HWTACACS 客户端收到回应报文后,向用户询问用户名。  
5. 用户输入用户名。  
6. HWTACACS 客户端收到用户名后,向 HWTACACS 服务器发送认证持续报文,其中包括了 用户名。  
7. HWTACACS 服务器发送认证回应报文,请求登录密码。  
8. HWTACACS 客户端收到回应报文,向用户询问登录密码。  
9. 用户输入密码。  
10. HWTACACS 客户端收到登录密码后,向 HWTACACS 服务器发送认证持续报文,其中包括 了登录密码。  
11. HWTACACS 服务器发送认证回应报文,指示用户通过认证。  
12. HWTACACS 客户端向 HWTACACS 服务器发送授权请求报文。  
13. HWTACACS 服务器发送授权回应报文,指示用户通过授权。  
14. HWTACACS 客户端收到授权回应成功报文,向用户输出设备的配置界面。  
15. HWTACACS 客户端向 HWTACACS 服务器发送计费开始报文。  
16. HWTACACS 服务器发送计费回应报文,指示计费开始报文已经收到。  
17. 用户请求断开连接。  
18. HWTACACS 客户端向 HWTACACS 服务器发送计费结束报文。  
19. HWTACACS 服务器发送计费结束报文回应,指示计费结束报文已经收到。 
说明:  
HWTACACS 协议与其他厂商支持的 TACACS+协议都实现了认证、授权、计费的功能。HWTACACS 和 TACACS+的认证流程与实现方式是一致的,HWTACACS 协议能够完全兼容 TACACS+协议。

 
四、基于域的用户管理 


一个域是由属于同一个域的用户构成的群体。 
NAS 设备对用户的管理是基于域的,每个接入用户都属于一个域。用户所属的域是由用户登录时 提供的用户名决定的,如图 1 所示。 
 

用户的认证、授权、计费都是在相应的域视图下应用预先配置的认证、授权、计费方案来实现的。 AAA 有缺省的认证、授权、计费方案,分别为本地认证、本地授权、本地计费。如果用户所属的 域下未应用任何认证、授权、计费方案,系统将使用缺省的认证、授权、计费方案。 

五、配置案例

配置采用 RADIUS 协议进行认证和计费示例(S5700) 

如图 1 所示,用户通过 SwitchA 访问网络,用户同处于 huawei 域。SwitchB 作为目的网络接入服 务器。用户首先需要穿越 SwitchA 和 SwitchB 所在的网络,然后通过服务器的远端认证才能通过 SwitchB 访问目的网络。在 SwitchB 上的远端认证方式如下: 
 SwitchB 对接入用户先用 RADIUS 服务器进行认证,如果认证没有响应,再使用本地认证。 
 RADIUS 服务器 129.7.66.66/24 作为主用认证服务器和计费服务器,RADIUS 服务器 129.7.66.67/24 作为备用认证服务器和计费服务器,认证端口号缺省为 1812,计费端口号缺省 为 1813。 
图 1 采用 RADIUS 协议对用户进行认证和计费组网图  

配置思路 
用如下的思路配置采用 RADIUS 协议对用户进行认证和计费。 
1. 配置 RADIUS 服务器模板。  
2. 配置认证方案、计费方案。  
3. 在域下应用 RADIUS 服务器模板、认证方案和计费方案。

1. 配置 RADIUS 服务器模板  
# 配置 RADIUS 服务器模板 shiva。 
<HUAWEI> system-view 
[HUAWEI] radius-server template shiva 
# 配置 RADIUS 主用认证服务器和计费服务器的 IP 地址、端口。 
[HUAWEI-radius-shiva] radius-server authentication 129.7.66.66 1812 weight 80 
[HUAWEI-radius-shiva] radius-server accounting 129.7.66.66 1813 weight 80 
# 配置 RADIUS 备用认证服务器和计费服务器的 IP 地址、端口。 
[HUAWEI-radius-shiva] radius-server authentication 129.7.66.67 1812 weight 40 
[HUAWEI-radius-shiva] radius-server accounting 129.7.66.67 1813 weight 40 
# 配置 RADIUS 服务器密钥、重传次数,以及设备向 RADIUS 服务器发送的报文中的用户 名不包含域名。 
[HUAWEI-radius-shiva] radius-server shared-key cipher hello 
[HUAWEI-radius-shiva] radius-server retransmit 2 
[HUAWEI-radius-shiva] undo radius-server user-name domain-included 
[HUAWEI-radius-shiva] quit 
 
2. 配置认证方案、计费方案  
# 配置认证方案 auth,认证模式为先进行 RADIUS 认证,后进行本地认证。 
[HUAWEI] aaa 
[HUAWEI-aaa] authentication-scheme auth 
[HUAWEI-aaa-authen-auth] authentication-mode radius local 
[HUAWEI-aaa-authen-auth] quit 
# 配置计费方案 abc,计费模式为 RADIUS,并配置当开始计费失败时,允许用户上线。 
[HUAWEI-aaa] accounting-scheme abc 
[HUAWEI-aaa-accounting-abc] accounting-mode radius 
[HUAWEI-aaa-accounting-abc] accounting start-fail online 
[HUAWEI-aaa-accounting-abc] quit 
3. 配置 huawei 域,在域下应用认证方案 auth、计费方案 abc、RADIUS 模板 shiva  
[HUAWEI-aaa] domain huawei 
[HUAWEI-aaa-domain-huawei] authentication-scheme auth 
[HUAWEI-aaa-domain-huawei] accounting-scheme abc 
[HUAWEI-aaa-domain-huawei] radius-server shiva 
[HUAWEI-aaa-domain-huawei] quit

4. 检查配置结果  
在 SwitchB 上执行命令 display radius-server configuration template,可以观察到该 RADIUS 服务器模板的配置与要求一致

采用 HWTACACS 协议进行认证、授权和计费示例(S5700)
如图 1 所示,用户要求: 
 SwitchB 对接入用户先用 HWTACACS 服务器进行认证,如果认证没有响应,再使用本地认 证。  
 SwitchB 对接入用户先用 HWTACACS 服务器进行授权,如果授权没有响应,再使用本地授 权。   
 SwitchB 对接入用户采用 HWTACACS 计费。  
 对用户进行实时计费,计费间隔为 3 分钟。  
 HWTACACS 主用服务器为 129.7.66.66/24,备用服务器为 129.7.66.67/24,服务器的认证、授 权和计费端口号均为 49。 
图 1 采用 HWTACACS 协议对用户进行认证、计费和授权组网图  
 

配置思路 
采用如下的思路配置对用户使用本地和 HWTACACS 认证、HWTACACS 授权和进行实时计费。 
1. 配置 HWTACACS 服务器模板。  
2. 配置认证方案、授权方案、计费方案。  
3. 在域下应用 HWTACACS 服务器模板、认证方案、授权方案、计费方案。

1. 配置 HWTACACS 服务器模板 ht。 
<Huawei> system-view 
[Huawei] hwtacacs-server template ht 
# 配置 HWTACACS 主用认证、授权、计费服务器的 IP 地址和端口。 
[Huawei-hwtacacs-ht] hwtacacs-server authentication 129.7.66.66 49 
[Huawei-hwtacacs-ht] hwtacacs-server authorization 129.7.66.66 49 
[Huawei-hwtacacs-ht] hwtacacs-server accounting 129.7.66.66 49 
# 配置 HWTACACS 备用认证、授权、计费服务器的 IP 地址和端口。 

[Huawei-hwtacacs-ht] hwtacacs-server authentication 129.7.66.67 49 secondary 
[Huawei-hwtacacs-ht] hwtacacs-server authorization 129.7.66.67 49 secondary 
[Huawei-hwtacacs-ht] hwtacacs-server accounting 129.7.66.67 49 secondary 
# 配置 TACACS 服务器密钥。 
[Huawei-hwtacacs-ht] hwtacacs-server shared-key cipher hello 
[Huawei-hwtacacs-ht] quit 
2. 配置认证方案、授权方案、计费方案  
# 配置认证方案 l-h,认证模式为先进行 HWTACACS 认证,后进行本地认证。用户级别提 升认证模式为先进行 HWTACACS 认证,后进行本地认证。 
[Huawei] aaa 
[Huawei-aaa] authentication-scheme l-h 
[Huawei-aaa-authen-l-h] authentication-mode hwtacacs local 
[Huawei-aaa-authen-l-h] authentication-super hwtacacs super 
[Huawei-aaa-authen-l-h] quit 
# 配置授权方案 hwtacacs,授权模式为先进行 HWTACACS 授权,后进行本地授权。 
[Huawei-aaa] authorization-scheme hwtacacs 
[Huawei-aaa-author-hwtacacs] authorization-mode hwtacacs local 
[Huawei-aaa-author-hwtacacs] quit 
# 配置计费方案 hwtacacs,计费模式为 HWTACACS。 
[Huawei-aaa] accounting-scheme hwtacacs 
[Huawei-aaa-accounting-hwtacacs] accounting-mode hwtacacs 
[Huawei-aaa-accounting-hwtacacs] accounting start-fail online 
# 配置实时计费间隔为 3 分钟。 
[Huawei-aaa-accounting-hwtacacs] accounting realtime 3 
[Huawei-aaa-accounting-hwtacacs] quit 
3. 配置 huawei 域,在域下采用 l-h 认证方案、HWTACACS 授权方案、HWTACACS 计费方案、 ht 的 HWTACACS 模板  
[Huawei-aaa] domain huawei 
[Huawei-aaa-domain-huawei] authentication-scheme l-h 
[Huawei-aaa-domain-huawei] authorization-scheme hwtacacs 
[Huawei-aaa-domain-huawei] accounting-scheme hwtacacs 
[Huawei-aaa-domain-huawei] hwtacacs-server ht 
[Huawei-aaa-domain-huawei] quit 
[Huawei-aaa] quit

4. 在 SwitchB 上执行命令 display hwtacacs-server template,可以观察到该 HWTACACS 服务 器模板的配置与要求一致

同时在 SwitchB 上执行命令 display domain,可以观察到该域的配置与要求一致

六、配置总结

本地方式认证和授权配置流程为:配置AAA方案----配置本地用户----配置业务方案(service-scheme)-----配置域的AAA方案

RADIUS方式认证授权计费配置流程为:配置AAA方案----配置Radius服务器模板-----配置业务方案-----配置域的AAA方案

HWTACACS方式认证授权计费配置流程为:配置AAA方案-----HWTACACS服务器模板-----业务方案-----配置域的AAA方案