华为&思科 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 支持以下认证方式:

●∙∙不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。 ●∙∙本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降低成本;缺点是存储信息量受设备硬件条件限制。

●∙∙远端认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在认证服务器上。AAA 支持通过RADIUS (Remote Authentication Dial In User Service)协议或HWTACACS (HuaWei Terminal Access Controller Access Control System)协议进行远端认证。网络接入服务器NAS (Network Access Server)作为客户端,与RADIUS 服务器或HWTACACS 服务器通信。

如果在一个认证方案中采用多种认证模式,将按照配置的顺序进行认证。 当配置的认证方式是先远端认证后本地认证时

如果登录的帐号在远端服务器上没有创建,但是在本地是存在的,经过远端认证时,将被认为认证失败,不再转入本地认证。

,

只有在远端认证服务器无响应时,才会转入本地认证。

如果选用了不认证(none )或本地认证(

local ),它必须作为最后一种认证模式。 授权

AAA 支持以下授权方式:

不授权:不对用户进行授权处理。

●∙∙本地授权:根据网络接入服务器为本地用户账号配置的相关属性进行授权。 ●∙∙HWTACACS 授权:由TACACS 服务器对用户进行授权。

●∙∙if-authenticated 授权:如果用户通过了认证,而且使用的认证模式不是不认证,则用户

授权通过。

●∙∙RADIUS 认证成功后授权:RADIUS 协议的认证和授权是绑定在一起的,不能单独使用

RADIUS 进行授权。

●∙∙如果在一个授权方案中使用多次授权,授权模式的执行顺序按照配置的先后,只有在当

前授权模式没有响应时,才会尝试下一个授权模式,如果授权失败则将不会再进行授权。 计费

AAA 支持以下计费方式:

●∙∙不计费:不对用户计费。

●∙∙远端计费:通过RADIUS 服务器或HWTACACS 服务器进行远端计费。

1.3 RADIUS协议

AAA 可以用多种协议来实现,最常用的是RADIUS 协议。RADIUS 最初用来管理使用串口和调制解调器的大量分散用户,后来广泛应用于网络接入服务器NAS (Network Access Server )系统。

RADIUS 服务器通过建立一个唯一的用户数据库,存储用户名、密码来对用户进行验证。 ●∙∙用户登录路由器或接入服务器等网络设备时,会将用户名和密码发送给该网络接入服务

器;

●∙∙该网络设备中的RADIUS 客户端(网络接入服务器)接收用户名和密码,并向RADIUS

服务器发送认证请求;

●∙∙RADIUS 服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户

端;对于非法的请求,RADIUS 服务器返回认证失败的信息给客户端。

客户端和RADIUS 服务器之间发送的用户密码信息经过加密以后才在网络上传递,以避免用户密码在不安全的网络上被窃取。

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 //创建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 //创建一个名称为radius 认证方

authentication-mode radius hwtacacs local //认证方式为radius 、hwtacacs 以及本地认证

authorization-scheme default //缺省的授权方

accounting-scheme default //缺省的计费方

accounting-scheme radius //创建一个名称为radius 的计费方

accounting-mode radius //配置当前的计费方案模式为

radius

accounting start-fail online //配置计费方案hwtacacs 的开始计费失败策略为:当开始计费失败时,允许用户上线。

,

domain default //缺省的用户

domain default_admin //缺省的管理用户

domain huawei //创建一个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 //创建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 //设置主用服务器恢复激活状态的时间为3分钟

undo hwtacacs-server user-name domain-included //配置设备向HWTACACS 服务器发送的报文中用户名不包含域名。

#

aaa //进入aaa 视图

domainname-parse-direction left-to-right //配置域名解析方向是从左向右(缺省) authentication-scheme default

authentication-scheme l-h //创建一个名称为1-h 认证方案

authentication-mode hwtacacs local //认证方式为hwtacacs 以及本地认证

authentication-super hwtacacs super //来配置当前认证模板对用户提升级别进行认证时采用hwtacacs 以及本地认证模式

authorization-scheme default

authorization-scheme hwtacacs //创建一个名称为hwtacacs 授权方案

authorization-mode hwtacacs //授权方式为hwtacacs

authorization-cmd 15 hwtacacs //配置级别为15的用户按命令行授权

accounting-scheme default

accounting-scheme hwtacacs //创建一个名称为hwtacacs 计费方案

accounting-mode hwtacacs //计费方式为hwtacacs

accounting realtime 3 //配置hwtacacs 计费方案为实时计费,计费间隔为3分钟

accounting start-fail online //配置计费方案hwtacacs 的开始计费失败策略为:当开始计费失败时,允许用户上线。

domain default

domain default_admin

domain huawei //创建一个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 登录验证配置区别

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

#

标签: