ICAP 服务重定向
您可以通过使用互联网内容适配协议 (ICAP) 重定向服务来防止网络数据丢失。SRX 系列设备支持 ICAP 重定向功能,可将 HTTP 或 HTTPS 流量重定向到任何第三方服务器。有关更多信息,请阅读本主题。
使用 ICAP 服务重定向的数据丢失防御 (DLP)
您可以通过使用互联网内容适配协议 (ICAP) 重定向服务来防止网络数据丢失。ICAP 是一种基于 HTTP 的轻量级远程过程调用协议。ICAP 允许其客户端将基于 HTTP 的内容 (HTML) 传递到 ICAP 服务器,以便为关联的客户端请求执行病毒扫描、内容转换或内容过滤等服务。
Junos OS ICAP 支持 SRX 系列设备
SRX 系列设备支持 ICAP 重定向功能,可将 HTTP 或 HTTPS 流量重定向到任何第三方服务器。SRX 系列设备充当 SSL 代理服务器,并在安全策略下使用适当的 SSL 配置文件解密直通流量。SRX 系列设备对 HTTPS 流量进行解密,并使用 ICAP 通道将 HTTP 消息重定向到第三方本地服务器。DLP 处理后,流量将被重定向回 SRX 系列设备,并根据 ICAP 服务器的结果采取措施。如果根据策略检测到任何敏感数据,SRX 系列设备将按配置文件配置,记录、重定向或阻止数据流量。
典型的 ICAP 重定向场景中涉及以下序列:
用户通过互联网打开与网站的连接。
请求通过充当代理服务器的 SRX 系列设备。
SRX 系列设备从终端主机接收信息,封装消息并将封装的 ICAP 消息转发到第三方本地 ICAP 服务器。
ICAP 服务器接收 ICAP 请求并进行分析。
如果请求不包含任何机密信息,ICAP 服务器将其发送回代理服务器,并指示虚拟服务器将 HTTP 发送到互联网。
如果请求中包含机密信息,则可以选择根据您的要求采取措施(阻止、允许、登录)。
HTTP 吞吐量取决于 SRX 系列设备和 ICAP 通道之间的连接。
从 Junos OS 19.3R1 版开始,ICAP 重定向X-Client-IP
X-Server-IP
在 ICAP 消息中添加 、 X-Authenticated-User
和X-Authenticated-Groups
标头扩展,以提供有关封装 HTTP 消息源的信息。
ICAP 配置文件
在 SRX 系列设备上配置 ICAP 重定向服务时,必须配置 ICAP 服务器信息。此配置文件作为允许流量的应用程序服务应用于安全策略。ICAP 配置文件定义了允许 ICAP 服务器处理请求消息、响应消息、回退选项(如果超时)、连接问题、请求过多或任何其他条件的设置。
使用统一策略为第 7 层动态应用程序提供服务重定向
从 Junos OS 18.2R1 版开始,当设备配置统一策略时,SRX 系列设备支持 ICAP 服务重定向功能。
统一策略是使您能够将动态应用程序用作匹配条件的一部分的安全策略,作为现有 5 元或 6 元(5 元与用户防火墙)匹配条件的一部分,以检测应用程序随时间的更改。
在将动态应用程序作为匹配条件的统一策略中,您可以配置 ICAP 重定向配置文件和 SSL 代理配置文件,并在安全策略中为允许的流量应用这些配置文件作为应用程序服务。当流量与策略匹配时,将应用配置为应用程序服务的 ICAP 重定向服务配置文件。ICAP 服务器配置文件定义了重定向的行为和服务器规格。ICAP 服务器执行策略扫描,并将流量重定向到 SRX 系列设备,并会根据 ICAP 重定向配置文件执行指定的操作。
请注意,使用统一策略的 ICAP 重定向服务时,请注意以下行为:
在统一策略中配置 ICAP 重定向并且需要重定向的数据已到达且未确定最终策略时,ICAP 重定向服务会忽略请求。
由于 ICAP 重定向是服务链中的一项服务,因此 ICAP 重定向服务接收的数据可能与原始数据不同。ICAP 重定向发送的数据可能会影响下游服务。
ICAP 重定向服务支持的优势
防止敏感数据离开网络。
支持用于重定向的通用本地服务器池,从而改进内容的管理、安全性和控制。
HTTP 吞吐量取决于 SRX 系列设备和 SRX ICAP 之间的连接。
示例:在 SRX 设备上配置 ICAP 重定向服务
此示例说明如何为 SRX 系列设备定义 ICAP 重定向配置文件。
要求
此示例使用以下硬件和软件组件:
Junos OS 18.1R1 或更高版本的 SRX 系列设备。此配置示例针对 Junos OS 18.1R1 版进行了测试。
使用统一策略的 SRX 系列设备的 ICAP 重定向配置文件示例针对 Junos OS 18.2R1 版进行了测试。
配置此功能之前,不需要除设备初始化之外的特殊配置。
概述
在此示例中,您将配置 ICAP 重定向配置文件和 SSL 代理配置文件,并在安全策略中为允许的流量应用这些配置文件作为应用程序服务。
图 1 显示了此示例中使用的拓扑。

