使用 ICAP 进行远程内容检查

互联网内容适应协议 (ICAP) 是一种简单、轻量级的开放协议。它通常用于在代理和提供反恶意软件支持和数据泄漏防护服务的设备之间传输 HTTP 消息。会计师协会为内容调整创建了一个标准界面,以便在内容分发和提供增值服务方面具有更大的灵活性。ICAP 客户端将 HTTP 请求和响应转发到 ICAP 服务器进行处理。ICAP 服务器对请求执行一些转换,并将响应发回 ICAP 客户端,并对请求或响应采取适当的操作。

在 Citrix Secure Web Gateway 设备上使用 ICAP

注意

内容检查功能需要 SWG Edition 许可证。

Citrix Secure Web Gateway (SWG) 设备充当 ICAP 客户端,并使用策略与 ICAP 服务器进行交互。该设备与专门从事反恶意软件和数据泄漏防护 (DLP) 等功能的第三方 ICAP 服务器进行通信。在 SWG 设备上使用 ICAP 时,也会扫描加密的文件。安全供应商之前绕过了这些文件。设备会执行 SSL 截获,对客户端流量进行解密,然后将其发送到 ICAP 服务器。ICAP 服务器会检查病毒、恶意软件或间谍软件检测、数据泄漏检查或任何其他内容适应服务。设备充当代理,解密源服务器的响应,然后将其以纯文本形式发送到 ICAP 服务器进行检查。配置策略以选择发送到 ICAP 服务器的流量。

请求模式流程的工作方式如下

本地化后的图片

(1) Citrix SWG 设备拦截来自客户端的请求。(2) 设备根据设备上配置的策略将这些请求转发到 ICAP 服务器。(3) ICAP 服务器响应消息,指示 “无需适应”、错误或已修改的请求。设备要么 (4) 将内容转发到客户端请求的源服务器,或者 (5) 向客户端返回适当的消息。

响应模式流程的工作原理如下

本地化后的图片

(1) 源服务器响应 Citrix SWG 设备。(2) 设备根据设备上配置的策略将响应转发到 ICAP 服务器。(3) ICAP 服务器会以消息响应 “无需适应”、“错误” 或已修改的请求。(4) 取决于来自 ICAP 服务器的响应,设备要么将请求的内容转发给客户端,或者发送适当的消息。

在 Citrix Secure Web Gateway 设备上配置 ICAP

以下步骤说明如何在 Citrix SWG 设备上配置 ICAP。

  1. 启用内容检查功能。
  2. 配置代理服务器。
  3. 配置代表 ICAP 服务器的 TCP 服务。要在 SWG 设备和 ICAP 服务之间建立安全连接,请将服务类型指定为 SSL_TCP。有关 secure ICAP 的详细信息, 请参阅本页面后面的“保护 ICAP 安全”部分。
  4. 或者,添加负载平衡虚拟服务器以对 ICAP 服务器进行负载平衡,然后将 ICAP 服务绑定到此虚拟服务器。
  5. 配置自定义 ICAP 配置文件。配置文件必须包含 ICAP 服务的 URI 或服务路径以及 ICAP 模式(请求或响应)。没有类似于 HTTP 和 TCP 默认配置文件的 ICAP 默认配置文件。
  6. 配置内容检查操作并指定 ICAP 配置文件名称。在服务器名称参数中指定负载平衡虚拟服务器名称或 TCP/SSL_TCP 服务名称。
  7. 配置内容检查策略以评估客户端流量并将其绑定到代理服务器。在此策略中指定内容检查操作。

使用 CLI 配置 ICAP

