一、AAA 协议
AAA 的基本构架AAA 通常采用“客户端—服务器”结构。这种结构既具有良好的可扩展性,又便于集中管理用户信息。
AAA 的基本构架示意图:
01认证
AAA 支持以下认证方式:
①不认证:对用户非常信任,不对其进行合法检查,一般情况下不采用这种方式。
②本地认证:将用户信息配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降低成本,缺点是存储信息量受设备硬件条件限制。
③远端认证:将用户信息配置在认证服务器上。支持通过RADIUS(Remote Authentication Dial In User Service)协议或 HWTACACS(HuaWei Terminal Access Controller Access Control System)协议进行远端认证。
02授权
AAA 支持以下授权方式:
①不授权:不对用户进行授权处理。
②本地授权:根据网络接入服务器为本地用户账号配置的相关属性进行授权。
③HWTACACS 授权:由 HWTACACS 服务器对用户进行授权。
④if-authenticated 授权:如果用户通过了认证,而且使用的认证模式是本地或远端认证,则用户授权通过。
⑤RADIUS 认证成功后授权:RADIUS 协议的认证和授权是绑定在一起的,不能单独使用 RADIUS 进行授权。
03计费
AAA 支持以下计费方式:
①不计费:不对用户计费。
②远端计费:支持通过 RADIUS 服务器或 HWTACACS 服务器进行远端计费。
二、RADIUS 协议
远程认证拨号用户服务 RADIUS(Remote Authentication Dial-In User Service)是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常应用在既要求较高安全性、又允许远程用户访问的各种网络环境中。
该协议定义了基于 UDP 的 RADIUS 帧格式及其消息传输机制,并规定 UDP 端口 1812、 1813 分别作为认证、计费端口。
RADIUS 最初仅是针对拨号用户的 AAA 协议,后来随着用户接入方式的多样化发展, RADIUS 也适应多种用户接入方式,如以太网接入、 ADSL 接入。它通过认证授权来提供接入服务,通过计费来收集、记录用户对网络资源的使用。
01RADIUS 服务器
RADIUS 服务器一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。
RADIUS 服务器通常要维护三个数据库,如图所示:
①“Users”:用于存储用户信息(如用户名、口令以及使用的协议、 IP 地址等配置信息)。
②“Clients”:用于存储 RADIUS 客户端的信息(如接入设备的共享密钥、 IP 地址等)。
③“Dictionary”:用于存储 RADIUS 协议中的属性和属性值含义的信息。
02RADIUS 客户端
RADIUS 客户端一般位于网络接入服务器 NAS(Network Access Server)设备上,可以遍布整个网络,负责传输用户信息到指定的 RADIUS 服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。
网络接入服务器作为 RADIUS 协议的客户端,实现以下功能:
①标准RADIUS协议及扩充属性,包括RFC2865、RFC2866。
②华为扩展的私有属性。
③对RADIUS服务器状态的主动探测功能。
④计费结束报文的本地缓存重传功能。
⑤RADIUS 服务器的自动切换功能。
03安全机制
RADIUS客户端和RADIUS服务器之间认证消息的交互是通过共享密钥的参与来完成的,并且共享密钥不能通过网络来传输,增强了信息交互的安全性。
另外,为防止用户密码在不安全的网络上传递时被窃取,在传输过程中对密码进行了加密。
04认证和计费消息流程
RADIUS 客户端与服务器间的消息流程如图所示。
①用户登录网络接入服务器时,会将用户名和密码发送给该网络接入服务器。
②该网络接入服务器中的 RADIUS 客户端接收用户名和密码,并向 RADIUS 服务器发送认证请求。
③RADIUS 服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端;对于非法的请求, RADIUS 服务器返回认证失败的信息给客户端。
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 服务器进行验证。用户验证通过并得到授权之后可以登录到设备上进行操作。
05HWTACACS 协议和 RADIUS 协议的比较
HWTACACS 协议与 RADIUS 协议都实现了认证、授权、计费的功能,它们有很多相似点:
①结构上都采用客户端/服务器模式。
②都使用公共密钥对传输的用户信息进行加密。
③都有较好的灵活性和可扩展性。
与RADIUS相比, HWTACACS具有更加可靠的传输和加密特性,更加适合于安全控制。HWTACACS协议与RADIUS 协议的主要区别如表所示。
06HWTACACS 的基本消息交互流程
下面以 Telnet 用户为例,说明使用 HWTACACS 对用户进行认证、授权和计费的过程。基本消息交互流程图如图所示。
在整个过程中的基本消息交互流程如下:
- Telnet用户请求登录设备。
- HWTACACS 客户端收到请求之后,向HWTACACS服务器发送认证开始报文。
- HWTACACS服务器发送认证回应报文,请求用户名。
- HWTACACS客户端收到回应报文后,向用户询问用户名。
- 用户输入用户名。
- HWTACACS客户端收到用户名后,向HWTACACS服务器发送认证持续报文,其中包括了用户名。
- HWTACACS 服务器发送认证回应报文,请求登录密码。
- HWTACACS 客户端收到回应报文,向用户询问登录密码。
- 用户输入密码
- HWTACACS 客户端收到登录密码后,向 HWTACACS 服务器发送认证持续报文,其中包括了登录密码。
- HWTACACS 服务器发送认证回应报文,指示用户通过认证。
- HWTACACS 客户端向 HWTACACS 服务器发送授权请求报文。
- HWTACACS 服务器发送授权回应报文,指示用户通过授权。
- HWTACACS 客户端收到授权回应成功报文,向用户输出设备的配置界面。
- HWTACACS 客户端向 HWTACACS 服务器发送计费开始报文。
- HWTACACS 服务器发送计费回应报文,指示计费开始报文已经收到。
- 用户请求断开连接。
- HWTACACS 客户端向 HWTACACS 服务器发送计费结束报文。
- HWTACACS 服务器发送计费结束报文回应,指示计费结束报文已经收到。
说明:
HWTACACS 协议与其他厂商支持的 TACACS+协议都实现了认证、授权、计费的功能。HWTACACS和 TACACS+的认证流程与实现方式是一致的, HWTACACS 协议能够完全兼容 TACACS+协议。
四、基于域的用户管理
一个域是由属于同一个域的用户构成的群体。NAS 设备对用户的管理是基于域的,每个接入用户都属于一个域。用户所属的域是由用户登录时提供的用户名决定的,如图所示。
用户名决定域:
用户的认证、授权、计费都是在相应的域视图下应用预先配置的认证、授权、计费方案来实现的。
AAA有缺省的认证、 授权、计费方案,分别为本地认证、本地授权、本地计费。如果用户所属的域下未应用任何认证、授权、计费方案,系统将使用缺省的认证、授权、计费方案 。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。