Citrix ADC Kerberos SSO 概述

要使用 Citrix ADC Kerberos SSO 功能,用户首先使用 Kerberos 或受支持的第三方身份验证服务器进行身份验证。经过身份验证后,用户请求访问受保护的 Web 应用程序。Web 服务器响应请求,以证明用户有权访问该 Web 应用程序。用户的浏览器联系 Kerberos 服务器,该服务器验证用户是否有权访问该资源,然后向用户的浏览器提供一个提供证明的服务票证。浏览器将用户的请求重新发送到 Web 应用程序服务器,并附加了服务票证。Web 应用程序服务器验证服务票证,然后允许用户访问该应用程序。

身份验证、授权和审核流量管理实现此过程,如下图所示。该图说明了在具有 LDAP 身份验证和 Kerberos 授权的安全网络上通过 Citrix ADC 设备以及身份验证、授权和审核流量管理的信息流。使用其他类型身份验证的身份验证、授权和审核流量管理环境基本上具有相同的信息流,尽管它们在某些细节上可能有所不同。

图 1. 具有 LDAP 和 Kerberos 的安全网络

具有 LDAP 和 Kerberos 的安全网络

在 Kerberos 环境中使用身份验证和授权进行身份验证、授权和审核流量管理需要执行以下操作。

  1. 客户端向 Citrix ADC 设备上的流量管理虚拟服务器发送资源请求。
  2. 流量管理虚拟服务器将请求传递给身份验证虚拟服务器,该服务器对客户端进行身份验证,然后将请求传回流量管理虚拟服务器。
  3. 流量管理虚拟服务器将客户端的请求发送到 Web 应用程序服务器。
  4. Web 应用程序服务器响应流量管理虚拟服务器时,会发出 401 未经授权的消息,请求 Kerberos 身份验证,并回退到 NTLM 身份验证(如果客户端不支持 Kerberos)。
  5. 流量管理虚拟服务器与 Kerberos SSO 守护进程联系。
  6. Kerberos SSO 守护进程与 Kerberos 服务器联系,并获取票证授予票证 (TGT),允许其请求服务票证授权访问受保护应用程序。
  7. Kerberos SSO 守护进程获取用户的服务票证,并将该票证发送到流量管理虚拟服务器。
  8. 流量管理虚拟服务器将票证附加到用户的初始请求,并将修改后的请求发回 Web 应用程序服务器。
  9. Web 应用程序服务器以 200 确定消息响应。

这些步骤对客户端是透明的,客户端只是发送请求并接收请求的资源。

Citrix ADC Kerberos SSO 与身份验证方法的集成

所有身份验证、授权和审核流量管理身份验证机制都支持 Citrix ADC Kerberos SSO。身份验证、授权和审核流量管理支持 Kerberos SSO 机制与 Kerberos、CAC(智能卡)和 SAML 身份验证机制与 Citrix ADC 设备的任何形式的客户端身份验证。如果客户端使用基于 HTTP 的身份验证或基于表单的身份验证登录到 Citrix ADC 设备,则它还支持基于 HTTP 的摘要、基于表单的和 NTLM(版本 1 和 2)SSO 机制。

下表显示了每种受支持的客户端身份验证方法,以及该客户端方法支持的服务器端身份验证方法。

表 1. 支持的身份验证方法

  Basic/Digest/NTLM Kerberos 约束委派 用户模拟
CAC(智能卡):在 SSL/T LS 层   X X
基于表单 (LDAP/RADIUS/TACACS) X X X
HTTP Basic (LDAP/RADIUS/TACACS) X X X
Kerberos   X  
NT LM v1/v2   X X
SAML   X  
SAML 双重身份验证 X X X
证书双重身份验证 X X X