ADC
感谢您提供反馈

这篇文章已经过机器翻译.放弃

在第一个因素中为 WebAuth 配置适用于 Citrix Gateway 的 nFactor,在第二个因素中为密码更改配置 LDAP

下面的高级步骤涉及在第一因素中使用 WebAuth 为 Citrix Gateway 配置 nFactor,在第二因素中使用密码更改为 LDAP 配置 nFactor。

  1. 配置零 IP 的身份验证虚拟服务器。将证书绑定到身份验证虚拟服务器不是强制性的。

  2. 使用身份验证虚拟服务器名称配置身份验证配置文件。

  3. 配置 VPN 虚拟服务器。

  4. 在此 VPN 虚拟服务器上设置身份验证配置文件。

  5. 配置 WebAuth 操作和策略。

  6. 配置 LDAP 操作和策略。

  7. 为 LDAP 因素配置登录架构操作。

  8. 使用 LDAP 因素的登录架构操作为 LDAP 因素配置策略标签。

  9. 将 LDAP 策略绑定到 LDAP 策略标签。

  10. 将 WebAuth 策略绑定到身份验证虚拟服务器,并使用 LDAP 策略标签作为下一个因素。

工作原理

  • 用户在浏览器中输入 Citrix Gateway FQDN,并重定向到/登录/登录点/tmindex.html 页面。

  • 此页面显示绑定到身份验证虚拟服务器的登录架构。如果没有绑定到身份验证虚拟服务器的登录模式(如在我们的配置中),则会显示默认模式。

  • 用户输入第一个因素的凭据,在这种情况下是 WebAuth。

  • Citrix Gateway 检查 WebAuth 操作并联系 WebAuth 服务器。它将参数 fullReqExpr 中提到的 HTTP 请求发送到 WebAuth 服务器。如果 WebAuth 服务器的响应满足 WebAuth 操作的 successRule 参数中提到的表达式,则此策略将通过。

  • 现在,Citrix Gateway 移动到第二个因素。它检查绑定为下一个因素的策略标签 LDAP_F因素的配置。由于此策略标签中提到了登录架构,Citrix Gateway 将该 XML 架构发送到客户端。

  • 客户端接收架构并输入 LDAP 凭据进行第二因素身份验证。

  • Citrix Gateway 尝试访问 LDAP 服务器并验证客户端凭据是否正确。如果正确,身份验证阶段将完成,用户将登录到配置的 VPN 模式。

下图显示了 nFactor 身份验证序列,其中第一个因素是 WebAuth,第二个因素是 LDAP。

Nfactor-auth-sequence

使用 CLI 进行配置

  1. 配置身份验证虚拟服务器。

    add authentication vserver auth1 ssl

    在 GUI 中,导航到“安全”>“AAA-应用程序流量”>“虚拟服务器”,然后单击“添加”。

    添加身份验证虚拟服务器

  2. 配置身份验证配置文件。

    add authnProfile auth_profile –authnVsname auth1

    在 GUI 中,导航到 安全性 > AAA-应用程序流量 > 身份验证配置文件 ,然后单击 添加。

    创建身份验证配置文件

  3. 配置 VPN 虚拟服务器。

    add vpn vserver vpn1 ssl 10.1.1.1 443 add ssl certkey ckp –cert test.cer –key test.key bind ssl vserver vpn1 –certKey ckp

    导航到 Citrix Gateway > 虚拟服务器 ,然后单击 添加。

    添加 VPN 虚拟服务器

    VPN 虚拟服务器创建后,将证书绑定在同一个上。

    在 VPN 虚拟服务器上设置身份验证配置文件

    set vpn vserver vpn1 –authnProfile auth_profile

    设置身份验证配置文件

  4. 配置 WebAuth 操作和策略。

    导航到 AppExpert > 表达式 > 高级表达式。

    配置 webauth 策略

    add policy expression post_data ""myusername=" + http.REQ.BODY(3000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "&mypassword=" + http.REQ.BODY(3000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")"

    创建表达式

    add policy expression length_post_data "("myusername=" + http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("login=").BEFORE_STR("&") + "&mypassword=" + \http.REQ.BODY(1000).SET_TEXT_MODE(IGNORECASE).AFTER_STR("passwd=")).length"

    通过使用 CLI 配置 nFactor:

    add authentication webAuthAction webAuth_action -serverIP 10.102.39.132 -serverPort 443 -fullReqExpr q{"POST /customAuth.aspx HTTP/" + http.req.version.major + "." + http.req.version.minor + "\r\nAccept: \*/\*\r\nHost: 10.102.39.132\r\nUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)\r\nContent-Type: application/x-www-form-urlencoded\r\n" + "Content-Length: " + length_post_data + "\r\nConnection: Keep-Alive\r\n\r\n" + post_data} -scheme https -successRule "http.RES.STATUS.EQ(200)" add authentication policy webAuth_policy –rule TRUE –action webAuth_action

    之前配置的 webAuth 操作使用两个策略表达式。一个策略表达式(post_data)创建 POST 正文。另一个(length_post_data)计算 POST 正文的长度,该正文用于填充 POST 请求中的内容长度标头。

    创建 POST 正文的策略表达式解析登录请求并提取用户输入的用户名和密码。然后,它使用从登录请求中提取的用户名密码以 WebAuth 服务器期望的格式创建 POST 正文。

    最后,WebAuth 操作创建以下请求,请求发送到 WebAuth 服务器。

    POST /customAuth.aspx HTTP/1.1 Accept: \*/\* Host: 10.102.39.132 Accept-Language: en-US User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) Content-Type: application/x-www-form-urlencoded Content-Length:43 Connection: Keep-Alive myusername=test_user&mypassword=test_passwd
  5. 为密码更改配置 LDAP 操作和策略。

    add authentication ldapAction ldap_action -serverIP 10.102.39.133 -serverPort 636 -secType SSL -ldapBase "dc=domain,dc=com" -ldapBindDn administrator -ldapBindDnPassword password -ldapLoginName samAccountName -passwdChange ENABLED add authentication policy ldap_policy –rule TRUE –action ldap_action

    LDAP 操作配置为 — PasswdChange 已启用,这样可以在 VPN 登录后启用用户启动的更改密码。

  6. 为 LDAP 因素配置登录架构操作。

    add authentication loginSchema LDAP_schema -authenticationSchema /nsconfig/loginschema/LoginSchema/SingleAuth.xml

    LDAP 因素要求最终用户提供用户名和密码。向最终用户显示的登录表单必须描述用户名和密码字段。

    Citrix ADC 有一些默认的登录架构 XML,它们存在于 NetScaler shell 上的 /nsconfig/ loginschema/LoginSchema 位置。您可以使用之前位置中存在的默认登录架构 XML 之一。

  7. 使用 LDAP 因素的登录架构操作为 LDAP 因素配置策略标签:

    add authentication policylabel LDAP_factor -loginSchema LDAP_schema
  8. 将 LDAP 策略绑定到 LDAP 策略标签。

    bind authentication policylabel LDAP_factor –policyName ldap_policy –priority 10
  9. 将 WebAuth 策略绑定到使用 LDAP 策略标签作为下一个因素的身份验证虚拟服务器。

    bind authentication vserver auth1 –policy webAuth_policy –nextFactor LDAP_factor –priority 10

    前面的 nFactor 配置也可以使用 Citrix ADC 中的 nFirtor 可视化工具完成,该可从 13.0 固件版本开始使用。

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

