Citrix网关

用户设备的预认证安全表达式

Citrix Gateway在用户登录期间或在会话期间的其他配置时间提供各种端点安全检查,有助于提高安全性。只有通过这些安全检查的用户设备才允许建立Citrix网关会话。

在Citrix Gateway上可配置的用户设备安全检查类型如下:

  • 垃圾邮件
  • 杀毒
  • 文件政策
  • 网络安全
  • 操作系统
  • 个人防火墙
  • 过程的政策
  • 注册中心政策
  • 服务策略

如果用户设备上的安全检查失败,则在后续检查通过之前不会建立新的连接(在定期检查的情况下);但是,通过现有连接的流量继续通过Citrix Gateway隧道。

您可以使用配置实用程序在会话策略中配置预认证策略或安全表达式,这些策略旨在对用户设备进行安全检查。

配置反病毒、防火墙、互联网安全或反垃圾邮件表达式

配置防病毒、防火墙、Internet安全和反垃圾邮件策略的设置添加表情对话框。每个策略的设置是相同的:不同之处是您选择的值。例如,如果要检查用户设备是否有诺顿防病毒版本10和ZoneAlarm Pro,则可以在会话或预认证策略中创建两个表达式,指定每个应用的名称和版本号。

当选择“客户端安全”作为表达式类型时,可以配置以下内容:

  • 组件:客户端安全类型,如防病毒、防火墙或注册表项。
  • 名称:应用程序、进程、文件、注册表项或操作系统的名称。
  • 限定符:表达式检查的组件的版本或值。
  • 操作符:检查该值是否存在或是否等于该值。
  • 取值范围:用户设备上防病毒软件、防火墙软件、互联网安全软件或垃圾邮件软件的应用版本。
  • 频率:执行认证后扫描的频率,单位为分钟。
  • 错误权重:当多个表达式有不同的错误字符串时,为嵌套表达式中包含的每个错误消息分配的权重。权重决定出现哪条错误消息。
  • 新鲜度:定义病毒定义的时间。例如,您可以配置表达式,使病毒定义不超过三天。

将客户端安全策略添加到预认证或会话策略中

  1. 在配置实用程序的导航窗格中,执行以下操作之一:
    1. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix网关>策略然后点击会话
    2. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix网关>策略>认证/授权,然后点击Pre-Authentication环保局
  2. 在详细信息窗格的Policies选项卡上,单击添加
  3. 在“名称”中,键入策略的名称。
  4. 在“匹配任何表达式”后面,单击“添加”。
  5. 在“添加表达式”对话框的“表达式类型”中选择客户端安全
  6. 请配置以下设置:
    1. 在Component中,选择要扫描的项目。
    2. 在“名称”中键入应用程序的名称。
    3. 在Qualifier中,选择版本
    4. 在“操作符”中选择值。
    5. 在“值”中输入客户端安全字符串,单击好吧,点击创建,然后点击关闭

配置业务策略

服务是在用户设备上静默运行的程序。在创建会话或预认证策略时,可以创建一个表达式,以确保在会话建立时用户设备正在运行特定的服务。

配置业务策略

  1. 在配置实用程序的导航窗格中,执行以下操作之一:
    1. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix Gateway \ >策略然后单击“会话”。
    2. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix网关>策略\ >认证/授权,然后单击“预认证EPA”。
  2. 在详细信息窗格的Policies选项卡上,单击Add。
  3. 在“名称”中,键入策略的名称。
  4. 在“匹配任何表达式”后面,单击“添加”。
  5. 在“添加表达式”对话框的“表达式类型”中选择“客户端安全”。
  6. 请配置以下设置:
    1. 在Component中选择Service。
    2. 在Name中,键入服务的名称。
    3. 在Qualifier中留空或选择Version。
    4. 根据您在Qualifier中的选择,执行以下操作之一:
      • 如果为空,在Operator中选择==或!=
      • 如果选择了版本,则在“操作符”中,在“值”中键入值,单击“确定”,然后单击“关闭”。

您可以在以下位置查看windows计算机上所有可用服务的列表和每个服务的状态:

控制面板>管理Tools > Services

注意:

每个服务的服务名称与其列出的名称不同。通过查看Properties对话框来检查服务的名称。

配置流程策略

在创建会话或预认证策略时,您可以定义一个规则,要求所有用户设备在用户登录时运行特定的进程。该流程可以是任何应用程序,并且可以包括自定义应用程序。

