Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SSL 代理的统一策略

使用 SSL 代理的应用程序安全服务

通过实施 SSL 代理,AppID 可以识别在 SSL 中加密的应用程序。SSL 代理可在常规防火墙策略规则中作为应用程序服务启用。入侵检测和防御 (IDP)、应用程序防火墙 (AppFW)、应用程序跟踪 (AppTrack)、基于策略的高级路由 (APBR) 服务、UTM、SKY ATP 和安全智能 (SecIntel) 可以使用 SSL 代理中的解密内容。

要确定某个功能是否受特定平台或 Junos OS 版本支持,请参阅 功能探索器

在 SSL 有效负载上,IDP 可以检测攻击和异常:例如,HTTPS 上的 HTTP 块长度溢出。在 Facebook 等加密应用程序上,AppFW 可以实施策略,而 AppTrack(在不同区域之间配置时)可以基于动态应用程序报告日志记录问题。

注意:

如果未配置任何服务(AppFW、IDP 或 AppTrack),则即使将 SSL 代理连接到防火墙策略,也会绕过 SSL 代理服务。

注意:

如果为该会话启用了 SSL 代理,IDP 模块将不会对会话执行 SSL 检查。也就是说,如果会话上同时启用了 SSL 检测和 SSL 代理,SSL 代理将始终处于优先地位。

利用动态应用程序识别

SSL 代理使用应用程序识别服务动态检测特定会话是否加密。只有当会话进行 SSL 加密时,SSL 代理才被允许。以下规则适用于会话:

  • 会话在应用程序系统缓存中标记 Encrypted=Yes 。如果会话被标记 Encrypted=Yes,则表示该会话的应用程序识别中的最后匹配项为 SSL 加密,而 SSL 代理将过渡到可以启动代理功能的状态。

  • 会话在应用程序系统缓存中标记 Encrypted=No 。如果在应用程序系统缓存中发现非 SSL 条目,则表示该会话的应用程序标识中的最后匹配项为非 SSL,而 SSL 代理会忽略会话。

  • 应用程序系统缓存中未找到条目。这可能发生在第一个会话上,或者当应用程序系统缓存已清理干净或已过期时。在这种情况下,SSL 代理不能等待最后一场比赛(需要两个方向的流量)。在 SSL 代理中,只有当 SSL 代理发起 SSL 握手时,反向流量才会发生。最初,对于此类情景,SSL 代理尝试利用应用程序识别带来的预匹配或积极匹配结果,如果结果表明 SSL,SSL 代理将进行握手。

  • 由于资源限制和其他错误,应用程序识别失败。只要没有应用程序识别的结果,SSL 代理将承担静态端口绑定,并尝试在会话上发起 SSL 握手。这将在实际 SSL 会话中取得成功,但将导致非 SSL 会话的会话被丢弃。

对统一策略的 SSL 代理支持

从 Junos OS 版本 18.2R1 开始,SRX 系列设备支持统一策略,在传统安全策略中允许细粒度控制和实施动态第 7 层应用程序。

统一策略是一种安全策略,允许您将动态应用程序用作匹配条件,作为现有 5 元或 6 元(带用户防火墙的 5 元)匹配条件的一部分,以检测应用程序随时间推移的变化。

使用统一策略配置设备时,将支持 SSL 代理功能。作为此增强功能的一部分,您可以配置默认 SSL 代理配置文件。

在识别动态应用程序之前发生的初始策略查找阶段中,如果潜在策略列表中包含不同的 SSL 代理配置文件存在多个策略,SRX 系列设备将应用默认 SSL 代理配置文件,直至出现更显式匹配。

建议创建默认 SSL 代理配置文件。如果没有默认 SSL 代理配置文件,会话将在策略冲突时丢弃。

您可以在层次结构级别下 [edit services ssl proxy] 配置 SSL 代理配置文件,然后将其应用到层次结构级别下的 [edit security ngfw] 默认 SSL 代理配置文件。此配置不会影响现有 SSL 服务配置。

SSL 转发和反向代理均支持配置默认 SSL 代理配置文件。

了解 SSL 代理默认配置文件的工作原理

表 1 汇总了统一策略中的默认 SSL 代理配置文件行为。

表 1:统一策略中的 SSL 代理配置文件使用情况

应用程序识别状态

SSL 代理配置文件使用情况

行动

无安全策略冲突

当流量与安全策略匹配时,将应用 SSL 代理配置文件。

应用 SSL 代理配置文件。

安全策略冲突(冲突策略具有不同的 SSL 代理配置文件)

默认 SSL 代理配置文件未配置或未找到。

会话将终止,因为默认 SSL 代理配置文件未配置。

默认 SSL 代理配置文件已配置。

默认应用 SSL 代理配置文件。

最终应用程序已确定

匹配安全策略具有与默认 SSL 代理配置文件相同的 SSL 代理配置文件。

默认应用 SSL 代理配置文件。

匹配安全策略没有 SSL 代理配置文件。

默认应用 SSL 代理配置文件。

匹配安全策略具有与已应用的默认 SSL 代理配置文件不同的 SSL 代理配置文件。

