Citrix ADC

轮询在身份验证

从Citrix ADC发行版构建13.0.79.64开始,可以将Citrix ADC设备配置为多因素身份验证期间的轮询机制。

如果在Citrix ADC设备上配置了轮询,那么端点(如web浏览器或应用程序)可以在身份验证期间按配置的间隔轮询(探测)设备,以获得提交的身份验证请求的状态。

轮询可以配置为在端点使用Citrix ADC设备进行身份验证时丢弃TCP连接时处理身份验证。

点需要注意

  • LDAP、RADIUS、TACACS认证方式支持轮询配置。

  • 客户端可以从第二个因素开始探测身份验证请求。

为什么配置轮询?

有时在进行身份验证时,在应用程序(例如登录应用程序和身份验证应用程序)之间切换会导致端点与Citrix ADC设备失去连接,从而导致身份验证流中断。通过配置轮询,可以避免身份验证中的这种中断。

了解轮询机制

下面是不配置轮询的身份验证过程中的事件流示例。

轮询机制使Citrix ADC设备能够恢复与端点进行的身份验证,而不必在TCP连接在端点重置的罕见情况下重新启动身份验证过程。

Polling-current

  1. 端点(应用程序或Web浏览器)使用凭据进行身份验证。
  2. 根据现有的第一个因素目录(LDAP/Active directory)验证用户名和密码。
  3. 如果提供了正确的凭证,则身份验证转移到下一个因素。
  4. 此时,Citrix ADC设备将请求发送到RADIUS Push服务器。
  5. 当Citrix ADC设备等待RADIUS服务器的响应时,端点将放弃TCP连接。
  6. Citrix ADC接收RADIUS Push服务器的响应。
  7. 由于没有找到客户端TCP连接,Citrix ADC设备将放弃会话,登录失败。

下面是配置了Polling的身份验证过程中的事件流示例。

Poling-new

  1. 端点(应用程序或Web浏览器)使用凭据进行身份验证。
  2. 根据现有的第一个因素目录(LDAP/Active directory)验证用户名和密码。
  3. 如果提供了正确的凭证,则身份验证转移到下一个因素。
  4. 此时,Citrix ADC设备将请求发送到RADIUS Push服务器。
  5. 当Citrix ADC设备等待RADIUS服务器的响应时,端点将放弃TCP连接。
  6. 端点向Citrix ADC设备发送轮询(探测)以检查身份验证状态。
  7. 由于Citrix ADC设备没有收到来自RADIUS服务器的反馈,它请求端点继续轮询。
  8. Citrix ADC设备接收来自RADIUS Push服务器的响应。
  9. 由于没有找到客户端TCP连接,ADC保存会话状态。
  10. 端点再次轮询以检查身份验证状态。
  11. Citrix ADC设备建立会话并成功登录。

通过CLI配置轮询

下面是CLI配置的示例。

配置第一因素

add authentication ldapAction ldap-new -serverIP 10.106.40.65 -serverPort 636 -ldapBase "dc=aaatm-test,dc=com" -ldapBindDn administrator@aaatm-test.com -ldapBindDnPassword 2f63d3659103464a4fad0ade65e2ccfd4e8440e36ddff941d29796af03e01139 -encrypted -encryptmethod ENCMTHD_3 - ldploginname sAMAccountName -groupAttrName memberof -subAttributeName CN-secType SSL -alternateEmailAttr userParameters add authentication Policy ldap-new -rule true -action ldap-new bind authentication vserver avs -policy ldap-new -priority 1 -nextFactor rad_factor 

配置第二个因素

add authentication radiusAction rad1 -serverIP 10.102.229.120 -radKey 1b1613760143ce2371961e9a9eb5392c86a4954a62397f29a01b5d12b42ce232 -encrypted -encryptmethod ENCMTHD_3 add authentication Policy rad -rule true -action rad1 

配置Poll.xml登录模式

add authentication loginSchema polling_schema -authenticationSchema loginSchema /Poll.xml add authentication policylabel rad_factor -loginSchema polling_schema bind authentication policylabel rad_factor -policyName rad -priority 1 -gotoPriorityExpression NEXT 

使用GUI配置轮询

有关使用GUI配置多因素身份验证的详细步骤,请参见:配置nFactor身份验证

下面是配置Citrix ADC从第二个因素开始的轮询所需的高级步骤示例。

  1. 为身份验证创建第一个因素,例如LDAP。
  2. 为身份验证创建第二个因素,例如RADIUS。
  3. 添加Poll.xml出现在Citrix ADC (/nsconfig/loginschema/ loginschema/)中,作为第二个因素的登录模式。
轮询在身份验证