【思唯网络】AAA原理与配置
AAA是Authentication(认证)、Authorization(授权)和Accounting(计费) 的简称,它提供了认证、授权、计费三种安全功能。AAA可以本地实现,也可以通过远端服务器实现。AAA可以通过多种协议来实现,目前华为设备支持基于RADIUS(Remote Authentication Dial-In User Service)协议或HWTACACS(Huawei Terminal Access Controller Access Control System)协议来实现AAA。
(1)认证(Authentication):验证用户是否可以获得访问权,确定哪些用户可以访问网络。AAA支持的认证方式有三种:
不认证。
本地认证。
远端认证。
(2)授权(Authorization):授权用户可以使用哪些服务。
不授权。
本地授权。
远端授权。
(3)计费(Accounting):记录用户使用网络资源的情况。
AAA支持的计费方式有:
不计费:为用户提供免费上网服务。
远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。
AAA的实现:最常用的是RADIUS协议,RADIUS是一种分布式的、客户端/ 服务器结构的信息交互协议,可以实现对用户的认证、计费和授权功能。通常由网络接入设备作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。RADIUS服务器一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝 认证请求)。RADIUS使用UDP(User Datagram Protocol)作为传输协议,并规定UDP端口1812、1813分别作为认证、计费端口,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而具有较好的可靠性。
RADIUS客户端与服务器间的消息流程如下:
当用户接入网络时,用户发起连接请求,向RADIUS客户端(即网络接入设备)发送用户名和密码。
RADIUS客户端向RADIUS服务器发送包含用户名和密码信息的认证请求报文。
RADIUS服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端;对于非法的请求,RADIUS服务器返回认证失败的信息给客户端。
RADIUS客户端通知用户认证是否成功。
RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则 RADIUS客户端向RADIUS服务器发送计费开始请求报文。
RADIUS服务器返回计费开始响应报文,并开始计费。
用户开始访问网络资源。
当用户不再想要访问网络资源时,用户发起下线请求,请求停止访问网络资源。
RADIUS客户端向RADIUS服务器提交计费结束请求报文。
RADIUS服务器返回计费结束响应报文,并停止计费。
RADIUS客户端通知用户访问结束,用户结束访问网络资源。
首先进入AAA视图,创建认证方案并配置认证方式。authorization-scheme authorization-scheme-name命令用来配置域的授权方案。缺省情况下,域下没有绑定授权方案。authentication-mode { hwtacacs | local | radius }命令用来配置当前授权方案使用的授权方式。缺省情况下,授权模式为本地授权方式。
创建domain并绑定认证方案;创建本地用户,配置用户名和密码(如果用户名中带域名分隔符,如@,@前面的是用户名,后面的则是域名;如果没有@,则整个字符串为用户名,域为默认域);配置用户接入类型service-type为telnet;用户级别level为0。
查看域的配置信息,Domain-state为Active表示激活状态。