已应用的默认 SSL 代理配置文件将继续按应用状态保留。

注意:

安全策略可以同时配置 SSL 反向代理配置文件或 SSL 转发代理配置文件。

如果安全策略具有 SSL 转发代理配置文件,而另一个安全策略具有 SSL 反向代理配置文件,在这种情况下,将考虑一个默认配置文件 — 从 SSL 反向代理配置文件或 SSL 转发代理配置文件。

谨慎:

我们建议创建默认 SSL 代理配置文件,因为在没有默认 SSL 代理配置文件时,会话会在发生策略冲突时被丢弃。系统日志消息将生成以记录事件。

提示:

系统日志消息的示例:

不同场景中的默认 SSL 代理配置文件

无策略冲突 — 所有策略都有相同的 SSL 代理配置文件

所有匹配策略都有与 表 2 所示相同的 SSL 代理配置文件。

表 2:无策略冲突 — 所有策略都有相同的 SSL 代理配置文件

安全策略

源区段

源 IP 地址

目标区段

目标 IP 地址

端口号

协议

动态应用程序

服务

默认 SSL 代理配置文件

策略-P1

S1

任何

D1

任何

任何

任何

Facebook

SSL 代理

SSL-1

策略-P2

S1

任何

D1

任何

任何

任何

谷歌

SSL 代理

SSL-1

在这种情况下,Policy-P1 和 Policy-P2 都具有相同的 SSL 代理配置文件 (SSL-1)。由于没有冲突,因此应用了配置文件 SSL-1。

如果已配置默认 SSL 代理配置文件 (SSL-2),则不应用。因为策略中没有冲突(策略-P1 和策略-P2)。

无策略冲突 — 所有策略都有相同的 SSL 代理配置文件,最终策略没有 SSL 配置文件

策略-P1 和策略-P2 具有相同的 SSL 代理配置文件,而 Policy-3 没有 像表 3 中所示的 SSL 配置文件。

表 3:无策略冲突 — 所有策略都有相同的 SSL 代理配置文件,最终策略未配置 SSL 配置文件

安全策略

源区段

源 IP 地址

目标区段

目标 IP 地址

端口号

协议

动态应用程序

服务

默认 SSL 代理配置文件

策略-P1

S1

任何

D1

任何

任何

任何

Facebook

SSL 代理

SSL-1

策略-P3

S1

50.1.1.1

D1

任何

任何

任何

Youtube

SSL 代理

SSL-1

策略-P2

S1

任何

D1

任何

任何

任何

谷歌

其他

没有

在这种情况下,Policy-P1 和 Policy-P2 都具有相同的 SSL 代理配置文件 (SSL-1)。由于没有冲突,因此配置文件 SSL-1 会在最后策略匹配之前应用。

确定最终应用程序时,将应用与最终应用程序(即策略-P3)相匹配的安全策略。由于策略-P3 没有 SSL 代理配置文件,因此已应用的配置文件 SSL-1 仍然适用。这是因为,SSL 代理配置文件已应用于流量。

策略冲突 — 未为最终策略配置 SSL 配置文件

默认 SSL 代理配置文件在潜在匹配期间应用,如 表 4 所示。最终策略“策略-P3”没有任何 SSL 代理配置文件。

表 4:策略冲突 — 未为最终策略配置 SSL 配置文件

安全策略

源区段

源 IP 地址

目标区段

目标 IP 地址

端口号

协议

动态应用程序

服务

默认 SSL 代理配置文件

策略-P1

S1

50.1.1.1

D1

任何

任何

任何

Facebook

SSL 代理

SSL-1

策略-P2

S1

50.1.1.1

D1

任何

任何

任何

谷歌

SSL 代理

SSL-2

策略-P3

S1

50.1.1.1

D1

任何

任何

任何

Youtube

其他

在此示例中,SSL 代理配置文件 SSL-1 配置为默认 SSL 代理配置文件。在策略-P1 和策略-P2 的策略冲突期间,将应用默认配置文件 SSL-1。

确定最终应用程序时,将应用与最终应用程序(即策略-P3)相匹配的安全策略。由于策略-P3 没有 SSL 代理配置文件,已应用的配置文件 SSL-1 继续按应用保留。这是因为,SSL 代理配置文件应用于流量。

策略冲突 – 默认 SSL 代理配置文件和用于最终策略的不同 SSL 代理配置文件

SSL 代理配置文件 SSL-1 配置为默认 SSL 代理配置文件,并且已在匹配最终策略之前应用。请参阅 表 5

表 5:策略冲突 — 默认 SSL 代理配置文件和用于最终策略的不同 SSL 代理配置文件

安全策略

源区段

源 IP 地址

目标区段

目标 IP 地址

端口号

协议

动态应用程序

服务

默认 SSL 代理配置文件

策略-P1

S1

50.1.1.1

D1

任何

任何

任何

Facebook

SSL 代理

SSL-1

策略-P2

S1

50.1.1.1

D1

任何

任何

任何

谷歌

SSL 代理

SSL-2