配置以下实体:

  1. 启用功能。

    enable ns feature contentInspection

  2. 配置代理服务器。

    add cs vserver <name> PROXY <IPAddress>

    示例

    add cs vserver explicitswg PROXY 192.0.2.100 80

  3. 配置 TCP 服务以表示 ICAP 服务器。

    add service <name> <IP> <serviceType> <port>

    将服务类型指定为 SSL_TCP,以便与 ICAP 服务器建立安全连接。

    示例

    add service icap_svc1 203.0.113.100 TCP 1344

    add service icap_svc 203.0.113.200 SSL_TCP 11344

  4. 配置负载平衡虚拟服务器。

    add lb vserver <name> <serviceType> <IPAddress> <port>

    示例

    add lbvserver lbicap TCP 0.0.0.0 0

    将 ICAP 服务绑定到负载平衡虚拟服务器。

    bind lb vserver <name> <serviceName>

    示例

    bind lb vserver lbicap icap_svc

  5. 添加自定义 ICAP 配置文件。

    add ns icapProfile <name> -uri <string> -Mode ( REQMOD | RESPMOD )

    示例

    add icapprofile icapprofile1 -uri /example.com -Mode REQMOD

    参数

    名称

    ICAP 配置文件的名称。必须以 ASCII 字母数字或下划线 (_) 字符开头,并且必须仅包含 ASCII 字母数字、下划线、哈希 (#)、句点 (.)、空格、 冒号 (:)、at 符号 (@)、等号 (=) 和连字符 (-)。

    CLI 用户:如果名称包含一个或多个空格,请将名称用双引号或单引号括起来(例如,“我的 icap 配置文件” 或 “我的 icap 配置文件”)。

    最大长度:127

    uri

    表示 ICAP 服务路径的 URI。

    最大长度:511 个字符

    模式

    ICAP 模式。可用设置功能如下:

    • REQMOD:在请求修改模式下,ICAP 客户端将 HTTP 请求转发给 ICAP 服务器。

    • RESPMOD:在响应修改模式下,ICAP 服务器将 HTTP 响应从源服务器转发到 ICAP 服务器。

      可能的值:REQMOD、RESPMOD

  6. 配置策略返回 true 时要执行的操作。

    add contentInspection action <name> -type ICAP -serverName <string> -icapProfileName <string>

    示例

    add contentInspection action CiRemoteAction -type ICAP -serverName lbicap -icapProfileName icapprofile1

  7. 配置策略以评估流量。

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

    示例

    add contentInspection policy CiPolicy -rule true -action CiRemoteAction

  8. 将策略绑定到代理服务器。

    bind cs vserver <vServerName> -policyName <string> -priority <positive_integer> -type [REQUEST | RESPONSE]

    示例

    bind cs vserver explicitswg -policyName CiPolicy -priority 200 -type REQUEST

使用 GUI 配置 ICAP

执行以下步骤:

  1. 导航至“负载平衡”>“服务”,然后单击“添加”。

    本地化后的图片

  2. 键入名称和 IP 地址。在协 中,选择 TCP。在 港口,键入 1344。单击确定

    要与 ICAP 服务器的安全连接,请选择 TCP_SSL 协议并将端口指定为 11344。

    本地化后的图片

  3. 导航到 Secure Web Gateway > Proxy Virtual Servers(代理虚拟服务器)。添加代理虚拟服务器或选择虚拟服务器,然后单击“编辑”。输入详细信息后,点击 确定

    本地化后的图片

    再次点 击确定

    本地化后的图片

  4. 在“高级设置”中,单击“策略”。

    本地化后的图片

  5. 在“选择策略”中,选择“内容检查”。单击继续

    本地化后的图片

  6. 选择策略中,单击“+”符号以添加策略。

    本地化后的图片

  7. 输入策略的名称。在 作中,单击“+”符号以添加操作。

    本地化后的图片

  8. 键入操作的名称。在“服务 器名称”中,键入之前创建的 TCP 服务的名称。在会 计师协会配置文件中,单击“+”符号以添加会计师协会配置文件。

    本地化后的图片

  9. 键入配置文件名称 URI。在 模式下,选择 REQMOD

    本地化后的图片

  10. 单击创建

    本地化后的图片

  11. 创建 ICAP 操作页面上,单击创建

    本地化后的图片

  12. 创建 ICAP 策略页面的表达式编辑器中,输入 true。然后,单击创建

    本地化后的图片

  13. 单击 Bind(绑定)。

    本地化后的图片

  14. 当系统提示启用内容检查功能时,选择

    本地化后的图片

  15. 单击完成

    本地化后的图片

安全的 ICAP

您可以在 SWG 设备和 ICAP 服务器之间建立安全连接。为此,请创建 SSL_TCP 服务而不是 TCP 服务。配置 SSL_TCP 类型的负载平衡虚拟服务器。将 ICAP 服务绑定到负载平衡虚拟服务器。

使用 CLI 配置安全 ICAP

在命令提示符下,键入:

  • add service <name> <IP> SSL_TCP <port>
  • add lb vserver <name> <serviceType> <IPAddress> <port>
  • bind lb vserver <name> <serviceName>

示例

add service icap_svc 203.0.113.100 SSL_TCP 1344

add lbvserver lbicap SSL_TCP 0.0.0.0 0

bind lb vserver lbicap icap_svc
<!--NeedCopy-->

使用 GUI 配置安全 ICAP

  1. 导航到 负载平衡 > 虚拟服务器,然后单击 添加
  2. 指定虚拟服务器的名称、IP 地址和端口。将协议指定为 SSL_TCP。
  3. 单击确定
  4. 负载平衡虚拟服务器服务绑定 部分内单击以添加 ICAP 服务。
  5. 单击 “+” 以添加服务。
  6. 指定服务名称、IP 地址、协议 (SSL_TCP) 和端口(安全 ICAP 的默认端口为 11344)。
  7. 单击确定
  8. 单击完成
  9. 单击 Bind(绑定)。
  10. 单击 继续 两次。
  11. 单击完成

限制

不支持以下功能:

  • ICAP 响应缓存。
  • 插入 X-auth-User-URI 标头。
  • 在 RESPMOD 的 ICAP 请求中插入 HTTP 请求。
使用 ICAP 进行远程内容检查