用例: 通过使用 ICAP 进行远程恶意软件检查来确保企业网络安全

Citrix Secure Web Gateway (SWG) 设备充当代理并截获所有客户端流量。设备使用策略来评估流量, 并将客户端请求转发到资源所在的源服务器。设备会对源服务器的响应进行解密, 并将纯文本内容转发到 ICAP 服务器以进行反恶意软件检查。ICAP 服务器将通过一条指示 “无需改写”、”错误” 或 “修改的请求” 的消息作出响应。根据 ICAP 服务器的响应, 请求的内容将转发到客户端, 或发送相应的消息。

在此用例中, 必须在 Citrix SWG 设备上执行某些常规配置、代理和 SSL 截获相关配置以及 ICAP 配置。

常规配置

配置以下实体:

  • NSIP 地址
  • 子网 IP (SNIP) 地址
  • DNS 名称服务器
  • CA 证书-密钥对用于为 SSL 截获签名服务器证书

代理服务器和 SSL 截获配置

配置以下实体:

  • 显式模式下的代理服务器, 用于截获出站 HTTP 和 HTTPS 流量。
  • SSL 配置文件, 用于定义连接的 SSL 设置, 例如密码和参数。
  • 用于定义截获流量的规则的 SSL 策略。设置为 true 可截获所有客户端请求。

有关更多详细信息,请参阅以下主题:

在下面的示例配置中, 反恶意软件检测服务www.example.com位于。

示例常规配置:

add ns ip 192.0.2.5 255.255.255.0

add ns ip 198.51.100.5 255.255.255.0 -type SNIP

add dns nameServer 203.0.113.2

add ssl certKey ns-swg-ca-certkey -cert ns_swg_ca.crt -key ns_swg_ca.key

代理服务器和 SSL 截获配置示例

add cs vserver explicitswg PROXY 192.0.2.100 80 –Authn401 ENABLED –authnVsName explicit-auth-vs

set ssl parameter -defaultProfile ENABLED

add ssl profile swg_profile -sslInterception ENABLED

bind ssl profile swg_profile -ssliCACertkey ns-swg-ca-certkey

set ssl vserver explicitswg -sslProfile swg_profile

add ssl policy ssli-pol_ssli -rule true -action INTERCEPT

bind ssl vserver explicitswg -policyName ssli-pol_ssli -priority 100 -type INTERCEPT_REQ

示例 ICAP 配置:

add service icap_svc 203.0.113.225 TCP 1344

enable ns feature contentinspection

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

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

add contentInspection policy CiPolicy -rule "HTTP.REQ.METHOD.NE("CONNECT")" -action CiRemoteAction

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

配置 SNIP 地址和 DNS 名称服务器

  1. 在 Web 浏览器中,键入 NSIP 地址。例如 http://192.0.2.5

  2. User Name(用户名)和 Password(密码)中,键入管理员凭据。此时将显示以下屏幕。如果未显示以下屏幕, 请跳至 proxy settings (代理设置) 部分。

    本地化后的图片

  3. 单击内部子网 IP 地址部分,并输入 IP 地址。

    本地化后的图片

  4. 单击完成

  5. 主机名、DNS IP 地址和时区部分中单击,并为这些字段输入值。

    本地化后的图片

  6. 单击Done (完成), 然后单击Continue (继续)。

配置代理设置

  1. 导航到 Secure Web Gateway > Secure Web Gateway 向导

  2. 单击 “入门” (入门), 然后单击Continue (继续)。

  3. Proxy Settings ( 代理设置) 对话框中, 输入显式代理服务器的名称。

  4. 捕获模式中,选择显式

  5. 输入 IP 地址和端口号。

    本地化后的图片

  6. 单击 Continue(继续)。