策略-P3

S1

50.1.1.1

D1

任何

任何

任何

Youtube

SSL 代理

SSL-3

确定最终应用程序时,将应用与最终应用程序(即策略-P3)相匹配的安全策略。策略-P3 的 SSL 配置文件,即 SSL-3 未应用。相反,配置并应用为默认配置文件的 SSL 代理配置文件 SSL-2 将继续保持应用状态。

不支持从已应用于流量的默认 SSL 代理配置文件切换到另一个 SSL 代理配置文件。

具有统一策略的 SSL 代理的局限性

  • 启用默认 SSL 代理配置文件时,即使最终安全策略未配置 SSL 代理,也无法禁用此配置。

  • 当默认 SSL 代理配置文件在流量上启用和应用,而最终安全策略配置的 SSL 代理配置文件与默认配置文件不同时,将不支持从默认 SSL 代理配置文件切换到安全策略中的 SSL 代理配置文件。

配置默认 SSL 代理配置文件

SSL 代理在安全策略中作为应用程序服务启用。在安全策略中,指定必须启用 SSL 代理的流量的匹配标准。接下来,指定要应用于流量的 SSL 代理配置文件。配置统一策略时,这些步骤包括定义 SSL 配置文件,然后在层次结构级别下 [edit security ngfw] 将 SSL 配置文件添加为默认配置文件,然后将其包含在所需的安全策略中。

配置 SSL 转发代理的默认配置文件

在此过程中,您将配置 SSL 转发代理配置文件,并将配置文件指定为默认配置文件。

  1. 创建 SSL 配置文件并将 CA 配置文件组连接到 SSL 代理配置文件。
  2. 在 SSL 代理配置文件中将签名证书应用为 root-ca。
  3. 将 SSL 代理配置文件定义为默认配置文件。

配置 SSL 反向代理的默认配置文件

在此过程中,您将配置 SSL 反向代理配置文件,并将配置文件指定为默认配置文件。

  1. 创建 SSL 配置文件并将 CA 配置文件组连接到 SSL 代理配置文件。
  2. 将 SSL 反向代理配置文件定义为默认配置文件。

为逻辑系统配置默认 SSL 配置文件

在此过程中,您可将 SSL 转发代理配置文件或 SSL 反向代理配置文件分配为逻辑系统配置中的默认配置文件。在这种情况下,一个配置文件可以是来自 SSL 转发代理或 SSL 反向代理的默认配置文件。

  • 将 SSL 转发代理配置文件定义为默认配置文件。
  • 将 SSL 反向代理配置文件定义为默认配置文件。

示例:为统一策略配置默认 SSL 代理配置文件

此示例说明如何配置默认 SSL 代理配置文件并将其应用到统一策略中。

配置

逐步过程

要配置默认 SSL 代理配置文件并将其应用到统一策略中:

  1. 创建 SSL 配置文件并将 CA 配置文件组连接到 SSL 代理配置文件。

  2. 在 SSL 代理配置文件中将签名证书应用为 root-ca。

  3. 将 SSL 代理配置文件定义为默认配置文件。

  4. 创建统一策略并将动态应用程序指定为匹配标准。

  5. 将 SSL 代理配置文件应用于安全策略中允许的流量。

要求

此示例使用以下硬件和软件组件:

  • 带有 Junos OS 版本 18.2R1 或更高版本的 SRX 系列设备。此配置示例对 Junos OS 版本 18.2R1 进行了测试。

配置此功能之前,无需设备初始化以外的特殊配置。

概述

在此示例中,您可通过指定 root CA 证书来配置 SSL 转发代理配置文件。接下来,将配置文件配置为默认 SSL 代理配置文件。现在,您可以创建统一策略,并在允许的流量上调用 SSL 代理作为应用程序服务。

验证

验证 SSL 代理配置

目的

显示 SSL 代理统计信息,确认配置是否正常工作。

行动

在操作模式下,输入 show services ssl proxy statistics 命令。

意义

命令输出显示以下信息:

  • 有关与 SSL 代理匹配的会话的详细信息。

  • 有关默认 SSL 代理配置文件的详细信息,例如应用默认配置文件的会话以及因缺少默认配置文件而丢弃的会话。

SSL 代理配置文件基于 SNI 的动态应用程序信息

从 Junos OS 20.4R1 版开始,我们利用服务器名称指示 (SNI) TLS 扩展来识别动态应用程序,从而增强了 SSL 代理配置文件选择机制。

SSL 代理模块解析 SSL 配置文件选择,直至在基于 SNI 的客户端 hello 消息中检测到动态应用程序。检测到动态应用程序后,SSL 代理模块会根据已识别的应用程序进行防火墙规则查找,并选择合适的 SSL 代理配置文件。

利用 SSL 代理配置文件基于 SNI 的动态应用程序信息,可以为会话选择更准确的 SSL 代理配置文件。默认情况下,SRX 系列设备上将启用基于 SSL 代理配置文件的基于 SNI 的动态应用程序信息。请参阅 show services ssl 代理计数器 以检查 SSL 代理的计数器。