Citrix ADC

身份验证、授权和审核的工作原理

身份验证、授权和审核允许任何具有适当凭据的客户端从 Internet 上的任何位置安全地连接到受保护的应用程序服务器,从而为分布式 Internet 环境提供了安全性。此功能集成了身份验证、授权和审核这三个安全功能。身份验证使 Citrix ADC 能够在本地验证或使用第三方身份验证服务器验证客户端凭据,并且仅允许获得批准的用户访问受保护的服务器。授权使 ADC 能够验证受保护服务器上允许每个用户访问的内容。审核使 ADC 能够记录每个用户在受保护的服务器上的活动。

要了解身份验证、授权和审核在分布式环境中的工作方式,请考虑使用员工在办公室、家中和旅行时访问的 Intranet 的组织。内联网上的内容是保密的,需要安全访问。任何想要访问 Intranet 的用户都必须具有有效的用户名和密码。为满足这些要求,ADC 执行以下操作:

  • 如果用户在未登录的情况下访问 Intranet,则将用户重定向到登录页面。
  • 收集用户的凭据,将其传递到身份验证服务器,并将其缓存在可通过 LDAP 访问的目录中。有关详细信息,请参阅确定 LDAP 目录中的属性

  • 在将用户的请求传递到应用程序服务器之前,验证用户是否有权访问特定的 Intranet 内容。
  • 维护会话超时,用户必须再次进行身份验证才能重新获得对 Intranet 的访问权限。(您可以配置超时。)
  • 在审核日志中记录用户访问的访问,包括无效的登录尝试。

以下部分讨论了两种身份验证机制:

  • 基于表单的 AAA-TM.

  • 401 已启用 AAA-TM 身份验证。

基于表单的 AAA-TM

使用基于表单的身份验证,登录表单将呈现给最终用户。此类型的身份验证表单 支持多重 (nFactor) 身份验证和经典身份验证。

基于表单的 AAA-TM

确保基于窗体的身份验证工作如下:

  • 负载平衡虚拟服务器必须打开身份验证。

  • 必须指定“身份验证主机”参数,必须将用户重定向到该参数以进行身份验证。用于配置相同的命令如下所示:

    set lb vs lb1 -authentication on –authenticationhost aaavs-ip/fqdn
    
  • 基于表单的身份验证适用于支持 HTML 的浏览器

以下步骤演示了基于窗体的身份验证的工作原理:

  1. 客户端(浏览器)在 TM(负载均衡 /CS)虚拟服务器上发送 URL 的 GET 请求。

  2. TM 虚拟服务器确定客户端尚未通过身份验证,并向客户端发送 HTTP 302 响应。响应包含一个隐藏脚本,该脚本导致客户端向身份验证虚拟服务器发出 /cgi/tm 的 GET 请求。
  3. 客户端将包含目标 URL 的 GET /cgi/tm 发送到身份验证虚拟服务器。
  4. 身份验证虚拟服务器向登录页面发送重定向。
  5. 用户将其凭据发送到使用 POST /DOAuthenation.do.do.A 的身份验证虚拟服务器。 身份验证由身份验证虚拟服务器完成。
  6. 如果凭据正确,身份验证虚拟服务器会使用一次性令牌 (OTP) 向负载平衡服务器上的 cgi/自auth url 发送 HTTP 302 响应。
  7. 负载平衡服务器将 HTTP 302 发送到客户端。
  8. 客户端为其初始 URL 目标 URL 发送 GET 请求以及 32 字节的 cookie。

    基于表单的 AAA-TM 流程图

401 已启用身份验证的 AAA-TM

对于基于 401 的身份验证,Citrix ADC 设备将向最终用户显示弹出对话框, 如下所示。

基于 401 的 AAA-TM

基于表单的 AAA-TM 适用于重定向消息。但是,某些应用程序不支持重定向。在此类应用程序中,使用了 401 启用了身份验证的 AAA-TM。

确保启用 401 身份验证的 AAA-TM 能够正常工作:

  • 负载平衡虚拟服务器的“authnvsName”参数值必须是用于验证用户身份的身份验证虚拟服务器的名称。

  • 必须启用“authn401”参数。用于配置相同的命令如下所示:

    set lb vs lb1 –authn401 on –authnvsName <aaavs-name>
    

以下步骤演示 401 身份验证的工作原理:

  1. 用户尝试使用负载平衡虚拟服务器访问特定 URL。

  2. 负载平衡虚拟服务器向用户发送 401 HTTP 响应,指示访问需要身份验证。
  3. 用户将其凭据发送到授权标头中的负载平衡虚拟服务器。
  4. 负载平衡虚拟服务器对用户进行身份验证,然后将用户连接到后端服务器。

    基于 401 的 AAA-TM 流程图

配置 No_Auth 策略以绕过某些流量

现在,您可以配置 No_Auth 策略,以便在流量管理虚拟服务器上启用基于 401 的身份验证时绕过某些流量身份验证。对于此类流量,您必须绑定“无身份验证”策略。

使用 CLI 配置 No_Auth 策略以绕过某些流量

在命令提示窗口中,键入:

add authentication policy <name> -rule <expression> -action <string>

示例:

add authentication policy ldap -rule ldapAct1 -action

身份验证、授权和审核的工作原理