前言
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称,它提供了认证、授权、计费三种安全功能。AAA可以通过多种协议来实现,目前华为设备支持基于RADIUS(Remote Authentication Dial-In User Service)协议或HWTACACS(Huawei Terminal Access Controller Access Control System)协议来实现AAA。
应用场景-介绍
AAA是一种提供认证、授权和计费的安全技术。该技术可以用于验证用户帐户是否合法,授权用户可以访问的服务,并记录用户使用网络资源的情况。
例如,企业总部需要对服务器的资源访问进行控制,只有通过认证的用户才能访问特定的资源,并对用户使用资源的情况进行记录。在这种场景下,可以按照如图所示的方案进行AAA部署,NAS为网络接入服务器,负责集中收集和管理用户的访问请求。
AAA服务器表示远端的Radius或HWTACACS服务器,负责制定认证、授权和计费方案。如果企业分支的员工希望访问总部的服务器,远端的Radius或HWTACACS服务器会要求员工发送正确的用户名和密码,之后会进行验证,通过后则执行相关的授权策略,接下来,该员工就可以访问特定的服务器了。如果还需要记录员工访问网络资源的行为,网络管理员还可以在Radius或HWTACACS服务器上配置计费方案。
目前,ARG3系列路由器只支持配置认证和授权。
NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。
认证方式
AAA支持三种认证方式:
不认证:完全信任用户,不对用户身份进行合法性检查。鉴于安全考虑,这种认证方式很少被采用。
本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。
远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。
AAA支持通过RADIUS协议或HWTACACS协议进行远端认证。NAS作为客户端,与RADIUS服务器或HWTACACS服务器进行通信。 如果一个认证方案采用多种认证方式,这些认证方式按配置顺序生效。比如,先配置了远端认证,随后配置了本地认证,那么在远端认证服务器无响应时,会转入本地认证方式。如果只在本地设备上配置了登录账号,没有在远端服务器上配置,AR2200认为账号没有通过远端认证,不再进行本地认证。
授权方式
AAA授权功能赋予用户访问的特定网络或设备的权限。AAA支持以下授权方式:
不授权:不对用户进行授权处理。
本地授权:根据NAS上配置的本地用户账号的相关属性进行授权。
远端授权:HWTACACS授权,使用TACACS服务器对用户授权。
RADIUS授权,对通过RADIUS服务器认证的用户授权。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。 如果在一个授权方案中使用多种授权方式,这些授权方式按照配置顺序生效。不授权方式最后生效。
计费方式
计费功能用于监控授权用户的网络行为和网络资源的使用情况。AAA支持以下两种计费方式:
不计费:为用户提供免费上网服务,不产生相关活动日志。
远端计费:通过RADIUS服务器或HWTACACS服务器进行远端计费。RADIUS服务器或HWTACACS服务器具备充足的储存空间,可以储存各授权用户的网络访问活动日志,支持计费功能。 本示例中展示了用户计费日志中记录的典型信息。
AAA域
设备基于域来对用户进行管理,每个域都可以配置不同的认证、授权和计费方案,用于对该域下的用户进行认证、授权和计费。每个用户都属于某一个域。用户属于哪个域是由用户名中的域名分隔符@后的字符串决定。例如,如果用户名是user@huawei,则用户属于huawei域。如果用户名后不带有@,则用户属于系统缺省域default。
ARG3系列路由设备支持两种缺省域:
default域为普通用户的缺省域。
default_admin域为管理用户的缺省域。
用户可以修改但不能删除这两个缺省域。默认情况下,设备最多支持32个域,包括两个缺省域。
AAA配置
authentication-scheme authentication-scheme-name命令用来配置域的认证方案。缺省情况下,域使用名为“default”的认证方案。
authentication-mode { hwtacacs | radius | local }命令用来配置认证方式,local指定认证模方式为本地认证。
缺省情况下,认证方式为本地认证。 authorization-scheme authorization-scheme-name命令用来配置域的授权方案。
缺省情况下,域下没有绑定授权方案。 authorization-mode { [ hwtacacs | if-authenticated | local ] * [ none ] }命令用来配置当前授权方案使用的授权方式。
缺省情况下,授权模式为本地授权方式。 domain domain-name命令用来创建域,并进入AAA域视图。
local-user user-name password cipher password命令用来创建本地用户,并配置本地用户的密码。如果用户名中带域名分隔符,如@,则认为@前面的部分是用户名,后面部分是域名。如果没有@,则整个字符串为用户名,域为默认域。
local-user user-name privilege level level命令用来指定本地用户的优先级。
配置验证
display domain [ name domain-name ]命令用来查看域的配置信息。
Domain-state为Active表示激活状态。Authentication-scheme-name表示域使用的认证方案为auth1。
缺省情况下,域使用系统自带的default认证方案。Authorization-scheme-name表示域使用的授权方案为auth2。