AAA的概念和架构,RADIUS和TACASS+的原理和配置
AAA是网络访问控制的一种安全管理框架,他决定哪些的用户能够访问网络,以及用户能够访问哪些资源或者得到哪些服务。
第一个A:认证
认证用来识别访问网络的用户的身份,判断访问者是否为合法的用户。
AAA服务器将用户的身份验证凭据与存储在数据库中的用户凭据进行比较。若匹配成功,则授予用户访问网络的权限。若失败,则被拒绝访问,用户的身份认证凭据通常使用:密码、用户名和密码、数字证书。
第二个A:授权
授权是指对不同用户赋予不同的权限,限制用户可以使用的服务。
授权的基本原则是最小的特权原则,即授予用户执行其所需功能时必须的权限,以此来防范任何轻率的授权可能导致的意外或者恶意的网络行为。
第三个A:计费
计费用来记录用户使用网络服务类型,起始时间、数据流量等,用于收集和记录用户对网络资源的使用情况,并可以实现针对时间、流量的计费需求,也对网络起到监控作用。
AAA如何工作:
AAA采用客户端/服务器的结构、简单、扩展性好,且便于集中管理用户信息。
其中:
AAA客户端运行在NAS设备(网络接入服务器)上,NAS设备可以是路由器、交换机等为用户提供入网服务的设备。
AAA服务器是认证服务器、授权服务器和计费服务器的统称,负责集中管理用户信息。根据AAA使用的通信协议的不同,AAA服务器可以分为RADIUS服务器、TACACS服务器等。
RADIUS:
远程身份验证拨号用户服务RADIUS(Remote Authentication Dial-In User Service)是标准协议,基本所有主流设备厂商都支持,所以在实际网络中应用最多。
RADIUS协议可分为认证协议和计费协议,分别通过IETF RFC 2865和RFC 2866定义。由于定义RADIUS协议的时间早于AAA框架模型,所以RADIUS协议并没有将认证和授权分开,而是将认证和授权在同一个流程中进行处理。因此,使用RADIUS协议实现AAA时,用户可能无法知道被拒绝访问的原因是由于密码错误还是因为没有权限。
TACASS、TACASS+、HWTACASS:
终端访问控制器控制系统TACACS(Terminal Access Controller Access-Control System),TACACS+和HWTACACS均为私有协议,在发展过程中逐步替代了原来的TACACS协议,并且不再兼容TACACS协议。HWTACACS协议可以兼容TACACS+协议,HWTACACS协议与TACACS+协议定义的报文结构和报文类型一致,主要区别在于授权和计费报文中携带的属性含义或类型不完全相同。与RADIUS协议相比,HWTACACS或TACACS+更加适用于登录用户(例如STelnet用户)的身份认证场景。这是由于它在数据传输、加密上安全性更高,同时能够提供命令行鉴权、事件记录等优势功能。
AAA应用:
登录用户管理:
是指直接登录设备进行操作的用户,例如Console口可以登录、Stelnet登录等。此类用户对安全性的要求较高,通过AAA可以限制用户可以登录到设备。