为具有不同登录站点要求的应用程序配置 nFactor,包括升级身份验证
通常情况下,Citrix Gateway 允许访问多个应用程序。根据安全要求,这些应用程序可以有不同的身份验证机制。某些应用程序可能只需要像普通 Intranet 这样的单一因素。包含更重要的数据的 SAP 或 HR 工具等其他应用程序必须至少具有多重身份验证。但是,大多数用户只能访问 Intranet,因此对于所有应用程序来说,多因素并不是正确的选择。
本主题介绍了如何根据想要访问应用程序的用户的需求动态更改登录机制。此外,还介绍了设置身份验证的步骤。
必备条件
在配置 Citrix Gateway 之前,请查看以下必备条件。
- Citrix ADC Advanced 许可证版本。
- NetScaler 功能发布版本为 11.1 及更高版本。
- LDAP 服务器。
- RADIUS 服务器。
- 公用 IP 地址。
在配置示例中,您使用两个具有以下身份验证要求的应用程序。
- Web 应用程序绿色
- Requirement(要求)- 用户名 + LDAP 密码
- Web 应用程序红色
- Requirement (要求)- 用户名 + LDAP 密码 + RADIUS pin
注意
在 LDAP 和 RADIUS 旁边,可以使用其他身份验证方法,例如,可以使用用户证书、TACACS 或 SAML。
基本设置
-
请不要为两个 Web 应用程序添加可寻址的负载平衡虚拟服务器和服务。
-
负载平衡虚拟服务器
-
服务
-
-
添加基本无可寻址的身份验证、授权和审核虚拟服务器以进行登录。当前不需要更多的配置。
- 添加带有公用 IP 的 SSL 类型的内容交换虚拟服务器。在此 IP 地址上,您需要希望访问的每个应用程序以及身份验证、授权和审核虚拟服务器的 DNS 记录。在此示例中,您使用以下 DNS 名称:
- green.lab.local - 应用程序 Green
- red.lab.local -> 应用程序 Red
- aaa.lab.local -> 身份验证、授权和审核虚拟服务器
- 为所有 DNS 记录绑定具有匹配的 CN 或 SAN 的 SSL 证书。
-
将内容交换策略添加到虚拟服务器。每个应用程序一个,它必须与各个主机名匹配。Citrix ADC 通过这种方式决定用户要访问的应用程序。此外,请使用表达式“true”添加另一个用于身份验证、授权和审核的策略。
-
确保身份验证、授权和审核策略具有最高优先级。否则,将无法访问应用程序。
-
为指向匹配虚拟服务器的每个策略添加内容交换操作。在此示例中,在每台负载平衡虚拟服务器和一个身份验证虚拟服务器上。
身份验证级别配置
完成基本虚拟服务器和内容交换设置后,您可以启用身份验证并对应用程序执行强或弱定义。
-
导航到应用程序 Red 的 Load Balancing Virtual Server(负载平衡虚拟服务器)并启用“Form Based Authenticatio”(基于表单的身份验证)。并添加身份验证配置文件。
-
当用户想要访问应用程序且没有现有会话时,请输入定义的身份验证、授权和审核虚拟服务器主机名以进行重定向。
-
选择类型为身份验证虚拟服务器,并绑定身份验证、授权和审核虚拟服务器。
-
定义身份验证级别以配置应用程序是比另一个应用程序强还是弱。给定级别为 100 的会话可以访问较低级别的虚拟服务器,而无需重新进行身份验证。另一方面,如果用户尝试访问更高级别的虚拟服务器,此会话将被迫再次进行身份验证。
-
使用应用程序 Green 重复执行步骤 1 - 4。
-
导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Authentication Profile(身份验证配置文件) 以添加身份验证配置文件。
每个应用程序都有一个配置文件,都指向身份验证、授权和审核虚拟服务器主机名。在此示例中,应用程序 Red(级别 100)强于应用程序 Green(级别 90)。表示 Red 的现有会话的用户无需重新进行身份验证即可访问 Green。另一种方法是,首先访问 Green 的用户必须对应用程序 Red 重新进行身份验证。
nFactor 配置用于多因素身份验证
-
导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Login Schema(登录架构)> Profiles(配置文件)以 添加三个登录架构并实现所需的 Citrix ADC 登录页面。
- 面向普通 LDAP 身份验证的架构
- 选择 SingleAuth XML 以显示这两个字段。一个用于用户名,第二个用于 LDAP 密码。
- 确保将用户名保存在索引 1 位置处,将密码保存在索引 2 位置处。当用户在访问应用程序 Green 之后访问应用程序 Red 时,这对于执行 LDAP 重新身份验证非常重要。
-
面向 LDAP 重新身份验证的架构
- 选择“noschema”,因为用户看不到 LDAP 重新身份验证的过程。
-
使用在第一个架构中定义的属性字段填充用户和密码表达式。
- RADIUS 身份验证的架构
-
选择“OnlyPassword XML”以仅显示 RADIUS pin 的一个字段。由于首次登录 LDAP,用户名不是必需的。
-
- 面向普通 LDAP 身份验证的架构
-
下一步是添加所有必需的身份验证策略来控制登录机制的行为。导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Policies(策略)> Authentication(身份验证)> Policy(策略)。
-
在所需的 LDAP 服务器中添加默认 LDAP 策略。
-
在所需的 RADIUS 服务器中添加默认 RADIUS 策略。
-
添加操作类型为“NO_AUTH”、表达式为“true”的第三个身份验证策略。与桥接到下一个因素相比,此策略没有效果。
- 第四个策略评估用户是否希望访问更强大的应用程序 Red。这对 Red 进行多重身份验证非常重要。
- 选择“LDAP”作为操作类型,然后选择 LDAP 服务器。
-
该表达式通过检查 cookie NSC_TMAP 来评估它是否为应用程序 Red。用户通过访问 Citrix ADC 登录站点发出此 cookie,并包含绑定到访问的负载平衡虚拟服务器的身份验证配置文件的名称。
-
最后一个策略将检查用户是否保存了来自第一次较弱登录的凭据。当用户最初访问较弱的应用程序,现在想要启动更强的应用程序时,这对于自动 LDAP 重新登录非常重要。
-
-
您可以添加一些策略标签来绑定之前的所有身份验证策略和登录架构。导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Policies(策略)> Authentication(身份验证)> PolicyLabel(策略标签)。
-
首先,请添加 RADIUS 身份验证的标签。
-
为标签指定适当的名称,然后为 RADIUS 选择较早的架构,然后单击 Continue(继续)。
-
此标签的最后一步是绑定默认的 RADIUS 身份验证策略。
-
- 第二个标签执行 LDAP 重新登录。
-
添加标签并绑定重新登录架构。
-
绑定 LDAP 身份验证策略并将 RADIUS 策略标签设置为下一个因素。
-
- 为首次 LDAP 身份验证添加最后一个标签。
-
选择适当的架构,然后单击 Continue(继续)。
-
绑定第一个策略以进行强身份验证,然后将 Goto 表达式设置为“End”。选择 RADIUS 策略标签作为下一个因素。
-
第二个策略适用于没有 RADIUS 的弱 Green 身份验证。
-
确保绑定的优先级。
-
-
配置身份验证、授权和审核。导航到 Security(安全)> AAA - Application Traffic(AAA - 应用程序流量)> Virtual Servers(虚拟服务器)。
-
打开之前添加的虚拟服务器并设置偏好的 Portal Theme(门户主题)。
-
将最后两个剩余的身份验证策略直接绑定到虚拟服务器。
- 将重新登录策略与“NO_AUTH”和 LDAP 重新登录策略标签绑定为下一个因素。这是为了对现有会话进行自动 LDAP 重新身份验证。
- 设置第二个策略以在以前不存在任何会话时直接连接到下一个因素 LDAP。
-
请一如既往地确定正确的优先级。
-
-
注意
也可以通过 Citrix ADC 版本 13.0 及更高版本中提供的 nFactor 可视化工具创建安装程序。
通过 nFactor 可视化工具进行多重身份验证配置
- 导航到 Security(安全)> AAA-Application Traffic(AAA - 应用程序流量)> nFactor Visualizer(nFactor 可视化工具)> nFactor Flow(nFactor 流程),然后单击 Add(添加)。
-
单击 + 符号以添加 nFactor 流程。
-
输入第一个因素名称,然后单击 Create(创建)。
-
第一个因素不需要架构。单击 Add Policy(添加策略)以添加 NO_AUTH 策略,如多重身份验证配置的步骤 2 中所示。
-
单击蓝色 + 添加第二个身份验证。
-
选择已创建的身份验证策略并单击 Add(添加)。
-
单击绿色 + 添加下一个因素。
-
要添加下一个身份验证因素,请选择 Create Factor(创建因素),输入 Factor Name(因素名称),然后单击 Create(创建)。
-
要添加架构,请单击 Add Schema(添加架构)。
-
在(多重身份验证配置)中选择创建的架构,然后单击 OK(确定)。
-
单击 Add Policy(添加策略),然后选择身份验证策略。
-
单击绿色 + 为 RADIUS 身份验证添加另一个因素。
-
按照步骤 8 创建另一个因素。
-
单击 Add Schema(添加架构),然后仅从列表中选择密码架构。
-
单击 Add Policy(添加策略)以选择 RADIUS 身份验证,然后单击 Add(添加)。
-
单击第一个因素中 step_up-pol 旁边的绿色 +。
-
按照步骤 8 创建另一个因素。
-
单击 Add Schema(添加架构),然后选择架构。
-
单击 Add Policy(添加策略)以选择身份验证策略。
-
单击蓝色 + 为 LDAP 身份验证添加另一个身份验证策略。
-
选择 LDAP 身份验证策略,然后单击 Add(添加)。
-
单击 LDAP_Step_up 旁边的绿色 + 添加 RADIUS 身份验证。
-
由于 RADIUS 身份验证已存在,请选择 Connect to existing Factor(连接到现有因素),然后从列表中选择 step_up-radius。
-
单击 Done(完成)保存配置。
-
要将刚创建的 nFactor 流程绑定到身份验证、授权和审核虚拟服务器,请单击 Bind to Authentication Server(绑定到身份验证服务器),然后单击 Create(创建)。
注意
请仅通过“Show Bindings”(显示绑定)下的 nFactor 流程中给定的选项绑定和取消绑定 nFactor 流程。
取消绑定 nFactor 流程
-
选择 nFactor 流程,然后单击 Show Bindings(显示绑定)。
-
选择身份验证虚拟服务器并单击 Unbind(取消绑定)。
结果
以下步骤可以帮助您首先访问应用程序 Red。
-
访问“red.lab.local”后,重定向到第一个因素为 LDAP 的身份验证、授权和审核虚拟服务器登录页面。
-
nFactor 评估该用户想要访问应用程序 Red 并显示第二个因素 RADIUS。
-
Citrix ADC 授予对应用程序 Red 的访问权限。
-
然后访问应用程序 Green。Citrix ADC 授予即时访问权限,因为应用程序 Red 的会话更强。
以下步骤可以帮助您首先访问应用程序 Green。
-
访问“green.lab.local”后,重定向到身份验证、授权和审核虚拟服务器登录页面。
-
nFactor 评估应用程序 Green 并授予无第二个因素的访问权限。
-
然后访问应用程序 Red。更高的身份验证级别需要重新登录,nFactor 会使用首次登录应用程序 Green 时保存的凭据自动重新登录 LDAP。您只输入 RADIUS 凭据。
-
Citrix ADC 授予对应用程序 Red 的访问权限。