注意:在基于windows的计算机上运行的所有进程的列表显示在流程选项卡。

配置进程策略

  1. 在配置实用程序的导航窗格中,执行以下操作之一:
    1. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix Gateway \ >策略然后单击“会话”。
    2. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix网关>策略\ >认证/授权,然后单击“预认证EPA”。
  2. 在详细信息窗格的Policies选项卡上,单击Add。
  3. 在“名称”中,键入策略的名称。
  4. 在“匹配任何表达式”后面,单击“添加”。
  5. 在“添加表达式”对话框的“表达式类型”中选择“客户端安全”。
  6. 请配置以下设置:
    1. 在“组件”中选择“进程”。
    2. 在“名称”中键入应用程序的名称。
    3. 在Operator中,选择EXISTS或NOTEXISTS,单击OK,然后单击Close。

在配置端点分析策略(认证前或认证后)检查进程时,可以配置MD5校验和。

在为策略创建表达式时,可以将MD5校验和添加到要检查的进程中。例如,如果您正在检查notepad.exe是否在用户设备上运行,表达式为:CLIENT.APPLICATION.PROCESS(notepad.exe_md5_388b8fbc36a8558587afc90fb23a3b00) EXISTS

配置操作系统策略

在创建会话或预认证策略时,可以配置客户端安全字符串,以确定用户登录时用户设备是否正在运行特定的操作系统。还可以将表达式配置为检查特定的服务包或热修复程序。

Windows和Macintosh的值为:

操作系统 价值
macOS X macOS
Windows 8.1 win8.1
Windows 8 win8中的
Windows 7 这个主题
Windows Vista vista
Windows XP winxp
Windows Server 2008 win2008
Windows Server 2003 win2003
Windows 2000服务器 win2000
Windows 64位平台 win64

使用GUI配置操作系统策略

  1. 在导航窗格中,执行以下操作之一:
    1. 导航到Citrix网关>策略然后点击会话
    2. 导航到Citrix网关>策略>预认证
  2. 在详细信息窗格中,在政策选项卡上,单击添加
  3. 名字,键入策略的名称。
  4. 请求操作选择一个现有的操作或创建一个操作。
  5. 点击表达式编辑器
  6. 选择表达式类型中,选择客户端安全
  7. 请配置以下设置:
    1. 组件中,选择操作系统
    2. 名字,输入操作系统的名称。
    3. 在Qualifier中,执行以下操作之一:
      • 留空字段
      • 选择服务包
      • 选择热修复补丁
      • 选择版本(仅适用于macOS)
    4. 根据您在步骤7中的选择,在Operator中执行以下操作之一:
      • 如果Qualifier为空,则在Operator中选择EQUAL(= =)、NOTEQUAL(!=)、EXISTS或NOTEXISTS。
      • 如果选择了Service Pack或Hotfix,请选择操作符,并在“值”中键入值。
  8. 点击完成然后点击关闭

如果您正在配置service pack,例如client.os(winxp) . sp,如果某个数字不在价值字段时,Citrix Gateway返回错误消息,因为表达式无效。

如果操作系统中存在服务包(例如service Pack 3和service Pack 4),则可以配置仅针对service Pack 4的检查,因为service Pack 4的存在会自动表明存在以前的服务包。

配置注册中心策略

在创建会话或预认证策略时,可以检查用户设备上是否存在注册表项及其值。只有当特定表项存在或具有配置值或更高的值时,会话才会建立。

在配置注册表表达式时,请使用以下指导原则:

  • 四个反斜杠用于分隔键和子键,例如

    HKEY_LOCAL_MACHINE \ \ \ \软件

  • 使用下划线分隔子键和关联的值名称,例如

    HKEY_LOCAL_MACHINE \ \ \ \ \ \ \ \ VirusSoftware_Version软件

  • 反斜杠(\)用于表示空格,例如以下两个示例:

    HKEY_LOCAL_MACHINE\\\\SOFTWARE\\Citrix\\\\Secure\ Access\ Client_ProductVersion . sh

    客户端。注册(HKEY_LOCAL_MACHINE\\\\Software\\\\Symantec\\Norton\ AntiVirus_Version).VALUE == 12.8.0.4 -frequency 5

以下是用户登录时查找Citrix Gateway插件注册表项的注册表表达式:

