关于 AAA 和本地数据库
本节介绍 AAA 和本地数据库。
身份验证
身份验证提供了一种识别用户的方法,这种方法通常先请用户输入有效用户名和有效密码,然后再授予访问权限。AAA 服务器将用户的身份验证凭证与数据库中存储的其他用户凭证进行比较。如果凭证匹配,则允许用户访问网络。如果凭证不匹配,则身份验证失败,并拒绝网络访问。
您可以将 ASA 配置为对以下项进行身份验证:
-
与 ASA 的所有管理连接,包括以下会话:
-
Telnet
-
SSH
-
串行控制台
-
使用 HTTPS 的 ASDM
-
VPN 管理访问
-
-
enable 命令
-
网络接入
-
VPN 接入
授权
授权是执行策略的过程:确定允许用户访问哪些类型的活动、资源或服务。对用户进行身份验证后,可能会授权该用户执行各种类型的访问或活动。
您可以配置 ASA 以便对下列各项进行授权:
-
管理命令
-
网络接入
-
VPN 接入
会计
记账用于测量用户在访问期间使用的资源量,这可以包括系统时间长度或者用户在会话期间发送或接收的数据量。记账是通过记录会话统计信息和使用量信息来执行的,这些信息用于进行授权控制、计费、趋势分析、资源利用率和容量规划活动。
身份验证、授权和记账之间的交互
您可以单独使用身份验证功能,也可以将其与授权和记账功能配合使用。授权始终要求先对用户进行身份验证。您可以单独使用记账功能,也可以将其与身份验证和授权功能配合使用。
AAA 服务器和服务器组
AAA 服务器是用于进行访问控制的网络服务器。身份验证用于识别用户。授权用于实施策略,这些策略确定经过身份验证的用户能够访问哪些资源和服务。记账对时间和数据资源进行追踪,这些资源用于计费和分析。
如果要使用外部 AAA 服务器,必须先为外部服务器使用的协议创建 AAA 服务器组,然后将该服务器添加到该组。您可以为每个协议创建多个组,并为要使用的所有协议创建单独的组。每个服务器组都专门用于一种类型的服务器或服务。
有关如何创建组的详细信息,请参阅以下主题:
有关使用 Kerberos 约束委派和 HTTP 表单的详细信息,请参阅 VPN 配置指南。
下表总结了支持的服务器类型及其用途,包括本地数据库。
服务器类型和服务 |
身份验证 |
授权 |
记账 |
---|---|---|---|
本地数据库 |
|||
|
是 |
是 |
否 |
|
是 |
否 |
不支持 |
|
是 |
是 |
否 |
RADIUS |
|||
|
是 |
是 |
是 |
|
是 |
是 |
是 |
|
是 |
是 |
是 |
TACACS+ |
|||
|
是 |
是 |
是 |
|
是 |
否 |
是 |
|
是 |
是 |
是 |
LDAP |
|||
|
是 |
否 |
不支持 |
|
是 |
是 |
否 |
|
是 |
否 |
不支持 |
Kerberos |
|||
|
是 |
否 |
不支持 |
|
是 |
否 |
不支持 |
|
是 |
否 |
不支持 |
SDI (RSA SecurID) |
|||
|
是 |
否 |
不支持 |
|
是 |
否 |
不支持 |
|
是 |
否 |
不支持 |
HTTP 形式 |
|||
|
不支持 |
不支持 |
不支持 |
|
是 |
否 |
不支持 |
|
不支持 |
不支持 |
否 |
注意
|
关于本地数据库
ASA 维护了一个本地数据库,您可以使用用户配置文件填充该数据库。您可以使用本地数据库代替 AAA 服务器来提供用户身份验证、授权和记帐。
您可以使用本地数据库实现下列功能:
-
ASDM 按用户访问
-
控制台身份验证
-
Telnet 和 SSH 身份验证
-
enable 命令身份验证
此设置仅用于 CLI 访问,并不影响思科 ASDM 登录。
-
命令授权
如果您使用本地数据库打开命令授权,则 ASA 将参考用户权限级别来确定可用的命令。否则,通常不使用权限级别。默认情况下,所有命令的权限级别均为 0 或 15。 ASDM 允许您启用三个预定义的权限级别,其中命令分配到级别 15(管理员)、级别 5(只读)和级别 3(仅监控)。如果您使用预定义的级别,请将用户分配到这三个权限级别的其中一个。
-
网络访问身份验证
-
VPN 客户端身份验证
对于多情景模式,您可以在系统执行空间中配置用户名,以便在 CLI 中使用 login 命令提供个人登录;但是,您不能在系统执行空间中配置任何使用本地数据库的 AAA 规则。
注 |
您不能使用本地数据库进行网络访问授权。 |
回退支持
本地数据库可以用作多项功能的回退方法。此行为旨在帮助您避免意外被锁定而无法登录 ASA。
用户登录时,将从配置中指定的第一个服务器开始逐个访问组中的服务器,直到有服务器作出响应为止。如果组中的所有服务器都不可用,并且您已将本地数据库配置为回退方法(仅用于管理身份验证和授权),则 ASA 将尝试使用本地数据库。如果未配置任何回退方法,则 ASA 将继续尝试使用 AAA 服务器。
对于需要回退支持的用户,我们建议您确保本地数据库中的用户名和密码与 AAA 服务器上的用户名和密码匹配。这种做法将提供透明的回退支持。由于用户无法确定是 AAA 服务器还是本地数据库正在提供服务,因此,如果 AAA 服务器上使用的用户名和密码与本地数据库中的用户名和密码不同,用户将无法确定应提供哪个用户名和密码。
本地数据库支持下列回退功能:
-
控制台和启用密码身份验证 - 如果组中的服务器全部不可用,则 ASA 将使用本地数据库对管理访问进行身份验证,这还可以包括启用密码身份验证。
-
命令授权 - 如果组中的 TACACS+ 服务器全部不可用,则使用本地数据库根据权限级别进行命令授权。
-
VPN 身份验证和授权 - 支持 VPN 身份验证和授权,以便在通常支持这些 VPN 服务的 AAA 服务器不可用时,启用对 ASA 的远程访问。如果管理员的 VPN 客户端指定了配置为回退到本地数据库的隧道组,只要本地数据库配置了必要的属性,即使 AAA 服务器组不可用,也可以建立 VPN 隧道。
组中存在多个服务器时的回退方式
如果在服务器组中配置了多个服务器,并且对于该服务器组允许回退到本地数据库,则该组中没有任何服务器对来自 ASA 的身份验证请求作出响应时,将会进行回退。为了说明这一点,请考虑以下场景:
您配置了一个 LDAP 服务器组,其中依次包含两个 Active Directory 服务器,即服务器 1 和服务器 2。当远程用户登录时,ASA 将尝试向服务器 1 进行身份验证。
如果服务器 1 作出了身份验证失败响应(例如找不到用户),则 ASA 不会尝试向服务器 2 进行身份验证。
如果服务器 1 在超时期限内未作出响应(或者尝试进行身份验证的次数超过配置的最大值),则 ASA 尝试服务器 2。
如果组中的两个服务器均未作出响应,并且 ASA 配置为回退到本地数据库,则 ASA 将尝试向本地数据库进行身份验证。