ADC

根据 nFactor 身份验证中的 SAML 属性提取配置 SAML,然后配置 LDAP 或证书身份验证

以下部分介绍了 nFactor 身份验证中基于 SAML 属性提取的 LDAP 或证书身份验证的用例。

从 SAML 断言中提取属性的第一要素是 SAML 身份验证

假设管理员在第一个因素中使用从 SAML 断言中提取属性来配置 SAML 身份验证的用例。根据在第一个因素期间提取的属性,您可以配置下一个因素,这些因素可以具有 LDAP 身份验证或证书身份验证。

  1. 访问流量管理虚拟服务器后,您将被重定向到外部 SAML IdP 进行登录(在本例中为 Shibboleth,如图所示)。输入您的登录凭据。如果登录成功,SAML IdP 将发送包含这些属性的 SAML 响应。

    SAML Shibboleth 身份验证

  2. 在 Citrix ADC 设备上收到 SAML 响应时,它会按照 SAML 操作中的配置解析和提取属性。SAML 断言已经过验证,然后转到第二个因素。

  3. 第二个因素配置为具有 2 个 NO_AUTHN 策略的直通(此因素没有登录页面)。根据策略评估,您已配置跳转到 LDAP 身份验证因素或证书身份验证因素。

    注意

    NO_AUTHN 策略意味着,如果为此策略配置的规则评估为 true,则 Citrix ADC 设备不会执行任何身份验证。它指向配置的下一个因素。

  4. 例如,假设 SAML 操作配置为将 UPN 提取为属性 1,而 UPN 的值为 john@citrix.com。现在,其中一个 NO_AUTHN 策略规则配置为验证字符串“citrix.com”是否存在。如果策略的评估结果为 true,则可以将跳转配置为具有 LDAP 身份验证的下一个因素。同样,可以将策略配置为将下一个因素作为证书。

  5. 在 SAML 身份验证之后选择 LDAP 因素时,将显示登录页面。

    LDAP 身份验证登录

    注意

    用户名值使用表达式 $ {http.req.user.name} 预先填充,该表达式从第一个因素中提取用户名。还可以自定义其他字段,例如用户名和密码的标签。

  6. 下图显示了用于此登录表单表示形式的示例。

    登录表单

    注意

    根据要求,管理员可以修改登录表单的值。

  7. 如果在 SAML 之后选择了证书因素,则会显示选择证书页面。

    选择证书

注意

也可以通过 Citrix ADC 版本 13.0 及更高版本中提供的 nFactor 可视化工具创建安装程序。

nFactor 可视化工具 SAML 和 LDAP

使用 CLI 执行以下操作

  1. 配置流量管理虚拟服务器和验证服务器。

    • add lb vserver lb_ssl SSL 10.217.28.166 443 -persistenceType NONE -cltTimeout 180 -AuthenticationHost auth.nsi-test.com -Authentication ON -authnVsName avn
    • add authentication vserver avn SSL 10.217.28.167 443 -AuthenticationDomain nsi-test.com
  2. 使用绑定到身份验证虚拟服务器的属性提取配置 SAML 策略。

    • add authentication samlAction shibboleth -samlIdPCertName shib-idp-242 -samlSigningCertName nssp-cert -samlRedirectUrl "https://idp.wi.int/idp/profile/SAML2/POST/SSO" -samlUserField samaccountname -samlRejectUnsignedAssertion OFF -samlIssuerName nssp.nsi-test.com -Attribute1 UserPrincipalName –Attribute2 department
    • add authentication Policy saml -rule true -action shibboleth
    • bind authentication vserver avn -policy saml -priority 1 -nextFactor label1 -gotoPriorityExpression NEXT
  3. 配置第二个因素。

    • add authentication loginSchema login2 -authenticationSchema noschema
    • add authentication Policy no_ldap -rule "http.req.user.attribute(1).contains(\"citrix.com\")" -action NO_AUTHN
    • add authentication Policy no_cert -rule "http.req.user.attribute(2).contains(\"Sales\")" -action NO_AUTHN
    • add authentication policylabel label1 -loginSchema login2
    • bind authentication policylabel label1 -policyName no_ldap -priority 1 -gotoPriorityExpression NEXT -nextFactor ldapfactor
    • bind authentication policylabel label1 -policyName no_cert -priority 2 -gotoPriorityExpression NEXT -nextFactor certfactor
  4. 配置 LDAP 身份验证因素。

    • add authentication loginSchema login3 -authenticationSchema login1.xml
    • add authentication policylabel ldapfactor -loginSchema login3
    • bind authentication policylabel ldapfactor -policyName <LDAP Auth Policy> -priority 10 -gotoPriorityExpression END
  5. 配置证书因素身份验证。

    • add authentication loginSchema login4 -authenticationSchema noschema
    • add authentication policylabel certfactor -loginSchema login4
    • bind authentication policylabel certfactor -policyName <Certificate Auth Policy> -priority 10 -gotoPriorityExpression END
  6. 将根证书绑定到虚拟服务器并启用客户端身份验证。

    • bind ssl vserver avn -certkeyName <root cert name>-CA -ocspCheck Optional
    • set ssl vserver avn -clientAuth ENABLED -clientCert Optional

