Citrix ADC Kerberos SSO概述
要使用Citrix ADC Kerberos SSO功能,用户首先使用Kerberos或受支持的第三方身份验证服务器进行身份验证。经过身份验证后,用户请求访问受保护的网络应用程序。Web服务器响应请求,以证明用户有权访问该网页应用程序。用户的浏览器联系Kerberos服务器,该服务器验证用户是否有权访问该资源,然后向用户的浏览器提供一个提供证明的服务票证。浏览器将用户的请求重新发送到Web应用程序服务器,并附加了服务票证。网络应用程序服务器验证服务票证,然后允许用户访问该应用程序。
身份验证、授权和审核流量管理实现此过程,如下图所示。该图说明了在具有LDAP身份验证和Kerberos授权的安全网络上通过Citrix ADC设备以及身份验证,授权和审核流量管理的信息流。使用其他类型身份验证的身份验证、授权和审核流量管理环境基本上具有相同的信息流,尽管它们在某些细节上可能有所不同。
图 1.具有LDAP和Kerberos的安全网络
在Kerberos环境中使用身份验证和授权进行身份验证,授权和审核流量管理需要执行以下操作。
- 客户端向Citrix ADC设备上的流量管理虚拟服务器发送资源请求。
- 流量管理虚拟服务器将请求传递给身份验证虚拟服务器,该服务器对客户端进行身份验证,然后将请求传回流量管理虚拟服务器。
- 流量管理虚拟服务器将客户端的请求发送到Web应用程序服务器。
- 网络应用程序服务器响应流量管理虚拟服务器时,会发401未出经授权的消息,请求Kerberos身份验证,并回退到NTLM身份验证(如果客户端不支持Kerberos)。
- 流量管理虚拟服务器与Kerberos SSO守护进程联系。
- Kerberos SSO守护进程与Kerberos服务器联系,并获取票证授予票证(TGT),允许其请求服务票证授权访问受保护应用程序。
- Kerberos SSO守护进程获取用户的服务票证,并将该票证发送到流量管理虚拟服务器。
- 流量管理虚拟服务器将票证附加到用户的初始请求,并将修改后的请求发回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.支持的身份验证方法
基本/消化/ NTLM | Kerberos约束委派 | 用户模拟 | |
---|---|---|---|
CAC(智能卡):在SSL / T LS层 | X | X | |
基于表单(LDAP / RADIUS / TACACS) | X | X | X |
HTTP基本(LDAP / RADIUS / TACACS) | X | X | X |
Kerberos | X | ||
NT LM v1 / v2 | X | X | |
SAML | X | ||
SAML双重身份验证 | X | X | X |
证书双重身份验证 | X | X | X |