端点分析

Last published : Oct 14, 2026
端点分析 (EPA) 是一种扫描用户设备并检测信息(例如操作系统更新、防病毒、防火墙和网络浏览器软件的存在和版本级别)的过程。端点分析允许您在用户设备连接到您的网络之前,确定其是否符合您的要求。它还可以配置为在用户保持连接时定期检查任何更改。您可以在用户会话期间检查用户设备上的文件、进程和注册表项,以确保设备持续满足要求。
重要提示:
  • 端点分析旨在根据预定的合规性标准分析用户设备,不强制执行或验证最终用户设备的安全性。建议使用端点安全系统来保护设备免受本地管理员攻击。
  • EPA 客户端可作为独立客户端使用,也可与 Citrix Secure Access™ 客户端捆绑使用。Citrix® EPA 客户端和 Citrix Secure Access 客户端彼此独立。

端点策略的工作原理

您可以配置 NetScaler Gateway,以在用户登录前检查用户设备是否满足特定要求。这称为预身份验证策略。您可以配置 NetScaler Gateway,以检查用户设备是否具有您在策略中指定的防病毒、防火墙、反垃圾邮件、进程、文件、注册表项、互联网安全或操作系统。如果用户设备未能通过预身份验证扫描,则不允许用户登录。
要验证预身份验证策略中未使用的其他要求,您可以配置会话策略并将其绑定到用户或组。这种类型的策略称为后身份验证策略,它在用户会话期间运行,以确保所需的标准(例如防病毒软件或进程)保持合规。
当您配置预身份验证或后身份验证策略时,NetScaler Gateway 会下载端点分析插件,然后在用户设备上运行扫描。每次用户登录时,端点分析插件都会自动运行。
您可以使用以下三种类型的策略来配置端点策略:
  • 使用“是”或“否”参数的预身份验证策略。扫描确定用户设备是否满足指定要求。如果扫描失败,用户无法在登录页面上输入凭据。
  • 有条件且可用于 SmartAccess 的会话策略。
  • 会话策略中的客户端设备检查表达式。如果用户设备未能满足客户端设备检查表达式的要求,您可以配置将用户置于隔离组中。如果用户设备通过扫描,用户可以被置于可能需要其他检查的不同组中。
您可以将检测到的信息纳入策略中,从而根据用户设备授予不同级别的访问权限。例如,您可以向从满足当前防病毒和防火墙软件要求的用户设备远程连接的用户提供具有下载权限的完全访问权限。对于从不合规设备连接的用户,您可以提供更受限制的访问级别,允许用户在远程服务器上编辑文档而无需下载。所有运行 EPA 的设备都被视为不合规设备。
端点分析执行以下基本步骤:
  • 检查用户设备的初始信息集,以确定要应用哪些扫描。
  • 运行所有适用的扫描。当用户尝试连接时,端点分析插件会检查用户设备是否符合预身份验证或会话策略中指定的要求。如果用户设备通过扫描,则允许用户登录。如果用户设备未能通过扫描,则不允许用户登录。
    注意: 端点分析扫描在用户会话使用许可证之前完成。
  • 将用户设备上检测到的属性值与配置扫描中列出的所需属性值进行比较。
  • 生成输出,验证是否找到了所需的属性值。
注意:
创建端点分析策略的说明是通用指南。一个会话策略中可以包含许多设置。配置会话策略的具体说明可能包含配置特定设置的指导。但是,该设置可以是会话配置文件和策略中包含的众多设置之一。

EPA 表达式示例

以下是一些 EPA 组件的表达式示例,例如终止进程、删除文件和设备证书:
  • 视窗:
    • 终止进程:sys.client_expr(\“proc_0_perl\“) -killProcess processToKill.exe
    • 设备证书:sys.client_expr(“device-cert_0_0”)
    • 删除文件:sys.client_expr(\“proc_0_perl\“) -deletefiles “C:/removefile.txt”
  • Mac
    • 终止进程:sys.client_expr(\“proc_0_perl\“) -killProcess processToKill.exe
    • 设备证书:sys.client_expr(“device-cert_0_0”)
    • 删除文件:sys.client_expr(\“proc_0_perl\“) -deletefiles “C:/removefile.txt”

