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

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

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

常规配置

配置以下实体:

  • NSIP 地址
  • 子网 IP (SNIP) 地址
  • DNS 名称服务器
  • 用于签署服务器证书以进行 SSL 拦截的 CA 证书-密钥对

代理服务器和 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
<!--NeedCopy-->

代理服务器和 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
<!--NeedCopy-->

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
<!--NeedCopy-->

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

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

  2. 在“用户名”和“密码”中,键入管理员凭据。将显示以下屏幕。如果未显示以下屏幕,请跳到代理设置部分。

    localized image

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

    localized image

  4. 单击“完成”,然后单击“继续”。

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

    localized image

  6. 单击“完成”,然后单击“继续”。

配置代理设置

  1. 导航到“Secure Web Gateway” > “Secure Web Gateway Wizard”。

  2. 单击“开始”,然后单击“继续”。

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

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

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

    localized image

  6. 单击“继续”。

配置 SSL 拦截设置

  1. 选择“启用 SSL 拦截”。

    localized image

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

    localized image

  3. 单击“确定”,然后单击“完成”。

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

    localized image

  5. 单击“安装”,然后单击“关闭”。

  6. 添加策略以拦截所有流量。单击“绑定”。单击“添加”以添加新策略或选择现有策略。如果选择现有策略,请单击“插入”,并跳过接下来的三个步骤。

    localized image

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

  8. 对于“操作”,选择“INTERCEPT”。

    localized image

  9. 单击“创建”。

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

配置 ICAP 设置

  1. 导航到“负载平衡” > “服务”,并单击“添加”。

    localized image

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

    localized image

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

    localized image

    再次单击“确定”。

    localized image

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

    localized image

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

    localized image

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

    localized image

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

    localized image

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

    localized image

  9. 键入配置文件名称、URI。在“模式”中,选择“REQMOD”。

    localized image

  10. 单击“创建”。

    localized image

  11. 在“创建 ICAP 操作”页面中,单击“创建”。

    localized image

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

    localized image

  13. 单击“绑定”。

    localized image

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

    localized image

  15. 单击“完成”。

    localized image

Citrix SWG 设备与 ICAP 服务器之间在 RESPMOD 中的 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\*
<!--NeedCopy-->

从 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\>
<!--NeedCopy-->
用例:通过使用 ICAP 进行远程恶意软件检测来确保企业网络安全