配置 SSL 截获设置

  1. 选择启用 SSL 拦截。

    本地化后的图片

  2. SSL profile (SSL 配置文件) 中, 选择现有配置文件, 或单击 + ‘ 以添加新的前端 SSL 配置文件。在此配置文件中启用 SSL 会话拦截。如果选择现有配置文件, 请跳过下一个步骤。

    本地化后的图片

  3. 单击OK (确定), 然后单击Done (完成)。

  4. SELECT SSL 截获 CA 证书-密钥对中, 选择现有证书或单击 +, 以安装用于 SSL 截获的 CA 证书-密钥对。如果选择现有证书, 请跳过下一步。

    本地化后的图片

  5. 单击Install (安装), 然后单击Close (关闭)。

  6. 添加一个用于截获所有流量的策略。单击 Bind(绑定)。单击添加添加新策略或选择现有策略。如果选择现有策略, 请单击Insert (插入), 并跳过下面的三个步骤。

    本地化后的图片

  7. 输入策略的名称, 然后选择 “高级“。在 Expression editor (表达式编辑器) 中, 输入 true。

  8. 对于操作, 请选择 “截获“。

    本地化后的图片

  9. 单击创建

  10. 单击Continue (继续) 四次, 然后单击Done (完成)。

配置 ICAP 设置

  1. 导航到负载平衡> Services, 然后单击添加

    本地化后的图片

  2. 键入名称和 IP 地址。在Protocol (协议) 中, 选择TCP。在Port (端口) 中, 键入1344。单击确定

    本地化后的图片

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

    本地化后的图片

    再次单击OK (确定)。

    本地化后的图片

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

    本地化后的图片

  5. Choose Policy (选择策略) 中, 选择内容检查。单击 Continue(继续)。

    本地化后的图片

  6. Select Policy (选择策略) 中, 单击 + 号 (+) 以添加策略。

    本地化后的图片

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

    本地化后的图片

  8. 键入操作的名称。在Server Name (服务器名称) 中, 键入之前创建的 TCP 服务的名称。在ICAP profile (ICAP 配置文件) 中, 单击 “+” 符号以添加 ICAP 配置文件。

    本地化后的图片

  9. 键入配置文件名称 (URI)。在Mode (模式) 中, 选择REQMOD

    本地化后的图片

  10. 单击创建

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

  13. 单击 Bind(绑定)。

    本地化后的图片

  14. 如果系统提示您启用内容检查功能, 请选择Yes (是)。

    本地化后的图片

  15. 单击完成

    本地化后的图片

在 RESPMOD 中 Citrix SWG 设备与 ICAP 服务器之间的示例 ICAP 事务

从 Citrix SWG 设备向 ICAP 服务器发出请求

RESPMOD icap://10.106.137.15:1344/resp ICAP/1.0

Host: 10.106.137.15

Connection: Keep-Alive

Encapsulated: res-hdr=0, res-body=282

HTTP/1.1 200 OK

Date: Fri, 01 Dec 2017 11:55:18 GMT

Server: Apache/2.2.21 (Fedora)

Last-Modified: Fri, 01 Dec 2017 11:16:16 GMT

ETag: "20169-45-55f457f42aee4"

Accept-Ranges: bytes

Content-Length: 69

Keep-Alive: timeout=15, max=100

Content-Type: text/plain; charset=UTF-8

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

从 ICAP 服务器向 Citrix SWG 设备发出响应

ICAP/1.0 200 OK

Connection: keep-alive

Date: Fri, 01 Dec, 2017 11:40:42 GMT

Encapsulated: res-hdr=0, res-body=224

Server: IWSVA 6.5-SP1_Build_Linux_1080 $Date: 04/09/2015 01:19:26 AM$

ISTag: "9.8-13.815.00-3.100.1027-1.0"

X-Virus-ID: Eicar_test_file

X-Infection-Found: Type=0; Resolution=2; Threat=Eicar_test_file;

HTTP/1.1 403 Forbidden

Date: Fri, 01 Dec, 2017 11:40:42 GMT

Cache-Control: no-cache

Content-Type: text/html; charset=UTF-8

Server: IWSVA 6.5-SP1_Build_Linux_1080 $Date: 04/09/2015 01:19:26 AM$

Content-Length: 5688

<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>

…

…

</body></html>