Citrix ADC

nFactor身份验证的reCaptcha配置

Citrix网关支持新的一级操作“captchaAction”,该操作可以简化reCaptcha配置。由于reCaptcha是一级操作,因此它可以是其本身的一个因素。您可以在nFactor流中的任何位置注入验证码。

以前,您必须编写自定义WebAuth策略,并对RfWeb UI进行更改。推出captchaAction后,您无需修改JavaScript。

重要

如果reCaptcha与架构中的用户名或密码字段一起使用,提交按钮将处于禁用状态,直到满足reCaptcha。

验证码配置

验证码配置涉及两个部分。

  1. 谷歌上用于注册reCaptcha的配置。
  2. 在Citrix ADC设备上配置使用reCaptcha作为登录流程的一部分。

谷歌上的reCaptcha配置

在以下位置为验证码注册域名:https://www.google.com/recaptcha/admin

  1. 导航到此页面时,将显示以下屏幕。

    本地化后的图片

    注意

    仅使用reCAPTCHA v2。不可见reCAPTCHA仍处于测试阶段。

  2. 注册域后,将显示" SiteKey "和" SecretKey "。

    本地化后的图片

    注意

    出于安全原因,“SiteKey”和“SecretKey”将显示为灰色。必须保持" SecretKey "的安全。

Citrix ADC设备上的reCaptcha配置

Citrix ADC设备上的reCaptcha配置可以分为三个部分:

  • 显示reCaptcha屏幕
  • 将reCaptcha响应发布到谷歌服务器
  • Ldap配置是用户登录的第二个因素(可选)

显示reCaptcha屏幕

登录表单自定义是通过singleauthcapcha .xml loginschema完成的。此自定义在身份验证虚拟服务器上指定,并被发送到UI以呈现登录表单。内置的loginschema SingleAuthCaptcha.xml位于Citrix ADC设备上的/nsconfig/ loginschema / loginschema目录中。

重要

  • 可以修改现有架构,具体取决于您的用例和不同的架构。例如,如果您只需要reCaptcha因素(无用户名或密码)或使用reCaptcha进行双重身份验证。
  • 如果执行了任何自定义修改或重命名了文件,Citrix建议您将所有loginSchema从/ nsconfig / loginSchema / loginSchema目录复制到父目录/ nsconfig / loginSchema。

使用CLI配置reCaptcha的显示

  • 添加authentication loginSchema singleauthcaptcha -authenticationSchema /nsconfig/ loginSchema / singleauthcaptcha .xml
  • add authentication loginSchemaPolicy singleauthcaptcha -rule true -action singleauthcaptcha
  • add authentication vserver auth SSL <端口>
  • 添加SSL certkey vserver-cert -cert -key
  • 绑定SSL vserver认证-certkey vserver-cert
  • bind authentication vserver auth -policy singleauthcaptcha -priority 5 -gotoPriorityExpression结束

将reCaptcha响应发布到谷歌服务器

配置必须向用户显示的reCaptcha后,管理员会将配置添加到谷歌服务器上,以验证来自浏览器的reCaptcha响应。

验证来自浏览器的reCaptcha响应
  • add authentication captchaAction myrecaptcha -sitekey -secretkey
  • 增加认证策略myrecaptcha -rule true -action myrecaptcha
  • 绑定认证vserver auth -policy myrecaptcha -priority

需要使用以下命令来配置是否需要AD身份验证。否则,您可以忽略此步骤。

  • add authentication ldapAction ldap-new -serverIP x.x.x.x -serverPort 636 -ldapBase "cn=users,dc=aaatm,dc=com" -ldapBindDn adminuser@aaatm.com -ldapBindDnPassword -encrypted -encryptmethod ENCMTHD_3 - ldapoginname sAMAccountName -groupAttrName memberof -subAttributeName cn -secType SSL -passwdChange ENABLED -defaultAuthenticationGroup ldapGroup . add authentication ldapAction ldap-new -serverIP x.x.x.x -serverPort 636 -ldapBase "cn=users,dc=aaatm,dc=com
  • 增加authenticationpolicy ldap-new -rule true -action ldap-new

Ldap配置是用户登录的第二个因素(可选)

LDAP身份验证发生在reCaptcha之后,您将其添加到第二个因素中。

  • 添加authentication policylabel second-factor
  • 绑定认证policylabel second-factor -policy ldap-new -priority
  • bind authentication vserver auth -policy myrecaptcha -priority 1 -nextFactor second-factor

管理员需要添加适当的虚拟服务器,具体取决于是使用负载平衡虚拟服务器还是Citrix网关设备进行访问。如果需要负载平衡虚拟服务器,管理员必须配置以下命令:

  • add lb vserver lbtest HTTP <端口> -authentication ON -authenticationHost nssp.aaatm.com

    nssp.aaatm.com- 解析为身份验证虚拟服务器。

验证码的用户验证

配置完前面各部分中提到的所有步骤后,您必须看到如下所示的UI屏幕截图。

  1. 身份验证虚拟服务器加载登录页面后,将显示登录屏幕。登录(登录)在reCaptcha完成之前处于禁用状态。

    本地化后的图片

  2. 选择“我不是机器人”(我不是机器人)选项。此时将显示reCaptcha小组件。

    本地化后的图片

  3. 在显示完成页面之前,您将在一系列reCaptcha图像中导航。
  4. 输入AD凭据,选中我不是机器人(我不是机器人)复选框,然后单击登录(登录)。如果身份验证成功,您将被重定向到所需的资源。

    本地化后的图片

    备注

    • 如果reCaptcha与广告身份验证一起使用,则在reCaptcha完成之前,凭据的“提交”(提交)按钮将处于禁用状态。
    • 验证码是在其本身的一个因素中发生的。因此,像AD这样的任何后续验证都必须在reCaptcha的"下一个因素"中进行。
nFactor身份验证的reCaptcha配置