AAA
AAA 是认证 (Authentication)、授权 (Authorization) 和计费 (Accounting) 的简称,是网络安全中进行访问控制的一种安全管理机制,提供认证、授权和计费三种安全服务。一般采用 C/S (客户端/服务器) 模式,AAA 客户端运行于 NAS (Network Access Server,网络接入服务器) 上,AAA 服务器用于集中管理用户信息
常见 AAA 协议 : RADIUS、TACACS、TACACS+、HWTACACS、LDAP、AD、Diameter
Authentication
识别访问网络的用户的身份,判断访问者是否为合法的用户
AAA 服务器将用户的身份验证凭据与存储在数据库中的用户凭据进行比较 :
如果凭据匹配,则身份认证成功,并且授予用户访问网络的权限;
如果凭据不匹配,则身份认证失败,并且网络访问将被拒绝
身份验证凭据通常使用 :
- 密码
- 用户名和密码
- 数字证书
实现方式 :
- 不认证
对用户非常信任,不对其进行合法检查 - 本地认证
将用户信息配置在网络接入服务器上。本地认证的优点是速度快,可以为运营降低成本,缺点是存储信息量受设备硬件条件限制 - 远端认证
将用户信息配置在认证服务器上。支持通过 RADIUS 或 HWTACACS 等协议进行远端认证
Authorization
对不同用户赋予不同的权限,限制用户可以使用的服务
用户身份认证成功之后,通过授权来确定 :
- 用户能够使用的命令
- 用户能够访问的资源
- 用户能够获取的信息
授权的基本原则是最小特权原则,即仅授予用户执行其所需功能时必须的权限,以此来防范任何轻率的授权可能导致的意外或恶意的网络行为
实现方式 :
- 不授权
不对用户进行授权处理 - 本地授权
根据网络接入服务器为本地用户账号配置的相关属性进行授权 - 远端授权
由服务器对用户进行授权
Accounting
记录用户使用网络服务过程中的相关操作,记录内容包括服务类型、起始时间、数据流量等,用于收集和记录用户对网络资源的使用情况,并可以实现针对时间、流量的计费需求,也对网络起到监控作用
实现方式 :
- 不计费
不对用户计费 - 远端计费
支持通过 RADIUS 或 HWTACACS 等服务器进行远端计费
工作过程
- 用户与 AAA 客户端建立连接
- AAA 客户端将用户凭据传递给 AAA 服务器
- AAA 服务器根据凭据进行认证和授权,并将结果返回给 AAA 客户端
- AAA 客户端根据返回结果判断是否允许用户接入