客户端。注册(secureaccess).价值= = HKEY_LOCAL_MACHINE \ \ \ \ \ \ \ \软件CITRIX \ \ \ \安全\ \ Client_ProductVersion访问

注意:如果扫描注册表项和值,并且在“表达式”对话框中选择了“高级自由格式”,则表达式必须以CLIENT开头。注册

注册表检查支持以下最常见的五种类型:

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS
  • HKEY_CURRENT_CONFIG

要检查的注册表值使用以下类型:

  • 字符串

    对于字符串值类型,检查大小写敏感性。

  • 双字

    对于DWORD类型,值是比较的,并且必须相等。

  • 扩大字符串

    其他类型(如Binary和Multi-String)不支持。

  • 只支持' == '比较运算符。

  • 不支持其他比较操作符,如<、>和区分大小写的比较。

  • 注册表字符串的总长度必须小于256字节。

可以向表达式中添加值。该值可以是软件版本、服务包版本或注册表中显示的任何其他值。如果注册表中的数据值与您要测试的值不匹配,则拒绝用户登录。

注意:

不能扫描子键中的值。扫描必须匹配命名值和关联的数据值。

配置注册表策略

  1. 在配置实用程序的导航窗格中,执行以下操作之一:
    1. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix Gateway \ >策略然后单击“会话”。
    2. 在配置实用程序中,在导航窗格的configuration选项卡上展开Citrix网关>策略\ >认证/授权,然后单击“预认证EPA”。
  2. 在详细信息窗格的Policies选项卡上,单击Add。
  3. 在“名称”中,键入策略的名称。
  4. 在“匹配任何表达式”后面,单击“添加”。
  5. 在“添加表达式”对话框的“表达式类型”中选择“客户端安全”。
  6. 请配置以下设置:
    1. 在Component中选择Registry。
    2. 在“名称”中键入注册表项的名称。
    3. 在Qualifier中留空或选择Value。
    4. 在Operator中,执行以下操作之一:
      • 如果Qualifier为空,选择EXISTS或NOTEXISTS
      • 如果在Qualifier中选择了Value,请选择==或!==
    5. 在“值”中,键入注册表编辑器中显示的值,单击“确定”,然后单击“关闭”。

配置复合客户端安全表达式

您可以组合客户端安全字符串以形成复合客户端安全表达式。

Citrix网关支持的布尔运算符有:

  • 和(& &)
  • 或(
  • 不是(!)

为了提高精度,可以使用括号将字符串分组在一起。

注意:

如果使用命令行配置表达式,则在组成复合表达式时使用括号将安全表达式分组在一起。括号的使用提高了对客户端表达式的理解和调试。

使用AND(&&)操作符配置策略

AND(&&)操作符通过组合两个客户端安全字符串来工作,以便只有当两个检查都为真时复合检查才通过。表达式从左到右求值,如果第一次检查失败,则不执行第二次检查。

可以使用关键字' AND '或符号' && '来配置AND(&&)运算符。

例子:

以下是客户端安全检查,用于确定用户设备是否安装并运行了7.0版本的Sophos防病毒软件。它还检查Net login服务是否在同一台计算机上运行。

CLIENT.APPLICATION.AV(sophos).version==7.0 AND CLIENT.SVC(netlogon) EXISTS

这个字符串也可以配置为:

CLIENT.APPLICATION.AV(sophos).version==7.0 && CLIENT.SVC(netlogon) EXISTS

使用OR(||)操作符配置策略

OR ( )操作符通过组合两个安全字符串来工作。当其中一个检查为真时,复合检查通过。表达式从左到右求值,如果第一次检查通过,则不执行第二次检查。如果第一次检查不通过,则进行第二次检查。
您可以配置OR ( )操作符,使用关键字“或”或符号“ ”。

例子:

以下是客户端安全检查,用于确定用户设备上是否有文件c:\file.txt或运行putty.exe进程。

client.file(c:\\\\file.txt) EXISTS)或(client.proc(putty.exe) EXISTS)

该字符串也可以配置为

client.file (c: \ \ \ \ file.txt)存在) (client.proc (putty.exe)存在

使用NOT(!)操作符配置策略

NOT(!)或求反运算符对客户端安全字符串求反。

例子:

如果文件c:\sophos_virus_defs.dat不超过两天,则通过以下客户端安全检查:

\ ! (client.file (c: \ \ \ \ \ \ \ \ sophos \ _virus \ _defs.dat) .timestamp = = 2 (dy)