在 nfactor 可视化工具中表示配置

这里的第一个因素是 Webauth,接着是启用密码更改选项的 LDAP。

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

  2. 单击 + 符号以添加 nFactor 流。

    添加 nFactor 流

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

    nFactor 流的名称

  4. 单击添加策略以添加 Webauth 策略和 Webauth 操作/服务器。

    单击添加策略

    选择策略

    创建身份验证策略

  5. 单击绿色 + 号以添加启用密码更改选项的 LDAP 身份验证的下一个因素。

    添加下一个 LDAP 因素

  6. 单击添加架构以添加 LDAP 身份验证的登录架构。

    添加 LDAP 身份验证的架构

  7. 单击添加策略以添加 LDAP 身份验证策略和 LDAP 操作/服务器。

    添加 LDAP 身份验证策略

    要创建 LDAP 操作/服务器,请参阅文章https://support.citrix.com/article/CTX219939

  8. 配置了这两个因素后,您必须将流程绑定到身份验证、授权和审核虚拟服务器。

    单击绑定到身份验证服务器

    选择因素并绑定到身份验证服务器

调试 — 日志和计数器

使用 WebAuth 和 LDAP 成功登录后可以看到日志。要查看以下大部分日志,请将审核日志级别设置为全部,以便它也显示调试日志。

set audit syslogparams –loglevel ALL

注意: 为简洁起见,将从日志中删除时间戳。

示例日志

使用 WebAuth 和 LDAP 成功登录后,以下计数器会递增。

  • pcp_hits authn(webAuth_policy)
  • aaa_tot_webauth_primary_auth
  • aaa_tot_webauth_prim_auth_success
  • aaa_tot_webauth_prim_succ_check_thru
  • pcp_hits authn(webAuth_policy)
  • pcp_hits authn(ldap_policy)
  • aaa_auth_succ
本内容的正式版本为英文版。部分 Cloud Software Group 文档内容采用了机器翻译,仅供您参考。Cloud Software Group 无法控制机器翻译的内容,这些内容可能包含错误、不准确或不合适的语言。对于从英文原文翻译成任何其他语言的内容的准确性、可靠性、适用性或正确性,或者您的 Cloud Software Group 产品或服务沿用了任何机器翻译的内容,我们均不作任何明示或暗示的保证,并且适用的最终用户许可协议或服务条款或者与 Cloud Software Group 签订的任何其他协议(产品或服务与已进行机器翻译的任何文档保持一致)下的任何保证均不适用。对于因使用机器翻译的内容而引起的任何损害或问题,Cloud Software Group 不承担任何责任。
在第一个因素中为 WebAuth 配置适用于 Citrix Gateway 的 nFactor,在第二个因素中为密码更改配置 LDAP