身份验证策略
当用户登录 NetScaler 或 NetScaler Gateway 时,他们将根据您创建的策略进行身份验证。身份验证策略由表达式和操作组成。身份验证策略使用 NetScaler 表达式。
创建身份验证操作和身份验证策略后,将其绑定到身份验证虚拟服务器并为其分配优先级。绑定它时,还要将其指定为主策略或辅助策略。在评估次要策略之前,先评估主要策略。在同时使用这两种策略的配置中,主策略通常是更具体的策略,而辅助策略通常是更一般的策略。它旨在处理不符合更具体标准的任何用户帐户的身份验证。该策略定义了身份验证类型。单个身份验证策略可用于简单的身份验证需求,并且通常在全局级别绑定。您还可以使用默认的身份验证类型,即本地身份验证类型。如果配置本地认证,则还必须在 NetScaler 上配置用户和群组。
您可以配置多个身份验证策略并将其绑定以创建详细的身份验证过程和虚拟服务器。例如,您可以通过配置多个策略来配置级联身份验证和双因素身份验证。您还可以设置认证策略的优先级,以确定哪些服务器以及 NetScaler 检查用户凭据的顺序。身份验证策略包括表达式和操作。例如,如果将表达式设置为 True 值,则当用户登录时,操作会将用户登录评估为 true,然后用户可以访问网络资源。
创建身份验证策略后,可以在全局级别或将策略绑定到虚拟服务器。将至少一个身份验证策略绑定到虚拟服务器时,当用户登录到虚拟服务器时,不会使用绑定到全局级别的任何身份验证策略,除非全局身份验证类型的优先级高于绑定到虚拟服务器的策略。
当用户登录到 NetScaler 时,将按以下顺序评估认证:
- 检查虚拟服务器是否存在任何绑定的身份验证策略
- 如果认证策略未绑定到虚拟服务器,NetScaler 会检查全局认证策略。
- 如果身份验证策略未绑定到虚拟服务器或全局绑定,则会通过默认身份验证类型对用户进行身份验证。
如果配置 LDAP 和 RADIUS 身份验证策略并希望全局绑定策略以进行双重身份验证,则可以在配置实用程序中选择策略,然后选择策略是主要身份验证类型还是辅助身份验证类型。您还可以配置组提取策略。
注意:
NetScaler 或 NetScaler Gateway 仅对用于身份验证的 UTF-8 字符进行编码,并且它与使用 ISO-8859-1 字符的服务器不兼容。
在 GUI 上
创建或修改高级身份验证策略
-
导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Policies(策略)> Authentication(身份验证)> Advanced Policies(高级策略)> Policy(策略)。
-
在“身份验证策略”页面上,执行以下任务之一:
- 要创建身份验证策略,请单击“添加”。此时将出现“创建身份验证策略”页面。
- 更新必填字段,然后单击“创建”。
-
要修改身份验证策略,请选择相应的操作,然后单击“编辑”。屏幕上将显示“配置身份验证策略”页面。修改必填字段,然后单击“确定”。
- 名称:高级身份验证策略的名称。
- 操作类型:正在为其创建策略的身份验证操作的类型。
- 操作:如果策略匹配,则要执行的身份验证操作(LDAP、RADIUS、SAML)的名称。如果下拉列表中没有身份验证操作,请单击“添加”。
- 表达式:NetScaler 命名规则或表达式的名称,策略使用该规则或表达式来确定是否尝试使用身份验证虚拟服务器对用户进行身份验证。有关高级策略表达式的更多信息,请参阅 高级策略表达式。
- 日志操作:请求与此策略匹配时要使用的消息日志操作的名称。
移除身份验证策略
如果您已更改或从网络中删除了身份验证服务器,请从 NetScaler 中删除相应的身份验证策略。
-
导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Policies(策略)> Authentication(身份验证)> Advanced Policies(高级策略)> Policy(策略)。
-
在“身份验证策略”页面上,选择要删除的策略,然后单击“删除”。
-
单击“是”以确认您的操作。
绑定身份验证策略
必须将高级身份验证策略绑定到身份验证虚拟服务器,并使用身份验证配置文件将身份验证虚拟服务器链接到 VPN 虚拟服务器。
-
创建身份验证虚拟服务器。
-
导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Virtual Servers(虚拟服务器)。
-
在“身份验证虚拟服务器”页面上,单击“添加”。更新必填字段,然后单击“确定”。
-
如果存在身份验证虚拟服务器,请在“身份验证虚拟服务器”页面上选择相关的服务器。
-
在“高级身份验证策略”部分,选择身份验证策略。
-
在“策略绑定”页面上,选择策略并单击“添加”。提供绑定详细信息,例如优先级、GoTo 表达式和下一个因素,然后单击“绑定”。
-
-
创建 VPN 虚拟服务器。
-
导航到 NetScaler Gateway > 虚拟服务器。
-
在 NetScaler Gateway 虚拟服务器 页面上,单击 添加。
-
在 VPN 虚拟服务器页面上,更新必填字段,然后单击“确定”。
-
-
创建身份验证配置文件。
-
导航到 安全 > AAA-应用程序流量 > 身份验证配置文件。
-
在“身份验证配置文件”页面上,单击“添加”。
-
更新必填字段,然后单击“创建”。
-
-
使用身份验证配置文件将身份验证虚拟服务器链接到 VPN 虚拟服务器。
-
导航到 NetScaler Gateway > NetScaler Gateway 虚拟服务器,然后选择 VPN 虚拟服务器。出现 VPN 虚拟服务器页面。
-
在“身份验证配置文件”部分,从下拉列表中选择身份验证配置文件,然后单击“确定”。
-
或者,您可以导航到 VPN 虚拟服务器页面上的“高级设置”部分,单击 + 身份验证配置文件,从下拉列表中选择身份验证配置文件,然后单击“确定”。
-
单击 Done(完成)。
-
在 CLI 上
在命令提示符下,键入以下命令:
add authentication policy <name> -rule <expression> -action <string>
show authentication policy <name>
bind authentication vserver <name> -policy <policyname> [-priority <priority>][-secondary]
show authentication vserver <name>
<!--NeedCopy-->
示例:
add authentication policy Authn-Pol-1 true
show authentication policy Authn-Pol-1
Name: Authn-Pol-1 Rule: true Request action: LOCAL
bind authentication vserver Auth-Vserver-2 -policy Authn-Pol-1
show authentication vserver Auth-Vserver-2
Auth-Vserver-2 (10.102.29.77:443) - SSL Type: CONTENT State: UP Client Idle
Timeout: 180 sec Down state flush: DISABLED
Disable Primary Vserver On Down : DISABLED
Authentication : ON
Current AAA Users: 0
Authentication Domain: myCompany.employee.com
Primary authentication policy name: Authn-Pol-1 Priority: 0
<!--NeedCopy-->
修改身份验证策略
在命令提示符下,键入以下命令以修改现有身份验证策略:
set authentication policy <name> [-rule <expression>] [-action <string>] [-undefAction <string>] [-comment <string>] [-logAction <string>]
<!--NeedCopy-->
示例
set authentication policy Authn-Pol-1 -rule true
<!--NeedCopy-->
移除身份验证策略
在命令提示符下,键入以下命令以删除身份验证策略:
rm authentication policy <name>
<!--NeedCopy-->
示例
rm authentication localPolicy Authn-Pol-1
<!--NeedCopy-->
绑定身份验证策略
对于高级策略,请创建身份验证配置文件并将该配置文件关联到身份验证虚拟服务器。创建身份验证配置文件后,将该身份验证配置文件关联到 VPN 虚拟服务器。
创建身份验证配置文件并将身份验证虚拟服务器设置为该配置文件:
add authentication authnProfile <name> {-authnVsName <string>} {-AuthenticationHost <string>}{-AuthenticationDomain <string>}[-AuthenticationLevel <positive_integer>]
<!--NeedCopy-->
示例
add authentication authnProfile Authn-Prof-1 -authnVsName Auth-Vserver-2 -AuthenticationDomain "myCompany.employee.com"
<!--NeedCopy-->
创建 VPN 虚拟服务器并添加相应的身份验证配置文件:
示例
add vpn vserver VPN-Vserver-2 ssl -authentication ON -authnprofile Authn-Prof-1
<!--NeedCopy-->
添加身份验证操作
如果不使用 LOCAL 身份验证,则需要添加显式身份验证操作。在命令提示符下,键入以下命令:
add authentication tacacsAction <name> -serverip <IP> [-serverPort <port>][-authTimeout <positive_integer>][ ... ]
<!--NeedCopy-->
示例
add authentication tacacsaction Authn-Act-1 -serverip 10.218.24.65 -serverport 1812 -authtimeout 15 -tacacsSecret "minotaur" -authorization OFF -accounting ON -auditFailedCmds OFF -defaultAuthenticationGroup "users"
<!--NeedCopy-->
配置身份验证操作
要配置现有身份验证操作,请在命令提示符下键入以下命令:
set authentication tacacsAction <name> -serverip <IP> [-serverPort <port>][-authTimeout <positive_integer>][ ... ]
<!--NeedCopy-->
示例
set authentication tacacsaction Authn-Act-1 -serverip 10.218.24.65 -serverport 1812 -authtimeout 15 -tacacsSecret "minotaur" -authorization OFF -accounting ON -auditFailedCmds OFF -defaultAuthenticationGroup "users"
<!--NeedCopy-->
移除身份验证操作
要删除现有 RADIUS 操作,请在命令提示符下键入以下命令:
rm authentication radiusAction <name>
<!--NeedCopy-->
示例
rm authentication tacacsaction Authn-Act-1
<!--NeedCopy-->
NoAuth 身份验证
NetScaler 支持 NoAuth 身份验证功能,该功能使客户能够在用noAuthAction
户执行此策略时在命令中配置 DefaultAuthenticationGroup 参数。 管理员可以检查用户组中是否存在此组,以确定用户通过 NOAuth 策略进行导航。
配置 NoAuth 身份验证
在命令提示窗口中,键入:
add authentication noAuthAction <name> [-defaultAuthenticationGroup <string>]
<!--NeedCopy-->
示例
add authentication noAuthAction noauthact –defaultAuthenticationGroup mynoauthgroup
<!--NeedCopy-->
默认全局身份验证类型
安装 NetScaler Gateway 并运行 NetScaler Gateway 向导时,您在向导中配置了身份验证。此身份验证策略会自动绑定到 NetScaler Gateway 全局级别。您在 NetScaler Gateway 向导中配置的身份验证类型是默认身份验证类型。您可以通过再次运行 NetScaler Gateway 向导来更改默认授权类型,也可以在配置实用程序中修改全局身份验证设置。
如果需要添加其他身份验证类型,则可以使用配置实用程序在 NetScaler Gateway 上配置身份验证策略并将策略绑定到 NetScaler Gateway。在全局配置身份验证时,可以定义身份验证类型、配置设置以及设置可以进行身份验证的最大用户数。
配置并绑定策略后,您可以设置优先级来定义优先级的身份验证类型。例如,您可以配置 LDAP 和 RADIUS 身份验证策略。如果 LDAP 策略的优先级为 10,而 RADIUS 策略的优先级号为 15,则无论将每个策略绑定到何处,LDAP 策略都将优先。这称为级联身份验证。
您可以选择从 NetScaler Gateway 内存中缓存或 NetScaler Gateway 上运行的 HTTP 服务器提供登录页面。如果选择从内存缓存传送登录页面,则从 NetScaler Gateway 传送登录页面的速度要比从 HTTP 服务器传送登录页面的速度快。选择从内存缓存传送登录页面可以减少许多用户同时登录时的等待时间。作为全局身份验证策略的一部分,您只能配置缓存中登录页的传递。
您还可以配置作为身份验证的特定 IP 地址的网络地址转换 (NAT) IP 地址。此 IP 地址对于身份验证是唯一的,不是 NetScaler Gateway 子网、映射或虚拟 IP 地址。这是一个可选设置。
注意:
您不能使用 NetScaler Gateway 向导来配置 SAML 身份验证。
您可以使用快速配置向导配置 LDAP、RADIUS 和客户端证书身份验证。运行向导时,可以从 NetScaler Gateway 上配置的现有 LDAP 或 RADIUS 服务器中进行选择。您还可以配置 LDAP 或 RADIUS 的设置。如果您使用双因素身份验证,建议您使用 LDAP 作为主要身份验证类型。
配置默认的全局身份验证类型
- 在 GUI 中的“配置”选项卡的导航窗格中,展开 NetScaler Gateway, 然后单击“全局设置”。
- 在详细信息窗格的“设置”下,单击“更改身份验证设置”。
- 在“最大用户数”中,键入可以使用此身份验证类型进行身份验证的用户数。
- 在 NAT IP 地址中,键入用于身份验证的唯一 IP 地址。
- 选择 启用静态缓存以更快地交付登录页面。
- 选择 启用增强的身份验证反馈,以便在身份验证失败时向用户提供消息。用户收到的消息包括密码错误、帐户被禁用或锁定或找不到用户等。
- 在 默认身份验证类型中,选择身份验证类型。
- 配置身份验证类型的设置,然后单击“确定”。
支持检索用户当前的登录尝试
NetScaler 提供一个选项,用于通过表达式检索用户当前登录尝试的值aaa.user.login_attempts
。 此表达式要么接受一个参数(用户名),要么不接受任何参数。如果没有参数,表达式将从 aaa_session
或 aaa_info
中获取用户名。
您可以将 aaa.user.login_attempts
表达式与身份验证策略结合使用以进行进一步处理。
配置每个用户的登录尝试次数
在命令提示符下,键入:
add expression er aaa.user.login_attempts
注意:
如果
aaa.user.login_attempts
启用了 “持续登录尝试” 参数,则该 表达式不起作用。有关 “持续登录尝试” 参数的详细信息,请参阅 系统用户帐户锁定。
以下 CLI 示例描述了不同场景的登录尝试配置:
-
身份验证虚拟服务器
set authentication vserver av_vs -maxLoginAttempts 5 -failedLoginTimeout 100
有关身份验证虚拟服务器及其支持的参数的详细信息,请参阅 身份验证虚拟服务器。
-
NetScaler Gateway 虚拟服务器
set vpn vserver vpn_vs -maxLoginAttempts 5 -failedLoginTimeout 100
有关 NetScaler Gateway 虚拟服务器的详细信息,请参见 “虚拟服务器” 部分。
-
锁定系统用户账户
set aaa parameter -maxloginAttempts 3 -failedLoginTimeout 10
有关系统用户帐户锁定的详细信息,请参阅 锁定系统用户帐户以获得管理访问权限。
参数描述:
-
maxLoginAttempts
:锁定用户之前允许的最大登录尝试次数。 -
failedLoginTimeout
:登录失败之前允许的秒数。用户必须重新启动登录过程。
-