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

Citrix ADC 设备充当代理并拦截所有客户端流量。设备使用策略评估流量并将客户端请求转发到资源所在的源服务器。设备解密来自源服务器的响应,并将纯文本内容转发到 ICAP 服务器进行反恶意软件检查。ICAP 服务器响应时会显示一条消息,指示“无需进行适应”、错误或修改的请求。根据来自 ICAP 服务器的响应,请求的内容将转发到客户端,或发送适当的消息。

对于此用例,必须在 Citrix ADC 设备上执行某些常规配置、代理和 SSL 拦截相关的配置以及 ICAP 配置。

一般配置

配置以下实体:

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

代理服务器和 SSL 截获配置

配置以下实体:

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

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

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

常规配置示例

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

会计师协会配置示例:

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

配置代理设置

  1. 导航到 安全 > SSL 转发代理 > SSL 转发代理向导

  2. 点击 开始 ,然后点击 继续

  3. 在“代理设置”对话框中,输入显式代理服务器的名称。

  4. 对于 捕获模式, 选择 式。

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

    本地化后的图片

  6. 单击继续

配置 SSL 拦截设置

  1. 选择 启用 SSL 拦截

    本地化后的图片

  2. SSL 配置文件中,选择现有配置文件或单击“+”添加新的前端 SSL 配置文件。在此配置文件 **中启用 **SSL 会话拦截。如果您选择现有配置文件,请跳过下一步。

    本地化后的图片

  3. 单击 确定,然后单击 完成

  4. 在“选择 SSL 拦截 CA 证书-密钥对”中,选择现有证书或单击“+”以安装 CA 证书-密钥对以进行 SSL 拦截。如果选择现有证书,请跳过下一步。

    本地化后的图片

  5. 单击 安装 ,然后单击 关闭

  6. 添加用于拦截所有流量的策略。单击 Bind(绑定)。单击“ 加”以添加新策略或选择现有策略。如果选择现有策略,请单击“插入”,然后跳过后续三个步骤。

    本地化后的图片

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

  8. 对于 作,请选择 拦截

    本地化后的图片

  9. 单击创建

  10. 单击 继续 四次,然后单击 完成

配置会计师协会设置

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

    本地化后的图片

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

    本地化后的图片

  3. 导航到 SSL 转发代理 > 代理虚拟服务器 。添加代理虚拟服务器或选择虚拟服务器,然后单击“编辑”。输入详细信息后,点击 确定

    本地化后的图片

    再次点 击确定

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

  10. 单击创建

    本地化后的图片

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

    本地化后的图片

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

    本地化后的图片

  13. 单击 Bind(绑定)。

    本地化后的图片

  14. 如果提示启用内容检查功能,请选择

    本地化后的图片

  15. 单击 完成

    本地化后的图片

在 RESPMOD 中 Citrix ADC 设备和 ICAP 服务器之间的会计师事务示例

从 Citrix ADC 设备向 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[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

ICAP 服务器对 Citrix ADC 设备的响应:

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>