认识
针对任何网络,用户管理都是最基本的安全管理要求之一。如果网络未提供功能,则该网络是个“开放 Open”的网络,任何人都能介入并不受监管。早期,网络中并无针对特定用户的监管技术,所以管理员只能针对用户配置静态的策略。
AAA 是 Authentication(认证)、Authorization(授权)、Accounting(计费)的简称,是网络安全的一种管理机制,提供认证、授权、计费三种安全功能。简而言之,AAA 是种网络中进行用户管理(认证、授权、计费)的方法。
AAA 是种管理框架,它提供授权部分用户访问指定资源和记录这些用户操作行为的安全机制。因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。
组成
在常见 AAA 架构中,包括 User、NAS(Network Access Server)、AAA Server 部分:
NAS(Network Access Server)
1)其负责集中收集和管理 User 的访问请求;
2)其能够创建多个 Domain 来管理 User。不同的 Domain 能够关联不同 AAA 方案(认证方案,授权方案,计费方案);
交互流程
当 NAS 收到 User 接入网络的请求时,NAS 会根据用户名来判断用户所在的 Domain,根据该域对应的 AAA 方案对用户进行管控;
构建
AAA 能够通过多种协议来实现。在实际应用中,最常使用 RADIUS 协议,还有 TACACS+、Diameter 协议。
性质
认证 Authentication
验证用户是否可以获得网络访问权。例如,通过 Username Password 进行认证,如果认证失败,则拒绝用户接入。
认证策略还能够控制用户的接入点。哪怕用户凭证正确,但是从错误的网络中登录,则可以拒绝用户。
意图:验证用户是否可以获得访问权,确定哪些用户可以访问网络;
AAA 支持的认证方式有:
1)不认证,
2)本地认证:在本地认证
3)远端认证:在 AAA Server 中,完成认证;
能够针对不同用户,采用不同的认证策略;
支持通过 RADIUS 协议或 HWTACACS(HuaWei Terminal Access Controller Access Control System)协议进行
授权 | Authorization
意图:授权用户可以使用哪些服务;
AAA 支持的授权方式有:不授权,本地授权,远端授权;
授权信息包括:所属用户组、所属 VLAN、ACL 编号等;
授权用户可以使用哪些服务或权限。当用户通过认证之后,AAA Server 向 NAS 下发用户相关的网络策略或权限。
Note that the radius server can’t request further information from the NAS. In contrast with SQL systems, RADIUS is limited in that it cannot make complicated queries. In SQL, queries such as “SELECT name from table where ipaddress = 192.02.34” are common. RADIUS does not have that capability. Instead, RADIUS only makes statements about what is, and what should be.
计费 | Accounting
记录用户使用网络资源的情况。
意图:记录用户使用网络资源的情况;记录用户会话的起始、结束、资源使用情况(如流量、时长)。
计费功能用于监控授权用户的网络行为和网络资源的使用情况。通常 NAS 无法进行计费,所以不支持本地计费;
AAA 支持的计费方式有:不计费,远端计费;
NAS 会周期向 AAA Server 来上报用户网络使用情况(例如,流量使用总量、用户活动、……),该类数据将作为向用户收费的依据。
针对内部使用、无需计费的网络,则通常不需要 Accounting 功能。
注意,Acconting 通常发送的是摘要信息,其并不包含用户使用网络的详细信息(例如,用户所访问的站点,使用何种协议、……)
审计 | Auditing
Auditing refers to the proactive analysis of accounting logs and other data (such as sFlow or NetFlow data). This analysis is a long-term process and is part of ongoing maintenance and monitoring. Auditing provides information about the user’s post-authentication behavior. It can provide insight on when to update local site policy to best match user behavior.
Auditing can also be used to determine when an NAS has been compromised, by monitoring NAS enforcement of the required authorization policies. For example, if a user manages to override site policy and log into a particular server when the intent of the site policy was to deny that user access, an audit of the AAA records would highlight that policy violation. Since the intent of the site policy – to deny that user access – was overturned by the user, the audit would indicate that the site policy should be updated by the network administrator to prevent future policy violations. Subsequent audits would monitor longterm behavior and thus ensure that the policy is being enforced.
注意,根据我们的了解,在 AAA 规范中,其并不包含 Auditing 相关内容。但是,或许,针对 AAA Server 的具体实现,其可能包含 Auditing 功能。
应用
用户可以只使用 AAA 提供的一种或多种安全服务。例如:
- 若想让员工在访问某些特定资源的时候进行身份认证,则管理员仅需配置认证服务器。
- 若希望对员工使用网络的情况进行记录,那么还需要配置计费服务器。
- wireless hotspots use AAA for security;
- partitioned networks require AAA to enforce access;
- all forms of remote access use AAA to authorize remote users
集中用户管理
通过 RADIUS 提供上网用户的 AAA:
1)通过在 NAS 上配置 AAA 方案,实现 NAS 与 RADIUS Server 的对接;
2)用户在客户端上输入 Username 和 Password 后,NAS 将这些信息发送至 RADIUS Server 进行认证;
3)如果认证通过,则授予用户访问 Internet 的权限;
4)在用户访问过程中,RADIUS Server 还能记录用户使用网络资源的情况;
在该场景中,使用独立的 AAA Server(RADIUS Server)集中进行用户管理,该 RADIUS Server 实现 AAA 管理框架;
本地用户认证
对管理用户进行本地认证和授权:
1)在 Router 上,配置本地 AAA 方案后,
2)当网络管理员登录 Router 时,Router 将网络管理员的的用户名密码等信息,与本地配置的用户名信息进行比对认证;
3)当认证通过后,Router 将授予网络管理员一定的管理员权限;
在该场景中,没有独立的 AAA Server,用户直接在 NAS(Router)中完成认证,该 Router 实现 AAA 管理框架;
参考
THE FREERADIUS TECHNICAL GUIDE