使用 nFactor 可视化工具进行配置

  1. 导航到 Security(安全)> AAA-Application Traffic(AAA - 应用程序流量)> nFactor Visualizer(nFactor 可视化工具)> nFactor Flows(nFactor 流程),然后单击 Add(添加)。

  2. 单击 + 以添加 nFactor 流。

  3. 添加一个因素。您输入的名称为 nFactor 流的名称。

  4. SAML 身份验证不需要模式。单击 添加策略 为第一个因素创建 SAML 策略。

    添加架构

    注意: 有关 SAML 作为 SP 的更多信息,请参阅 Citrix ADC 作为 SAML SP

  5. 添加 SAML 策略。

    添加 SAML 策略

  6. 单击绿色 + 添加下一个因素。

    添加下一个因素

  7. 创建一个决策框来检查 SAML 属性。

    选中决策框

  8. 单击 Add Policy(添加策略)以创建策略。

    添加策略

  9. 使用操作 NO_AUTHN 创建一个策略以检查属性“citrix.com”。

    策略没有身份验证

  10. 选择之前创建的策略,然后单击 添加

    添加策略

  11. 单击绿色 + 号添加第二个策略。

  12. 按照步骤 9 和 10 进行操作。绑定策略以检查属性销售额。

    绑定属性 sales

  13. 要为属性“citrix.com”添加第二个因素,请单击 no_ldap 策略旁边的绿色 + 号。

    添加第二个因素

  14. 为 LDAP 身份验证创建下一个因素。

    LDAP 因素

  15. 单击 添加架构 获取第二个因素。

    第二个模式

  16. 使用模式“PrefilUserFormExpr.xml”为预填用户名的第二个因素创建身份验证登录架构。

    创建验证架构

  17. 单击 添加策略 以添加 LDAP 策略。

    添加 LDAP 策略

    注意

    有关创建 LDAP 身份验证的详细信息,请参阅 使用配置实用程序配置 LDAP 身份验证

  18. 遵循步骤 13。要为属性销售添加第二个因素,请单击 no_cert 旁边的绿色 + 号。

    不添加证书策略

  19. 为证书身份验证创建下一个因素。

    添加证书身份验证

  20. 按照步骤 15、16 和 17 进行操作。为证书身份验证和添加证书身份验证策略添加架构。

    注意

    有关证书身份验证的详细信息,请参阅 配置和绑定客户端证书身份验证策略

  21. 单击 Done(完成)保存配置。

  22. 要将创建的 nFactor 流绑定到身份验证、授权和审核虚拟服务器,请单击 绑定到身份验证服务器 ,然后单击 创建

    绑定身份验证服务器

    注意

    通过仅 显示绑定下的 nFactor Flow 中给出的选项绑定和取消绑 定 nFactor 流。

取消绑定 nFactor 流程

  1. 选择 nFactor 流程,然后单击 Show Bindings(显示绑定)。

  2. 选择身份验证虚拟服务器并单击 Unbind(取消绑定)。

根据 nFactor 身份验证中的 SAML 属性提取配置 SAML,然后配置 LDAP 或证书身份验证