要使用 ICAP 启用服务重定向,必须配置 SSL 配置文件以保护与 ICAP 服务器的连接。接下来,配置安全策略来处理流量,并为允许的流量指定操作。
表 1 列出了此示例中使用的参数的详细信息。
参数 |
名字 |
描述 |
---|---|---|
配置 文件 |
icap-pf1 |
ICAP 服务器配置文件允许 ICAP 服务器处理允许的流量的请求消息、响应消息、回退选项等。此配置文件在安全策略中作为应用程序服务应用。 |
服务器名称 |
icap-svr1 icap-svr2 |
远程 ICAP 主机的计算机名称。客户端的请求被重定向到此 ICAP 服务器。 |
服务器 IP 地址 |
5.0.0.2 5.0.0.179 |
远程 ICAP 主机的 IP 地址。客户端的请求被重定向到此 ICAP 服务器。 |
SSL 代理配置文件 |
ssl-inspect-profile |
SSL 代理配置文件定义 SRX 系列设备的 SSL 行为。SSL 代理配置文件作为应用程序服务应用于安全策略。 |
SSL 配置文件 |
dlp_ssl |
充当 SSL 代理客户端的 SRX 系列设备与 SSL 服务器发起并维护 SSL 会话。通过此配置,您可以保护与 ICAP 服务器的连接。 |
安全策略 |
sp1 |
在安全策略中,应用 SSL 代理配置文件和 ICAP 重定向配置文件。到允许的流量中。 |
配置
程序
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,将命令复制并粘贴到层级的 [edit]
CLI 中,然后从配置模式进入 commit
。
set services ssl initiation profile dlp_ssl trusted-ca all set services ssl initiation profile dlp_ssl actions ignore-server-auth-failure set services ssl initiation profile dlp_ssl actions crl disable set services icap-redirect profile icap-pf1 server icap-svr1 host 5.0.0.2 set services icap-redirect profile icap-pf1 server icap-svr1 reqmod-uri echo set services icap-redirect profile icap-pf1 server icap-svr1 respmod-uri echo set services icap-redirect profile icap-pf1 server icap-svr1 sockets 64 set services icap-redirect profile icap-pf1 server icap-svr2 host 5.0.0.179 set services icap-redirect profile icap-pf1 server icap-svr2 reqmod-uri echo set services icap-redirect profile icap-pf1 server icap-svr2 respmod-uri echo set services icap-redirect profile icap-pf1 server icap-svr2 sockets 64 set services icap-redirect profile icap-pf1 server icap-svr2 tls-profile dlp_ssl set services icap-redirect profile icap-pf1 http redirect-request set services icap-redirect profile icap-pf1 http redirect-response set security policies from-zone trust to-zone untrust policy sec_policy match source-address any set security policies from-zone trust to-zone untrust policy sec_policy match destination-address any set security policies from-zone trust to-zone untrust policy sec_policy match application any set security policies from-zone trust to-zone untrust policy sec_policy then permit application-services ssl-proxy profile-name ssl-inspect-profile set security policies from-zone trust to-zone untrust policy sec_policy then permit application-services icap-redirect icap-pf1 set security policies default-policy permit-all set security zones security-zone trust host-inbound-traffic system-services all set security zones security-zone trust host-inbound-traffic protocols all set security zones security-zone trust interfaces xe-2/0/0.0 set security zones security-zone trust interfaces xe-2/0/2.0 set security zones security-zone untrust host-inbound-traffic system-services all set security zones security-zone untrust host-inbound-traffic protocols all set security zones security-zone untrust interfaces xe-2/0/1.0 set interfaces xe-2/0/0 unit 0 family inet address 192.0.2.1/24 set interfaces xe-2/0/0 unit 0 family inet6 address 2001:db8::1/64 set interfaces xe-2/0/1 unit 0 family inet address 198.51.100.1/24 set interfaces xe-2/0/1 unit 0 family inet6 address 2001:db8::2/64 set interfaces xe-2/0/2 unit 0 family inet address 198.51.100.2/24 set interfaces xe-2/0/2 unit 0 family inet6 address 2001:db8::3/64
逐步过程
以下示例要求您在配置层次结构中的各个级别上导航。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置 ICAP 重定向服务:
配置 SSL 配置文件,实现与 ICAP 服务器的安全连接。
[edit services] user@host# set ssl initiation profile dlp_ssl trusted-ca all user@host# set ssl initiation profile dlp_ssl actions ignore-server-auth-failure user@host# set ssl initiation profile dlp_ssl actions crl disable
配置第一个服务器 (icap-svr1) 的 ICAP 重定向配置文件。
[edit services] user@host# set icap-redirect profile icap-pf1 server icap-svr1 host 5.0.0.2 user@host# set icap-redirect profile icap-pf1 server icap-svr1 reqmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr1 respmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr1 sockets 64
配置第二个服务器 (icap-svr2) 的 ICAP 重定向配置文件。
[edit services] user@host# set icap-redirect profile icap-pf1 server icap-svr2 host 5.0.0.179 user@host# set icap-redirect profile icap-pf1 server icap-svr2 reqmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr2 respmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr2 sockets 64 user@host# set icap-redirect profile icap-pf1 server icap-svr2 tls-profile dlp_ssl
配置 HTTP 流量的重定向请求和重定向响应。
[edit services] user@host# set icap-redirect profile icap-pf1 http redirect-request user@host# set icap-redirect profile icap-pf1 http redirect-response
配置安全策略,将 ICAP 重定向至允许的流量应用应用程序服务。
[edit security] user@host# set policies from-zone trust to-zone untrust policy sec_policy match source-address any user@host# set policies from-zone trust to-zone untrust policy sec_policy match destination-address any user@host# set policies from-zone trust to-zone untrust policy sec_policy match application any user@host# set policies from-zone trust to-zone untrust policy sec_policy then permit application-services ssl-proxy profile-name ssl-inspect-profile user@host# set policies from-zone trust to-zone untrust policy sec_policy then permit application-services icap-redirect icap-pf1 user@host# set policies default-policy permit-all
配置接口和区域。
[edit] user@host# set interfaces xe-2/0/0 unit 0 family inet address 192.0.2.1/24 user@host# set interfaces xe-2/0/0 unit 0 family inet6 address 2001:db8::1/64 user@host# set interfaces xe-2/0/1 unit 0 family inet address 198.51.100.1/24 user@host# set interfaces xe-2/0/1 unit 0 family inet6 address 2001:db8::2/64 user@host# set interfaces xe-2/0/2 unit 0 family inet address 198.51.100.2/24 user@host# set interfaces xe-2/0/2 unit 0 family inet6 address 2001:db8::3/64 user@host# set zones security-zone trust host-inbound-traffic system-services all user@host# set zones security-zone trust host-inbound-traffic protocols all user@host# set zones security-zone trust interfaces xe-2/0/0.0 user@host# set zones security-zone trust interfaces xe-2/0/2.0 user@host# set zones security-zone untrust host-inbound-traffic system-services all user@host# set zones security-zone untrust host-inbound-traffic protocols all user@host# set zones security-zone untrust interfaces xe-2/0/1.0
结果
在配置模式下,输入 、 show services ssl
show services icap-redirect
、 show security policies
、 show security zones
和show interfaces
命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明,以便进行更正。
user@host# show services ssl
initiation {
profile dlp_ssl {
trusted-ca all;
actions {
ignore-server-auth-failure;
crl {
disable;
}
}
}
}
user@host# show services icap-redirect
profile icap-pf1 {
server icap-svr1 {
host 5.0.0.2;
reqmod-uri echo;
respmod-uri echo;
sockets 64;
}
server icap-svr2 {
host 5.0.0.179;
reqmod-uri echo;
respmod-uri echo;
sockets 10;
tls-profile dlp_ssl;
}
http {
redirect-request;
redirect-response;
}
}
user@host# show security policies
from-zone trust to-zone untrust {
policy sec_policy {
match {
source-address any;
destination-address any;
application any;
}
then {
permit {
application-services {
ssl-proxy {
profile-name ssl-inspect-profile;
}
icap-redirect icap-pf1;
}
}
}
}
}
default-policy {
permit-all;
}
user@host# show security zones
security-zone trust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
xe-2/0/0.0;
xe-2/0/2.0;
}
}
security-zone untrust {
host-inbound-traffic {
system-services {
all;
}
protocols {
all;
}
}
interfaces {
xe-2/0/1.0;
}
}
user@host# show interfaces
xe-2/0/0 {
unit 0 {
family inet {
address 192.0.2.1/24;
}
family inet6 {
address 2001:db8::1/64;
}
}
}
xe-2/0/1 {
unit 0 {
family inet {
address 198.51.100.1/24;
}
family inet6 {
address 2001:db8::2/64;
}
}
}
xe-2/0/2 {
unit 0 {
family inet {
address 198.51.100.2/24;
}
family inet6 {
address 2001:db8::3/64;
}
}
}
完成设备配置后,请从配置模式进入 commit
。
为统一策略配置 ICAP 服务重定向
逐步过程
如果配置了统一策略(受 Junos OS 18.2R1 版支持),则可以按照以下步骤操作。
以下示例要求您导航至配置层次结构中的各个级别。有关如何操作的说明,请参阅 CLI 用户指南中的在配置模式下使用 CLI 编辑器。
要配置 ICAP 重定向服务:
配置 SSL 配置文件,实现与 ICAP 服务器的安全连接。
[edit services] user@host# set ssl initiation profile dlp_ssl trusted-ca all user@host# set ssl initiation profile dlp_ssl actions ignore-server-auth-failure user@host# set ssl initiation profile dlp_ssl actions crl disable
配置第一个服务器 (icap-svr1) 的 ICAP 重定向配置文件。
[edit services] user@host# set icap-redirect profile icap-pf1 server icap-svr1 host 5.0.0.2 user@host# set icap-redirect profile icap-pf1 server icap-svr1 reqmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr1 respmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr1 sockets 64
配置第二个服务器 (icap-svr2) 的 ICAP 重定向配置文件。
[edit services] user@host# set icap-redirect profile icap-pf1 server icap-svr2 host 5.0.0.179 user@host# set icap-redirect profile icap-pf1 server icap-svr2 reqmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr2 respmod-uri echo user@host# set icap-redirect profile icap-pf1 server icap-svr2 sockets 64 user@host# set icap-redirect profile icap-pf1 server icap-svr2 tls-profile dlp_ssl
配置 HTTP 流量的重定向请求。
[edit services] user@host# set icap-redirect profile icap-pf1 http redirect-request user@host# set icap-redirect profile icap-pf1 http redirect-response
配置安全策略,将 ICAP 重定向至允许的流量应用应用程序服务。
[edit security] user@host# set policies from-zone trust to-zone untrust policy sec_policy match source-address any user@host# set policies from-zone trust to-zone untrust policy sec_policy match destination-address any user@host# set policies from-zone trust to-zone untrust policy sec_policy match application any user@host# set policies from-zone trust to-zone untrust policy sec_policy match dynamic-application junos:HTTP user@host# set policies from-zone trust to-zone untrust policy sec_policy then permit application-services ssl-proxy profile-name ssl-inspect-profile user@host# set policies from-zone trust to-zone untrust policy sec_policy then permit application-services icap-redirect icap-pf1 user@host# set policies default-policy permit-all
验证
验证 ICAP 重定向配置
目的
验证设备上是否已配置 ICAP 重定向服务。
行动
在操作模式下,输入 show services icap-redirect status
和 show services icap-redirect statistic
命令。
user@host> show services icap-redirect status ICAP Status : Spu-1 Profile: icap-pf1 Server: icap-svr1 : UP ICAP Status : Spu-1 Profile: icap-pf1 Server: icap-svr2 : UP ICAP Status : Spu-2 Profile: icap-pf1 Server: icap-svr1 : UP ICAP Status : Spu-2 Profile: icap-pf1 Server: icap-svr2 : UP ICAP Status : Spu-3 Profile: icap-pf1 Server: icap-svr1 : UP ICAP Status : Spu-3 Profile: icap-pf1 Server: icap-svr2 : UP user@host> show services icap-redirect statistic ICAP Redirect statistic: Message Redirected : 2 Message REQMOD Redirected : 1 Message RESPMOD Redirected : 1 Message Received : 2 Message REQMOD Received : 1 Message RESPMOD Received : 1 Fallback: permit log-permit reject Timeout 0 0 0 Connectivity 0 0 0 Default 0 0 0
意义
状态 Up
表示 ICAP 重定向服务已启用。字段 Message Redirected
和 Message Received
字段显示通过 ICAP 通道传递的 HTTP 请求数。
X-Client-IP
X-Server-IP
在 ICAP 消息中添加 、
X-Authenticated-User
和
X-Authenticated-Groups
标头扩展,以提供有关封装 HTTP 消息源的信息。