Citrix ADC

使用Kerberos/NTLM处理身份验证、授权和审计

Kerberos是计算机网络认证协议,通过Internet提供安全的通信。主要为客户端 - 服务器应用程序设计,它提供了相互认证,客户端和服务器可以均可确保其他的真实性。Kerberos使用受信任的第三方,称为密钥分发中心(KDC)。KDC由身份验证服务器(AS)组成,该服务器(AS)对用户进行身份验证,以及票据授予服务器(TGS)。

网络上的每个实体(客户机或服务器)都有一个只有其自身和KDC知道的密钥。了解此密钥意味着实体的真实性。对于网络上两个实体之间的通信,KDC生成一个会话密钥,称为Kerberos票证或服务票证。客户端向AS请求特定服务器的凭据。然后,客户机收到一张票据,称为票据授予票据(TGT)。然后,客户机使用从AS收到的TGT联系TGS以证明其身份,并请求服务。如果客户机符合服务条件,TGS将向客户机发出Kerberos票证。然后,客户机使用Kerberos票证联系托管服务的服务器(称为服务服务器),以证明其有权接收服务。Kerberos票证具有可配置的生存期。客户端仅使用AS对自己进行一次身份验证。如果它多次联系物理服务器,它将重用AS票证。

下图显示了Kerberos协议的基本功能。

图1所示。Kerberos的功能

Kerberos身份验证过程

Kerberos认证具有以下优点:

  • 更快的身份验证。当物理服务器从客户机获得Kerberos票证时,服务器有足够的信息直接对客户机进行身份验证。它不必联系域控制器进行客户端身份验证,因此身份验证过程更快。
  • 相互的身份验证。当KDC向客户机发出Kerberos票据,客户机使用该票据访问服务时,只有经过身份验证的服务器才能解密Kerberos票据。如果Citrix ADC设备上的虚拟服务器能够解密Kerberos票据,那么可以断定虚拟服务器和客户机都经过了身份验证。因此,服务器的身份验证与客户机的身份验证同时进行。
  • Windows和其他支持Kerberos的操作系统之间的单点登录。

Kerberos身份验证可能具有以下缺点:

  • Kerberos具有严格的时间要求;所涉及主机的时钟必须与Kerberos服务器时钟同步,以确保身份验证不会失败。您可以通过使用Network Time Protocol守护进程来保持主机时钟同步来缓解这个缺点。Kerberos票据有一个可用期,您可以对其进行配置。
  • Kerberos需要中央服务器持续可用。当Kerberos服务器关闭时,没有人可以登录。您可以通过使用多个Kerberos服务器和后备身份验证机制来降低这种风险。
  • 因为所有的身份验证都是由一个集中的KDC控制的,所以这个基础设施中的任何漏洞,比如被窃取的本地工作站的用户密码,都可能允许攻击者模拟任何用户。通过只使用您信任的台式机或笔记本电脑,或者通过硬件令牌强制进行预认证,可以在一定程度上降低这种风险。

要使用Kerberos身份验证,必须在Citrix ADC设备和每个客户端上配置它。

优化kerberos身份验证认证,授权和审核

Citrix ADC设备现在可以在Kerberos身份验证的同时优化和提高系统性能。身份验证、授权和审核守护进程会记住同一用户的未完成Kerberos请求,以避免在密钥分发中心(KDC)上加载,从而避免重复请求。

使用Kerberos/NTLM处理身份验证、授权和审计