Citrix网关

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

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

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

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

如果用户设备上的安全检查失败,在后续检查通过之前不会建立新的连接(在定期检查的情况下);然而,通过现有连接的流量继续通过思杰网关隧道传输。

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

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

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

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

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

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

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

配置服务策略

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

配置服务策略

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

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

控制面板>管理工具>服务

注意:

每个服务的服务名称与其列出的名称不同。通过查看“属性”对话框检查服务的名称。

配置过程策略

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

注意:在基于windows的计算机上运行的所有进程的列表出现在流程“Windows任务管理器”页签。

配置流程策略

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

当您配置端点分析策略(认证前或认证后)来检查进程时,您可以配置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中的选择,在操作符中执行以下操作之一:
      • 如果Qualifier为空,在Operator中,选择EQUAL (= =), NOTEQUAL (!=), EXISTS或NOTEXISTS。
      • 选择“Service Pack”或“Hotfix”时,请选择操作员,并在“Value”中输入值。
  8. 点击完成然后点击关闭

如果您正在配置一个服务包,例如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 \ \ \ \软件\ \ Citrix \ \ \ \安全\ \ Client_ProductVersion访问

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

以下是一个注册表表达式,它在用户登录时查找Citrix Gateway插件注册表项:

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

注意:如果正在扫描注册表项和值,并且在Expression对话框中选择Advanced Free-Form,则表达式必须以CLIENT开头。注册

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

  • HKEY_CLASSES_ROOT
  • HKEY_CURRENT_USER
  • HKEY_LOCAL_MACHINE
  • HKEY_USERS
  • HKEY_CURRENT_CONFIG

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

  • 字符串

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

  • 双字

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

  • 扩大字符串

    不支持其他类型,如二进制和多字符串。

  • 只支持' == '比较操作符。

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

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

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

注意:

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

配置注册表策略

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

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

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

Citrix Gateway支持的布尔运算符有:

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

为了获得更高的精度,可以使用括号将字符串组合在一起。

注意:

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

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

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

你可以使用关键字“AND”或符号“&&”来配置AND(&&)操作符。

例子:

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

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) OR (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)