通过 nFactor 身份验证,通过第三因素中的组提取配置用户名和两个密码

下面的部分介绍了通过 nFactor 身份验证,使用第三因素中的组提取的用户名和两个密码的用例。

第三因素组提取的用户名和两个密码

假定管理员将第一个身份验证因素配置为具有用户名和两个密码字段的用例。第二个因素是通过(此因素没有登录页面),它使用第一个因素的用户名和第二个密码。第三个身份验证因素是通过的,并使用第一个因素的用户名配置组提取。

  1. 访问流量管理虚拟服务器后,您将被重定向到登录页面。

  2. 客户端提交一个用户名和两个密码。例如,用户 1、密码 1 和密码 2。

  3. 根据 user1 和 pass1 的本地策略评估第一个因素。评估成功,下一个因素通过,在这种情况下,策略“label1”。

  4. 策略标签指定第二个因素通过 RADIUS 策略传递。直通架构意味着 Citrix ADC 设备不会返回到客户端进行任何进一步输入。Citrix ADC 设备只是使用它已经拥有的信息。在这种情况下,它是 user1 和 pass2。然后隐式评估第二个因素。评估成功后,下一个因素被传递(在这种情况下,策略“label 2”)。

  5. 策略标签指定通过为组提取配置的 LDAP 策略传递第三个因素。Citrix ADC 设备隐式使用第一个因素的用户名。

  6. 身份验证服务器返回 cookie 和响应,该响应将客户端的浏览器重定向到流量管理虚拟服务器,其中请求的内容所在。如果登录失败,客户端的浏览器将显示原始登录页面,以便客户端可以重试。

    登录表格

使用 CLI 执行以下操作

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

    • add lb vserver lbvs1 HTTP 10.217.28.152 80 -AuthenticationHost auth1.nsi-test.com -Authentication ON
    • add authentication vserver avn SSL 10.217.28.154 443 -AuthenticationDomain dep.sqltest.net
  2. 配置第一个因素。

    • add authentication loginSchema login1 -authenticationSchema login-2passwd.xml
    • add authentication loginSchemaPolicy login1 -rule true -action login1
  3. 配置第二个因素。

    • add authentication loginSchema login2 -authenticationSchema noschema
    • add authentication policylabel label1 -loginSchema login2
  4. 配置第三个因素。

    • add authentication loginSchema login_pass -authenticationSchema noschema
    • add authentication policylabel label2 -loginSchema login_pass
  5. 配置 LOCAL、RADIUS 和 LDAP 因素。

    • add authentication Policy localpolicy -rule true -action LOCAL
    • add authentication ldapAction ldapact -serverIP 10.217.201.84 -ldapBase "cn=users,dc=dep,dc=sqltest,dc=net" -ldapBindDn Administrator@dep.sqltest.net -ldapBindDnPassword 8f7e6642195bc181f734cbc1bd18dfaf03bf9835abda7c045f7a964ceb58d4c9 -encrypted -encryptmethod ENCMTHD_3 -ldapLoginName sAMAccountName -groupAttrName memberOf -subAttributeName CN -ssoNameAttribute userprincipalname
    • add authentication Policy ldappolicy -rule true -action ldapact
    • add authentication radiusAction radius -serverIP 10.217.22.20 -radKey a740d6a0aeb3288fa0a6fbe932d329acddd8f448ecb4a3038daa87b36599fd16 -encrypted -encryptmethod ENCMTHD_3 -radNASip ENABLED -radNASid NS28.50 -radAttributeType 11 -ipAttributeType 8
    • add authentication Policy radiuspolicy -rule true -action radius
  6. 绑定策略。

    • bind authentication vserver avn -policy login1 -priority 10 -gotoPriorityExpression END
    • bind authentication vserver avn -policy localpolicy -priority 2 -nextFactor label1 -gotoPriorityExpression NEXT
    • bind authentication policylabel label1 -policyName radiuspolicy -priority 1 -gotoPriorityExpression NEXT -nextFactor label2
    • bind authentication policylabel label2 -policyName ldappolicy -priority 10 -gotoPriorityExpression NEXT

注意

此设置也可以通过 Citrix ADC 13.0 及更高版本中提供的 nFactor 可视化工具进行创建。

nFactor 可视化工具 RADIUS 和组提取

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

  1. 导航到安全 > AAA-应用程序流量 > nFactor 可视化工具 > nFactor 流,然后单击添加

  2. 单击 + 以添加 nFactor 流。

    添加流

  3. 添加一个因素。您输入的名称是 nFactor 流的名称。单击创建

    为流添加名称

  4. 单击添加架构以添加第一个因素的登录架构。您可以创建身份验证登录架构或从列表中选择现有身份验证登录架构。单击确定

    添加架构

  5. 单击“添加策略”以添加第一个因素身份验证策略。您可以创建身份验证策略或从列表中选择现有身份验证策略。

    添加本地策略

  6. 创建本地策略,如下所示。

    创建本地策略

  7. 单击绿色 + 以添加第二个因素。

    添加下一个因素

  8. 单击添加架构以添加第二个因素的登录架构。您可以创建身份验证登录架构或从列表中选择现有身份验证登录架构。单击确定

    加上第二个因素

  9. 单击添加策略以创建策略。单击创建并单击添加

    添加策略

    注意

    如果未创建 RADIUS 操作,请参阅配置 RADIUS 身份验证

  10. 单击绿色 + 以添加第三个因素,然后单击创建

    添加第三个因素

  11. 单击添加架构以添加第二个因素的登录架构。您可以创建身份验证登录架构或从列表中选择现有身份验证登录架构。单击确定

  12. 单击添加策略以创建策略。单击创建并单击添加

  13. 如果添加了 LDAP 操作,请选择相同的操作。如果没有,请按照知识库文章创建一个,也因为您只执行提取,请确保在 LDAP 操作上禁用身份验证。有关详细信息,请参阅如何在没有身份验证的情况下通过 NetScaler 使用 LDAP 进行组提取

    添加 LDAP 身份验证

  14. 在“配置身份验证策略”上添加 LDAP 策略,然后单击“确定”。

    添加 ldap 身份验证策略

  15. 单击完成。选择 nFate 流,然后单击“绑定到身份验证服务器”选项,然后从列表中选择身份验证、授权和审核虚拟服务器。

    LDAP 因素

通过 nFactor 身份验证,通过第三因素中的组提取配置用户名和两个密码