44
AAA配置
访问控制是用来控制哪些人可以访问网络服务器以及用户在网络上可以访问哪些服务的。身份认证、授权
和记账(AAA)是进行访问控制的一种主要的安全机制。
44.1 AAA基本原理
AAA是Authentication Authorization and Accounting(认证、授权和记账)的简称,它提供了对认证、授
权和记账功能进行配置的一致性框架,锐捷网络设备产品支持使用AAA。 AAA以模块方式提供以下服务:
? 认证:验证用户是否可获得访问权,可选择使用RADIUS协议、TACACS+协议或Local
(本地)等。身份认证是在允许用户访问网络和网络服务之前对其身份进行识别
的一种方法。
? 授权:授权用户可使用哪些服务。AAA授权通过定义一系列的属性对来实现,这
些属性对描述了用户被授权执行的操作。这些属性对可以存放在网络设备上,也可以远程存放在安全服务器上。
? 记账:记录用户使用网络资源的情况。当AAA记账被启用时,网络设备便开始以
统计记录的方式向安全服务器发送用户使用网络资源的情况。每个记账记录都是以属性对的方式组成,并存放在安全服务器上,这些记录可以通过专门软件进行读取分析,从而实现对用户使用网络资源的情况进行记账、统计、跟踪。
?说明
部分产品的AAA仅提供认证功能。所有涉及产品规格的问题,可以通过向福建星网锐捷网络有限公司市场人员或技术支援人员咨询得到。
尽管AAA是最主要的访问控制方法,锐捷产品同时也提供了在AAA范围之外的简单控制访问,如本地用
户名身份认证、线路密码身份认证等。不同之处在于它们提供对网络保护程度不一样,AAA提供更高级别的安全保护。 使用AAA有以下优点:
? 灵活性和可控制性强 ? 可扩充性 ? 标准化认证 ? 多个备用系统
44.1.1 AAA基本原理
AAA可以对单个用户(线路)或单个服务器动态配置身份认证、授权以及记账类型。通过创建方法列表来
定义身份认证、记账、授权类型,然后将这些方法列表应用于特定的服务或接口。
44.1.2 方法列表
由于对用户进行认证、授权和记账可以使用不同的安全方法,您需要使用方法列表定义一个使用不同方法
对用户进行认证、授权和记账的前后顺序。方法列表可以定义一个或多个安全协议,这样可以确保在第一个方法失败时,有备用系统可用。锐捷产品使用方法列表中列出的第一个方法时,如果该方法无应答,则选择方法列表中的下一个方法。这个过程一直持续下去,直到与列出的某种安全方法成功地实现通信或用完方法列表。如果用完方法列表而还没有成功实现通信,则该安全功能宣告失败。
?注意 只有在前一种方法没有应答的情况下,锐捷产品才会尝试下一种方法。例如在身 份认证过程中,某种方法拒绝了用户访问,则身份认证过程结束,不再尝试其他的身份认证方法。
图 11. 典型的AAA网络配置图
上图说明了一个典型的AAA网络配置,它包含两台安全服务器:R1和R2是RADIUS服务
器。 假设系统管理员已定义了一个方法列表,在这个列表中,R1首先被用来获取身份信息,然
后是R2,最后是访问服务器上的本地用户名数据库。如果一个远程PC用户试图拨号进入网络,网络访问服务器首先向R1查询身份认证信息,假如用户通过了R1的身份认证,R1将向网络访问服务器发出一个ACCEPT应答,这样用户即获准访问网络。如果R1返回的是REJECT应答,则拒绝用户访问网络,断开连接。如果R1无应答,网络访问服务器就将它看作TIMEOUT,并向R2查询身份认证信息。这个过程会一直在余下的指定方法中持续下去,直到用户通过身份认证、被拒绝或对话被中止。如果所有的方法返回TIMEOUT,则认证失败,连接将被断开。
REJECT应答不同于TIMEOUT应答。REJECT意味着用户不符合可用身份认证数据库中包含的标准,从而未能通过身份认证,访问请求被拒绝。TIMEOUT则意味着
安全服务器对身份认证查询未作应答,当检测到一个TIMEOUT时,AAA选择身份认证方法列表中定义的下一个身份认证方法将继续进行身份认证过程。
?注意
?说明
在本文中,与AAA安全服务器相关的认证、授权和记账配置,均以RADIUS为例,而与TACACS+有关的内容请另外参考“配置TACACS+”。
44.2 AAA配置基本步骤
首先您必须决定要采用哪种安全解决方案,而且需要评估特定网络中的潜在安全风险,并选
择适当的手段来阻止未经授权的访问。我们建议,在可能的情况下,尽量使用AAA确保网络安全。 44.2.1 AAA配置过程概述
如果理解了AAA运作的基本过程,配置AAA就相对简单了。在锐捷网络设备上配置AAA
地步骤如下:
? 启用AAA,使用全局配置层命令aaa new-model。
? 如果决定使用安全服务器,请配置安全协议的参数,如RADIUS。 ? 定义身份认证方法列表,使用aaa authentication命令。 ? 如有需要,可将该方法列表应用于特定的接口或线路。
?注意 在应用特定方法列表时,如果没有明确指定使用命名的方法列表,则使用默认的 身份认证方法列表进行身份认证。
因此,如果不准备使用默认的身份认证方法列表,则需要指定特定的方法列表。
对于本章中使用的命令的完整描述,请参见安全配置命令参考中的相关章节。 44.2.2 启用AAA
要使用AAA安全特性,必须首先启用AAA。 要启用AAA,在全局配置模式下执行以下命令: Step 1
aaa new-model 命令 启用AAA 作用 44.2.3 停用AAA
要停用AAA,在全局配置模式下执行以下命令: Step 1
no aaa new-model 命令 停用AAA 作用 44.2.4 后续的配置过程
启用AAA以后,便可以配置与安全方案相关的其他部分,下表说明了可能要完成的配置任
务以及相关内容所在的章节。 AAA访问控制安全解决方案方法
配置任务 配置RADIUS安全协议参数 配置本地登录(Login)身份认证 定义认证方法列表 将方法列表应用于特定的接口或线路 启用RADIUS授权 启用RADIUS记账 2 3 4 5 6 7 步骤 所在章节 配置RADIUS 配置认证 配置认证 配置认证 配置授权 配置记账 如果使用AAA实现身份认证,请参考“配置认证”中的相关部分。
44.3 配置认证
身份认证是在允许用户使用网络资源以前对其进行识别,在大多数情况下,身份认证是通过
AAA安全特性来实现的。我们建议,在可能的情况下,最好使用AAA来实现身份认证。 44.3.1 定义AAA认证方法列表
要配置AAA身份认证,首先得定义一个身份认证方法的命名列表,然后各个应用使用已定
义列表进行认证。方法列表定义了身份认证的类型和执行顺序。对于已定义的身份认证方法,必须有特定的应用才会被执行。默认方法列表是唯一的例外。所有应用在未进行配置时使用默认方法列表。
方法列表仅是定义将要被依次查询的、并用于认证用户身份的一系列安全方法。方法列表使您能够指定一个或多个用于身份认证的安全协议,这样确保在第一种方法失败的情况下,可以使用身份认证备份系统。我司产品使用第一种方法认证用户的身份,如果该方法无应答,将选择方法列表中的下一种方法。这个过程一直持续下去,直到与列出的某种身份认证方法成功地实现通信或用完方法列表。如果用完方法列表而还没有成功实现通信,则身份认证宣告失败。
?注意 只有在前一种方法没有应答的情况下,锐捷产品才会尝试下一种方法。如果在身 份认证过程中,某种方法拒绝了用户访问,则身份认证过程结束,不再尝试其他的身份认证方法。
44.3.2 方法列表举例
在典型AAA网络配置图中,它包含2个服务器:R1和R2是RADIUS服务器。假设系统管
理员已选定一个安全解决方案,NAS认证采用一个身份认证方法对Telnet连接进行身份认证:首先使用R1对用户进行认证,如果无应答,则使用R2进行认证;如果R1、R2都没有应答,则身份认证由访问服务器的本地数据库完成,要配置以上身份认证列表,执行以下命令: Step 1 Step 2
aaa authentication login default group radius local configure terminal 命令 进入全局配置模式 配置一个默认身份认证方法列表,其中“default”是方法列表的名称。这个方法列表中包含的协议,按照它们将被查询的顺序排列在名称之后。为所有应用的默认方法列表。 作用 如果系统管理员希望该方法列表仅应用于一个特定的Login连接,必须创建一个命名方法列
表,然后将它应用于特定的连接。下面的例子说明了如何将身份认证方法列表仅应用于线路2: Step 1 Step 2 Step 3 Step 4 Step 5
configure terminal aaa new-model aaa authentication login test group radius local line vty 2 login authentication test 命令 进入全局配置模式 打开AAA开关 在全局配置模式下,定义了一个名为“test”的方法列表。 进入线路2配置层 在line配置模式下,将名为“test”方法列表应用于线路。 作用 当远程PC用户试图Telnet访问网络设备(NAS),NAS首先向R1查询身份认证信息,假如
用户通过了R1的身份认证,R1将向NAS发出一个ACCEPT应答,这样用户即获准访问网络。如果R1返回的是REJECT应答,则拒绝用户访问网络,断开连接。如果R1无应答,NAS就将它看作TIMEOUT,并向R2查询身份认证信息。这个过程会一直在余下的指定方法中持续下去,直到用户通过身份认证、被拒绝或对话被中止。如果所有的服务器(R1、R2)返回TIMEOUT,则认证由NAS本地数据库完成。
REJECT应答不同于TIMEOUT应答。REJECT意味着用户不符合可用的身份认证数据库中包含的标准,从而未能通过身份认证,访问请求被拒绝。TIMEOUT则意味
着安全服务器对身份认证查询未作应答,当验证TIMEOUT时,AAA选择认证方法列表中定义的下一个认证方法继续进行认证过程。
?注意 44.3.3 认证类型