配置 nFactor 身份验证
您可以使用 nFactor 配置(而不仅仅是双因素)来配置多个身份验证因素。nFactor 配置仅在Citrix ADC Advanced Edition 和 Premium Edition 中受支持。
配置 nFactor 的方法
可以通过以下方法之一配置 nFactor 身份验证:
-
nFactor 可视化工具: nFactor 可视化工具使您能够在单个窗格中轻松地将因子或策略标签链接在一起,并更改同一窗格中因子的链接。您可以使用可视化工具创建 nFactor 流,并将该流绑定到 Citrix ADC AAA 虚拟服务器。有关 nFactor 可视化工具的详细信息和使用可视化工具的 nFactor 配置示例,请参阅简化配置的 nFactor 可视化工具。
-
Citrix ADC GUI: 有关详细信息,请参阅 nFactor 配置中涉及的配置元素一节。
-
Citrix ADC CLI: 有关使用 Citrix ADC CLI 进行 nFactor 配置的示例片段,请参阅使用 Citrix ADC CLI 配置 nFactor 的示例片段。
重要提示: 本主题包含有关使用 Citrix ADC GUI 配置 nFactor 的详细信息。
nFactor 配置中涉及的配置元素
配置 nFactor 过程中涉及以下元素。有关详细步骤,请参阅本主题中的相应部分。
配置元素 | 要执行的任务 |
---|---|
AAA 虚拟服务器 | 创建 AAA 虚拟服务器 |
将门户主题绑定到 AAA 虚拟服务器 | |
启用客户端证书验证 | |
登录架构 | 配置 登录架构配置文件 |
创建和绑定登录架构策略 | |
高级身份验证策略 | 创建高级身份验证策略 |
将第一个因素高级身份验证策略绑定到 Citrix ADC AAA 虚拟服务器 | |
使用提取的 LDAP 组选择下一个身份验证因子 | |
身份验证策略标签 | 创建身份验证策略标签 |
绑定身份验证策略标签 | |
适用于 Citrix Gateway 的 nFactor | 创建身份验证配置文件以将 Citrix ADC AAA 虚拟服务器与 Citrix Gateway 虚拟服务器链接 |
为 Citrix Gateway 配置 SSL 参数和 CA 证书 | |
为 nFactor 单点登录到 StoreFront 配置 Citrix Gateway 流量策略 |
nFactor 的工作原理
当用户连接到 Citrix ADC AAA 或 Citrix Gateway 虚拟服务器时,发生的事件顺序如下:
-
如果使用基于表单的身份验证,则会显示绑定到 Citrix ADC AAA 虚拟服务器的登录架构。
- 将评估绑定到 Citrix ADC AAA 虚拟服务器的高级身份验证策略。
- 如果高级身份验证策略成功,并且配置了下一个因子(身份验证策略标签),则评估下一个因子。如果未配置“下一个因子”,则验证已完成并成功。
- 如果高级身份验证策略失败,并且如果“转到表达式”设置为“下一步”,则评估下一个绑定的高级身份验证策略。如果高级身份验证策略都不成功,则身份验证将失败。
- 如果下一个因素身份验证策略标签绑定到该标签,则会向用户显示该标签。
- 将评估绑定到下一个因素身份验证策略标签的高级身份验证策略。
- 如果高级身份验证策略成功,并且配置了下一个因子(身份验证策略标签),则评估下一个因子。
- 如果未配置“下一个因子”,则验证已完成并成功。
-
如果“高级身份验证”策略失败,并且“转到表达式”为“下一步”,则评估下一个绑定的高级身份验证策略。
- 如果高级身份验证策略均不成功,则身份验证将失败。
AAA 虚拟服务器
要将 nFactor 与 Citrix Gateway 结合使用,请首先在 AAA 虚拟服务器上对其进行配置。然后,您稍后将 AAA 虚拟服务器链接到 Citrix Gateway 虚拟服务器。
创建 AAA 虚拟服务器
-
如果 AAA 功能尚未启用,请导航到 安全 > AAA — 应用程序流量,然后右键单击以启用功能。
-
导航到 配置 > 安全性 > AAA-应用程序流量 > 虚拟服务器。
-
单击 添加 创建身份验证虚拟服务器。
-
输入以下信息,然后单击确定。
参数名称 参数描述 名称 AAA 虚拟服务器的名称。 IP 地址类型 如果此虚拟服务器仅用于 Citrix Gateway,则将 IP 地 址类型更改为“不可 寻址”。 -
在“证书”下,选择无服务器证书。
-
单击文本, 单击以选择 以选择服务器证书。
-
单击 AAA 虚拟服务器证书旁边的单选按钮,然后单击选 择。所选证书无关紧要,因为无法直接访问此服务器。
-
单击 Bind(绑定)。
-
单击继续关闭证书部分。
-
单击继续。
将门户主题绑定到 AAA 虚拟服务器
-
导航到 Citrix Gateway > 门户主题,然后添加主题。在 Citrix Gateway 下创建主题,然后将其绑定到 AAA 虚拟服务器。
-
根据 RfWebUI 模板主题创建一个主题。
-
根据需要调整主题后,在门户主题编辑页面顶部,单击“单 击以绑定并查看已配置的主题。
-
将选择更改为“身份验证”。从 身份验证虚拟服务器名 下拉菜单中,选择 AAA 虚拟服务器,然后单击 绑定和预览 并关闭预览窗口。
启用客户端证书验证
如果您的身份验证因素之一是客户端证书,则必须在 AAA 虚拟服务器上执行某些 SSL 配置:
-
导航到流量管理”>“SSL”>“证书”>“CA 证书”,然后安装客户端证书颁发者的根证书。根证书没有密钥文件。
-
导航到流量管理 > SSL > 更改高级 SSL 设置。
a. 向下滚动以检查 默认配置文件 是否 已启用。如果是,则必须使用 SSL 配置文件来启用客户端证书身份验证。否则,您可以直接在“SSL 参数”部分的 AAA 虚拟服务器上启用客户端证书身份验证。
-
如果未启用默认 SSL 配置文件:
a. 导航到安全”>“AAA-应用程序”>“虚拟服务器,然后编辑现有的 AAA 虚拟服务器。
b. 在左侧的 SSL 参数部分,单击铅笔图标。
c. 选中客户端身份验证旁边的复选框。
d. 确保在客户端证书下拉菜单中选择了可选,然后单击确定。
-
如果启用了默认 SSL 配置文件,则创建一个启用客户端身份验证的新 SSL 配置文件:
a. 在左侧菜单上,展开系统,然后单击配置文件。
b. 在右上角,切换到 SSL 配置文件选项卡。
c. 右键单击未配置文件前端配置文件,然后单击添加。这将从默认配置文件复制设置。
d. 为配置文件指定一个名称。此配置文件的目的是启用客户端证书。
e. 向下滚动并找到“客户端身份验证”复选框。选中此框。
f. 将客户端证书下拉列表更改为可选。
g. 复制默认 SSL 配置文件不会复制 SSL 密码,因此您必须重做它们。
h. 完成创建 SSL 配置文件后,单击“完成”。
i. 导航到安全性 > AAA — 应用程序流量 > 虚拟服务器,然后编辑 AAA vServer。
j. 向下滚动到 SSL 配置文件部分,然后单击铅笔。
k. 将 SSL 配置文件下拉列表更改为启用了客户端证书的配置文件。单击确定。
l. 向下滚动本文,直到达到绑定 CA 证书的说明。
-
在左侧的证书部分中,单击显示无 CA 证书的位置。
-
单击文本,单击以选择。
-
单击客户端证书颁发者的根证书旁边的单选按钮,然后单击 选择。
-
单击 Bind(绑定)。
登录架构 XML 文件
登录架构是一个 XML 文件,提供基于表单的身份验证登录页的结构。
nFactor 意味着链接在一起的多个身份验证因子。每个因子可以具有不同的登录架构页面/文件。在某些身份验证方案中,用户可能会显示多个登录屏幕。
配置登录架构配置文件
要配置登录架构配置文件:
- 根据您的 nFactor 设计创建或编辑登录架构 .XML 文件。
-
导航到安全性 > AAA-应用程序流量 > 登录架构。
-
在右侧,切换到配置文件选项卡,然后单击添加。
-
在身份验证架构字段中,单击铅笔图标。
-
单击“登录架构”文件夹以查看其中的文件。
-
选择其中一个文件。您可以在右侧看到预览。单击右上角的编辑按钮可以更改标签。
-
当您保存更改时,将在 /nsconfig/LoginSchema 下创建一个新文件。
-
单击右上角的选择。
-
为登录架构指定一个名称,然后单击 更多。
-
您通常需要在其他地方使用输入的凭据。例如,您可能需要使用用户名和其中一个密码才能稍后登录到 StoreFront。单击创建身份验证登录方案页底部的更多,然后为索引输入唯一值。这些值可以介于 1 和 16 之间。
a. 稍后,您可以使用 HTTP.REQ.USER.属性( #) 表达式在流量策略/配置文件中引用这些索引值。
-
单击 确定 创建登录架构配置文件。
注意: 如果稍后编辑登录架构 .xml 文件,则在编辑登录架构配置文件并再次选择 .xml 文件之前,所做的更改可能不会反映出来。
创建和绑定登录架构策略
要将登录架构配置文件绑定到 AAA vServer,必须首先创建登录架构策略。在将登录架构配置文件绑定到身份验证策略标签时,不需要登录架构策略,如下文所述。
要创建和绑定登录架构策略,请执行以下操作:
-
导航到安全性 > AAA-应用程序流量 > 登录架构。
-
在 Policies(策略)选项卡上,单击 Add(添加)。
-
使用配置文件下拉菜单选择已创建的登录架构配置文件。
-
在 规则 框中输入默认语法表达式(例如 true),然后单击 创建。
-
在左侧,导航到安全”>“AAA-应用程序流量”>“虚拟服务器,然后编辑现有的 AAA 虚拟服务器。
-
在“高级设置”列中,单击登录方案。
-
在“登录方案”部分中,单击文本 无登录方案。
-
单击文本,单击以选择。
-
单击登录架构策略旁边的单选按钮,然后单击 选择。此列表中仅显示登录架构策略。登录架构配置文件(没有策略)不会显示。
-
单击 Bind(绑定)。
高级身份验证策略
身份验证策略是策略表达式和策略操作的组合。如果表达式为 true,则评估身份验证操作。
创建高级身份验证策略
身份验证策略是策略表达式和策略操作的组合。如果表达式为 true,则评估身份验证操作。
您将需要验证操作/服务器(例如 LDAP、RADIUS、CERT、SAML 等) 创建高级身份验证策略时,有一个加号(添加)图标,用于创建身份验证操作/服务器。
或者,您可以在创建高级身份验证策略之前创建身份验证操作(服务器)。身份验证服务器位于身份验证 > 仪表板下。在右侧,单击添加并选择服务器类型。此处未详细说明有关创建这些身份验证服务器的说明。请参阅“身份验证 - NetScaler 12/Citrix ADC 12.1 过程”。
要创建高级身份验证策略:
-
导航到 安全性 > AAA-应用程序流量 > 策略 > 身份验证 > 高级策略 > 策略
- 在详细信息窗格中执行以下操作之一:
- 要创建策略,请单击添加。
- 要修改现有策略,请选择策略,然后单击编辑。
-
在创建身份验证策略或配置身份验证策略对话框中,键入或选择参数的值。
- 名称 -策略名称。无法针对以前配置的策略更改。
- 操作类型 -策略类型:证书、协商、LDAP、RADIUS、SAML、SAML、SAMLIDP、TACACS 或 WEBAUTH。
- 操作 -与策略关联的身份验证操作(配置文件)。您可以选择现有的身份验证操作,或单击加号并创建正确类型的操作。
- 日志操作 -与策略关联的审计操作。您可以选择现有审计操作,或单击加号并创建操作。 您没有配置任何操作,或者要创建操作,请单击 添加 并完成步骤。
- 表达式 -选择要应用指定操作的连接的规则。该规则可以是简单的(“true”选择所有流量)或复杂的。输入表达式的方法是:首先在“表达式”窗口下方最左侧的下拉列表中选择表达式的类型,然后直接在表达式文本区域中键入表达式,或者单击“添加”打开“添加表达式”对话框,然后使用其中的下拉列表构造表达式。)
- 注释 -您可以键入描述此身份验证策略应用于的流量类型的注释。可选。
- 单击 Create(创建),然后单击 Close(关闭)。如果您创建了策略,则该策略将显示在“身份验证策略和服务器”页面中。
您必须根据您的 nFactor 设计创建其他高级身份验证策略。
将第一个因素高级身份验证策略绑定到 Citrix ADC AAA
您可以直接绑定 Citrix ADC AAA 虚拟服务器的第一个因子的高级身份验证策略。对于下一个因素,必须将高级身份验证策略绑定到身份验证策略标签。
- 导航到安全 > AAA-应用程序流量 > 虚拟服务器。编辑现有虚拟服务器。
-
在左侧的“高级身份验证策略”部分,单击无身份验证策略。
-
在 选择策略中,单击文本, 单击以选择。
-
单击“高级身份验证策略”旁边的单选按钮,然后单击“选择”。
- 在“绑定详细信息”部分中, 转到表达式 确定如果此高级身份验证策略失败,接下来会发生什么。
- 如果转到表达式设置为 NEXT,则评估绑定到此 Citrix ADC AAA 虚拟服务器的下一个高级身份验证策略。
- 如果 转到表达式设置为 END,或者没有绑定到此 Citrix ADC AAA 虚拟服务器的更多高级身份验证策略,则身份验证将完成并标记为失败。
-
在选择下一个因子中,您可以选择可以指向身份验证策略标签。仅当高级身份验证策略成功时,才会评估下一个因素。最后,单击绑定。
使用提取的 LDAP 组选择下一个身份验证因子
您可以使用提取的 LDAP 组选择下一个身份验证因子,而无需使用 LDAP 实际身份验证。
- 创建或编辑 LDAP 服务器或 LDAP 操作时,清除身份验证复选框。
- 在其他设置中,在组属性和子属性名称中选择适当的值。
验证策略标签
当您将高级身份验证策略绑定到 Citrix ADC AAA 虚拟服务器并选择了下一个因素时,只有在高级身份验证策略时才会评估下一个因素。评估的下一个因素是身份验证策略标签。
身份验证策略标签为特定因素指定身份验证策略的集合。每个策略标签对应于一个因素。它还指定必须呈现给用户的登录表单。身份验证策略标签必须绑定为身份验证策略或其他身份验证策略标签的下一个因素。
注意:每个因素都不需要登录方案。仅当您将登录架构绑定到身份验证策略标签时,才需要登录架构配置文件。
创建身份验证策略标签
策略标签指定特定因子的身份验证策略。每个策略标签对应于一个因素。策略标签指定必须向用户显示的登录表单。策略标签必须绑定为身份验证策略或另一个身份验证策略标签的下一个因素。通常,策略标签包括针对特定身份验证机制的身份验证策略。但是,您也可以具有针对不同身份验证机制的身份验证策略的策略标签。
-
导航到 安全性 > AAA — 应用程序流量 > 策略 > 身份验证 > 高级策略 > 策略标签。
-
单击添加按钮。
-
请完成以下字段以创建身份验证策略标签:
a) 输入新身份验证策略标签的 名称 。
b) 选择与身份验证策略标签关联的 登录模式 。如果不想向用户显示任何内容,则可以选择设置为无架构 (LSCHEMA_INT) 的登录架构配置文件。
c) 点击 继续。
-
在 策略绑定 部分,单击显示 单击以选择的位置。
-
选择评估此因子的身份验证策略。
-
填写以下字段:
a) 输入策略绑定的 优先级 。
b) 如果要将更高级的身份验证策略绑定到此因子,请在转到表达式中选择 NEXT,或选择 END。
- 在选择下一个因子中,如果要添加另一个因子,请单击以选择并绑定下一个身份验证策略标签(下一个因子)。 如果未选择下一个因素,并且此高级身份验证策略成功,则验证成功并完成。
-
单击 Bind(绑定)。
-
您可以单击添加绑定以将更高级的身份验证策略添加到此策略标签(因子)。完成后单击完成。
绑定身份验证策略标签
创建策略标签后,将其绑定到现有的高级身份验证策略绑定到链条因子一起。
在编辑绑定了高级身份验证策略的现有 Citrix ADC AAA 虚拟服务器时,或编辑其他策略标签以包括下一个因素时,可以选择下一个因素。
编辑已绑定高级身份验证策略的现有 Citrix ADC AAA 虚拟服务器
-
导航到安全 > AAA — 应用程序流量 > 虚拟服务器。选择虚拟服务器,然后单击 编辑。
-
在左侧的高级身份验证策略部分,单击现有身份验证策略绑定。
-
在选择操作中,单击编辑绑定。
-
在 选择下一个因子中,单击,然后选择现有身份验证策略标签(下一个因子)。
-
单击 Bind(绑定)。你可以看到极 右侧的下一个因素。
将策略标签下一个因子添加到其他策略标签
-
导航到 安全性 > AAA — 应用程序流量 > 策略 > 身份验证 > 高级策略 > 策略标签。选择其他策略标签,然后单击 编辑。
-
在选择操作中,单击编辑绑定。
- 在绑定详细信息”>“选择下一个因子中,单击以选择下一个因子。
-
为下一个因子选择策略标签,然后单击选择按钮。
-
单击绑定。你可以看到右侧的下一个因素。
适用于 Citrix Gateway 的 nFactor
要在 Citrix Gateway 上启用 nFactor,必须将身份验证配置文件链接到 Citrix ADC AAA 虚拟服务器。
创建身份验证配置文件以将 Citrix ADC AAA 虚拟服务器与 Citrix Gateway 虚拟服务器链接
-
导航到 Citrix Gateway > 虚拟服务器 ,然后选择要编辑的现有 Gateway 虚拟服务器。
-
在 高级设置中,单击 身份验证配置文件。
-
单击 验证配置文件 下的 添加
-
输入身份验证配置文件的名称,然后单击它显示的位置 单击以选择。
-
在 身份验证虚拟服务器中,选择已配置登录架构、高级身份验证策略和身份验证策略标签的现有服务器。您还可以创建身份验证虚拟服务器。Citrix ADC AAA 虚拟服务器不需要 IP 地址。单击 Select(选择)。
-
单击创建。
-
单击 确定 关闭身份验证配置文件部分。
注意: 如果已将其中一个因素配置为客户端证书,则必须配置 SSL 参数和 CA 证书。
完成将身份验证配置文件链接到 AAA 虚拟服务器后,当您浏览到 Citrix Gateway 时,可以查看 nFactor 身份验证屏幕。
配置 SSL 参数和 CA 证书
如果其中一个身份验证因素是证书,则必须在 Citrix Gateway 虚拟服务器上执行某些 SSL 配置。
-
导航到流量管理”>“SSL”>“证书”>“CA 证书”,然后安装客户端证书颁发者的根证书。证书颁发机构证书不需要密钥文件。
如果启用了默认 SSL 配置文件,则您应该已经创建了启用了客户端身份验证的 SSL 配置文件。
-
导航到 Citrix Gateway > 虚拟服务器,然后编辑已为 nFactor 启用的现有 Citrix Gateway 虚拟服务器。
- 如果启用了默认 SSL 配置文件,请单击编辑图标。
-
在 SSL 配置文件列表中,选择启用了客户端身份验证并设置为可选的 SSL 配置文件。
- 如果未启用默认 SSL 配置文件,请单击编辑图标。
- 选中“客户端身份验证”复选框。
- 确保客户端证书设置为可选
-
单击确定。
-
在“证书”部分中,单击无 CA 证书”。
-
在选择 CA 证书中,单击以选择并选择客户端证书颁发者的根证书。
-
单击 Bind(绑定)。
注意:您可能还必须绑定颁发客户端证书的任何中间 CA 证书。
为 nFactor 单点登录到 StoreFront 配置 Citrix Gateway 流量策略
对于单点登录到 StoreFront,nFactor 默认使用上次输入的密码。如果 LDAP 不是上次输入的密码,则必须创建流量策略/配置文件以覆盖默认的 nFactor 行为。
-
导航到 Citrix Gateway > 策略 > 流量。
-
在 流量配置文件 选项卡中,单击 添加。
-
输入流量配置文件的名称。选择 HTTP 协议。 在 单点登录中,选择 开。
-
在 SSO 表达式中,输入与登录架构中指定的索引匹配的 HTTP.REQ.USER.ATTRIE (#) 表达式,然后单击 创建。
-
单击 流量策略 选项卡,然后单击 添加。
输入策略的名称。 选择在上一步中创建的流量配置文件。 在 表达式中,输入高级表达式,例如 true。 单击 “ 创建。
-
导航到 Citrix Gateway > CCitrix Gateway 虚拟服务器。
- 选择和现有虚拟服务器,然后单击 编辑。
- 在策略部分中,单击 + 符号。
- 在 选择策略中,选择 流量。
- 在 选择类型中,选择 请求。
- 选择已创建的流量策略,然后单击绑定。
使用 Citrix ADC CLI 配置 nFactor 的示例片段
要了解 nFactor 身份验证的逐步配置,让我们假设一个双重身份验证部署,其中第一个因素是 LDAP 身份验证,第二个因素是 RADIUS 身份验证。
此示例部署要求用户使用单个登录表单登录到这两个因素。因此,我们定义一个接受两个密码的单个登录表单。第一个密码用于 LDAP 身份验证,另一个用于 RADIUS 身份验证。 下面是执行的配置:
-
配置负载平衡虚拟服务器以进行身份验证
add lb vserver lbvs89 HTTP 1.136.19.55 80 -AuthenticationHost auth56.aaatm.com -Authentication ON`
-
配置身份验证虚拟服务器。
add authentication vserver auth56 SSL 10.106.30.223 443 -AuthenticationDomain aaatm.com
-
配置登录表单的登录架构并将其绑定到登录架构策略。
add authentication loginSchema login1 -authenticationSchema login-2passwd.xml -userCredentialIndex 1 -passwordCredentialIndex 2
add authentication loginSchemaPolicy login1 -rule true -action login1
-
为直通配置登录架构并将其绑定到策略标签
add authentication loginSchema login2 -authenticationSchema noschema
add authentication policylabel label1 -loginSchema login2
-
配置 LDAP 和 RADIUS 策略。
add authentication ldapAction ldapAct1 -serverIP 10.17.103.28 -ldapBase “dc=aaatm, dc=com” -ldapBindDn administrator@aaatm.com -ldapBindDnPassword 81qw1b99ui971mn1289op1abc12542389b1f6c111n0d98e1d78ae90c8545901 -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName samAccountName -groupAttrName memberOf -subAttributeName CN
add authentication Policy ldap -rule true -action ldapAct1
add authentication radiusAction radius -serverIP 10.101.14.3 -radKey n231d9a8cao8671or4a9ace940d8623babca0f092gfv4n5598ngc40b18876hj32 -encrypted -encryptmethod ENCMTHD_3 -radNASip ENABLED -radNASid NS28.50 -radAttributeType 11 -ipAttributeType 8
add authentication Policy radius -rule true -action radius
-
将登录架构策略绑定到身份验证虚拟服务器
bind authentication vserver auth56 -policy login1 -priority 1 -gotoPriorityExpression END
-
将 LDAP 策略(第一因素)绑定到身份验证虚拟服务器。
bind authentication vserver auth56 -policy ldap -priority 1 -nextFactor label1 -gotoPriorityExpression next
-
将 RADIUS 策略(第二个因素)绑定到身份验证策略标签。
bind authentication policylabel label1 -policyName radius -priority 2 -gotoPriorityExpression end