评估用户登录选项

用户登录时,可以选择跳过端点分析扫描。如果用户跳过扫描,NetScaler Gateway 会将此操作视为端点分析失败。如果用户扫描失败,他们只能通过无客户端访问获取访问权限。
例如,您希望通过使用 Citrix Secure Access 客户端为用户提供访问权限。要使用插件登录到 NetScaler Gateway,用户必须运行防病毒应用程序,例如 Norton Antivirus。如果用户设备未运行该应用程序,用户只能使用 Receiver 登录并使用已发布的应用程序。您还可以配置无客户端访问,它将访问权限限制为指定的应用程序,例如 Outlook Web Access。
要配置 NetScaler Gateway 以实现此登录场景,您需要将限制性会话策略指定为默认策略。然后,当用户设备通过端点分析扫描时,您配置设置以将用户升级到特权会话策略。此时,用户拥有网络层访问权限,并且可以使用 Citrix Secure Access 客户端登录。
要配置 NetScaler Gateway 以首先强制执行限制性会话策略,请执行以下步骤:
  • 配置全局设置,启用 ICA® Proxy 和所有其他必要的设置,如果指定应用程序未在用户设备上运行。
  • 创建启用 Citrix Secure Access 客户端的会话策略和配置文件。
  • 在会话策略的规则部分中创建表达式以指定应用程序,例如 (client.application.process(symantec.exe) exists)
    用户登录时,会话策略会首先应用。如果端点分析失败或用户跳过扫描,NetScaler Gateway 会忽略会话策略中的设置(会话策略中的表达式被视为 false)。因此,用户通过无客户端访问获得受限访问权限。如果端点分析通过,NetScaler Gateway 会应用会话策略,用户将通过 Citrix Secure Access 客户端获得完全访问权限。

跳过 EPA 扫描

您只能跳过后身份验证和高级身份验证的 EPA 扫描。所有受支持操作系统的浏览器都提供跳过 EPA 功能。用户必须单击访问网关时出现的“跳过 EPA”按钮。如果用户跳过扫描,NetScaler Gateway 会将此操作视为端点分析失败。如果用户扫描失败,他们只能通过无客户端访问获取访问权限。
另请参阅 <https://support.citrix.com/article/CTX200748>。

Ubuntu 支持的端点分析扫描

以下端点分析 (EPA) 扫描支持为 Ubuntu 操作系统安装的 EPA 插件。每个扫描的配置示例表达式与 EPA 扫描一起列出。您可以在身份验证策略中配置这些表达式。
  • 文件
    • 存在性:sys.client_expr("file_0_/home/user/test.txt")
    • MD5 校验和: sys.client_expr("file_0_/home/user/test.txt_md5_ ce780e271debcc29f551546e8db3368f")
    • 文件中的文本(支持正则表达式):sys.client_expr("file_0_/home/user/test.txt_search_cloud”)
  • 进程
    • 存在性:sys.client_expr("proc_0_perl")
    • MD5 校验和: sys.client_expr("proc_0_perl_md5_ c060d3a5f97e27066cef8c116785567a")
    • 路径:sys.client_expr("proc_0_perl_path_/usr/bin/perl")
  • 文件系统设备或挂载点名称:sys.client_expr("mountpoint_0_/sys”)
如果您正在使用高级策略,则可以从 GUI 生成每个扫描的表达式(安全 > AAA > 策略 > 身份验证 > 高级策略 > EPA)。
注意:
  • 在表达式编辑器页面中,对于 Linux 客户端,您可以选择 通用,然后选择 进程、文件 或 挂载点。
  • Linux 客户端不支持 MAC 地址的 EPA 扫描。