流量解密概述

以下主题概述了传输层安全/安全套接字层 (TLS/SSL) 检查,讨论了 TLS/SSL 检查配置的前提条件,并详细介绍了部署场景。



由于 TLS 和 SSL 通常可以互换使用,因此我们使用 TLS/SSL 来指示所讨论的任一协议。IETF 已弃用 SSL 协议以支持更安全的 TLS 协议,因此您通常可将 TLS/SSL 解读为仅指代 TLS。

有关 SSL 和 TLS 协议的更多信息,请参阅 SSL 与 TLS - 差别何在?等资源。


流量解密已说明

互联网上的大多数流量都是加密的,并且在大多数情况下您都不希望解密;即使您不这样做,您仍然可以收集有关它的一些信息,并在必要时从网络中阻止它。

您的选择包括:

  • 解密流量并对其进行完整的深度检查:

    • 高级恶意软件防护

    • 安全智能

    • 威胁情报导向器

    • 应用检测器

    • URL 和类别过滤

  • 保持流量加密并设置访问控制和 解密策略 以查找并可能阻止:

    • 旧协议版本(例如安全套接字层)

    • 不安全的密码套件

    • 具有高风险和低业务关联性的应用

    • 不可信颁发者的可分辨名称

访问控制策略

访问控制策略是一种可调用子策略和其他配置(包括 )的主配置。如果将 与访问控制相关联,则系统会在使用访问控制规则评估加密会话前使用该 解密策略对其进行处理。如果没有配置 TLS/SSL或设备不支持,则访问控制规则将处理所有加密流量。

当您的 TLS/SSL配置允许加密流量通过时,访问控制规则也会对其进行处理。但是,某些访问控制规则条件需要未加密流量,因此,已加密流量可能匹配的规则更少。此外,默认情况下,系统禁用已加密负载的入侵和文件检查。当已加密连接与已配置入侵和文件检查的访问控制规则相匹配时,这有助于减少误报和提高性能。

在已解密的协议中

在我们解密的协议中:

  • TLS 版本 1.3 以下(如果已启用 Snort 3)

  • 基于 HTTPS 的 DNS

  • 基于 TLS 的 DNS (RFC 7858)

  • FTPS、SMTPS、IMAPS、POP3S

备注

解密规则 需要可能会影响性能的处理开销。在决定解密流量之前,请参阅何时解密流量以及何时不解密

只要托管设备启用了 Snort 3,系统就支持解密 TLS 1.3 流量。您可在 解密策略 的高级选项中启用 TLS 1.3 解密;有关详细信息,请参阅解密策略 高级选项

Firepower 系统不支持相互身份验证;也就是说,不能将客户端证书上传到 Cisco Secure Firewall Management Center 并将其用于解密 - 重新签名 (Decrypt - Resign)解密 - 已知密钥 (Decrypt - Known Key) 解密规则 操作。有关详细信息,请参阅解密和重新签名(传出流量)已知密钥解密(传入流量)

如果使用 FlexConfig 设置 TCP 最大分段大小 (MSS) 的值,则观察到的 MSS 可能会小于您的设置。有关详细信息,请参阅 关于 TCP MSS

TLS/SSL 握手处理

在本文档中,术语 TLS/SSL 握手表示启动 SSL 协议及其后续协议 TLS 中的加密会话的双向握手。

在内联部署中,Firepower 系统处理可能会修改 ClientHello 消息并用作会话的 TCP 代理服务器的 TLS/SSL 握手。

下图显示了内联部署。

威胁防御托管设备位于客户端和服务器之间。在配置后,它可以拦截、解密、加密和分析以及路由流量。

客户端确立与服务器的 TCP 连接后(成功完成 TCP 三向握手后),托管设备会监控 TCP 会话的任何启动加密会话的尝试。TLS/SSL 握手通过使用交换客户端与服务器之间的专门数据包来确立加密会话。在 SSL 和 TLS 协议中,这些专门数据包称为握手消息。握手消息传达客户端和服务器都支持的加密属性:

  • ClientHello - 客户端为每个加密属性指定多个受支持的值。

  • ServerHello - 服务器为每个加密属性指定一个受支持的值,而 ServerHello 响应会确定安全会话期间系统使用的加密方法。

TLS/SSL 握手完成后,托管设备缓存加密会话数据,这允许在不需要完全握手的情况下进行会话恢复。托管设备还缓存服务器证书数据,这允许在使用相同证书的后续会话中更快速地处理握手。

ClientHello 消息的处理

客户端将 ClientHello 消息发送到一台服务器,如果可以建立安全连接,则该服务器将作为数据包的目标。客户端发送信息以启动 TLS/SSL 握手,或者用于响应目标服务器的 ServerHello 消息。

概述

下图显示了一个示例。另请参阅 RFC 8446,第 4 节 。您还可以在 cloudflare.com 上查阅诸如 TLS 握手中发生的情况?等资源。

客户端会使用 ClientHello 消息来发起安全协商。当密码套件达成一致时,服务器就会做出响应并完成协商。

该过程可汇总如下:

  1. ClientHello 启动该过程。

    ClientHello 消息包含服务器名称指示 (SNI),其中包含服务器的完全限定域名。

  2. 当托管设备处理 ClientHello 消息并将其传输到目标服务器后,服务器会确定其是否支持客户端在该消息中指定的解密属性。如果不支持这些属性,服务器将向客户端发送握手失败警报。如果支持这些属性,服务器将发送 ServerHello 信息。如果商定的密钥交换方法使用证书进行身份验证,则服务器证书消息会紧跟在 ServerHello 消息之后。

    服务器证书包含使用者可选名称 (SAN),可以具有完全限定的域名和 IP 地址。有关 SAN 的详细信息,请参阅可分辨名称

  3. 当托管设备收到这些消息时,会尝试将其与系统上配置的 解密规则相匹配。这些消息包含 ClientHello 消息或会话数据缓存中缺少的信息。具体而言,系统可能会匹配关于 解密规则的可分辨名称、证书状态、密码套件和版本条件的这些消息。

整个过程都会别加密。

数据交换

如果配置 TLS/SSL 解密,则当托管设备收到 ClientHello 消息时,系统会尝试将此消息与进行解密 - 重新签名 (Decrypt - Resign)解密 - 已知密钥 (Decrypt - Known Key) 操作的 解密规则 规则进行匹配。该匹配依赖于来自 ClientHello 消息的数据,以及来自缓存服务器证书数据的数据。可能的数据包括:

表 1. 解密规则 条件的数据可用性

解密规则 条件

数据所在位置

区域

ClientHello

网络

ClientHello

VLAN 标记

ClientHello

端口

ClientHello

用户

ClientHello

应用

ClientHello(服务器名称指示器扩展)

类别

ClientHello(服务器名称指示器扩展)

证书

服务器证书(可能已缓存)

可分辨名称

服务器证书(可能已缓存)

证书状态

服务器证书(可能已缓存)

密码套件

ServerHello

版本

ServerHello


重要


在具有阻止阻止并重置规则操作的规则中使用密码套件 (Cipher Suite)版本 (Version) 规则条件。请勿将密码套件版本用于“解密 - 重新签名”或“解密 - 已知密钥”规则操作。在具有其他规则操作的规则中,这些条件可能会干扰系统的 ClientHello 处理,从而导致不可预测的性能。


ClientHello 修改

如果 ClientHello 消息与解密 - 重新签名 (Decrypt-Resign) 解密 - 已知密钥 (Decrypt - Known Key) 规则匹配,则系统会按如下方式修改 ClientHello 消息:

  • (仅 TLS 1.2;TLS 1.3 不支持压缩。)压缩方法 - 删除 compression_methods 元素(其指定客户端所支持的压缩方法)。系统无法解密压缩的会话。

  • 密码套件 - 如果系统不支持密码套件,则从 cipher_suites 元素中删除它们。如果系统不支持任何指定的密码套件,则系统将传输原始的未经修改的元素。此修改会减少无法解密的流量的“未知密码套件”(Unknown Cipher Suite) 和“不受支持的密码套件”(Unsupported Cipher Suite) 类型。

  • 会话标识符 - 删除 Session Identifier 元素和 SessionTicket extension (RFC 5077, sec 3.2) 中任何与缓存会话数据不匹配的值。如果 ClientHello 值与缓存数据相匹配,则中断的会话无需客户端和服务器执行完整的 TLS/SSL 握手操作也可恢复。此修改会增加会话恢复的机会,并减少无法解密的流量的“不缓存会话”(Session Not Cached) 类型。

  • 椭圆曲线 - 如果系统不支持椭圆曲线,则从受支持的椭圆曲线扩展中删除它们。如果系统不支持任何指定的椭圆曲线,则托管设备将删除扩展,并从 cipher_suites 元素中删除任何相关的密码套件。

  • ALPN 扩展 - 删除应用层协议协商 (ALPN) 扩展中不受系统支持的任意值(例如,HTTP/2 协议)。

  • 其他扩展 - 删除下次协议协商 (NPN) 和 TLS 通道 ID 扩展。

    目前,具有解密 - 重新签名解密 - 已知密钥操作的 解密规则 在 ClientHello 协商期间在本地支持扩展主密钥 (EMS) 扩展,从而实现更安全的通信。EMS 扩展由 RFC 7627 定义。

在系统修改 ClientHello 消息后,它会确定消息是否通过访问控制评估(可能包括深度检测)。如果消息通过评估,则系统会将其传输到目标服务器。

如果 ClientHello 消息与解密 - 重新签名 (Decrypt-Resign) 解密 - 已知密钥 (Decrypt - Known Key) 规则匹配,则系统不会修改消息。然后,它会确定消息是否通过访问控制评估(可能包括深度检查)。如果消息通过检查,则系统会将其传输到目标服务器。

如果流量与监控规则条件匹配,则不会修改 ClientHello。

中间人

TLS/SSL 握手过程中,客户端和服务器之间无法再进行直接通信,因为在消息修改之后,由客户端和服务器计算的消息身份验证代码 (MAC) 不再匹配。对于所有后续的握手消息(和已建立的加密会话),托管设备将充当中间人。它创建两个 TLS/SSL 会话,一个是客户端与托管设备之间的会话,一个是托管设备与服务器之间的会话。因此,每个会话包含不同的加密会话详细信息。



系统可以解密的密码套件会频繁更新,且其无法直接对应于您可以在 解密规则 条件中使用的密码套件。有关可解密密码套件的当前列表,请联系思科 TAC。


ServerHello 和服务器证书消息处理

概述

下图显示了一个示例。另请参阅 RFC 8446,第 4 节 。您还可以在 cloudflare.com 上查阅诸如 TLS 握手中发生的情况?等资源。

客户端会使用 ClientHello 消息来发起安全协商。当密码套件达成一致时,服务器就会做出响应并完成协商。

该过程可汇总如下:

  1. ClientHello 启动该过程。

    ClientHello 消息包含服务器名称指示 (SNI),其中包含服务器的完全限定域名。

  2. 当托管设备处理 ClientHello 消息并将其传输到目标服务器后,服务器会确定其是否支持客户端在该消息中指定的解密属性。如果不支持这些属性,服务器将向客户端发送握手失败警报。如果支持这些属性,服务器将发送 ServerHello 信息。如果商定的密钥交换方法使用证书进行身份验证,则服务器证书消息会紧跟在 ServerHello 消息之后。

    服务器证书包含使用者可选名称 (SAN),可以具有完全限定的域名和 IP 地址。有关 SAN 的详细信息,请参阅可分辨名称

  3. 当托管设备收到这些消息时,会尝试将其与系统上配置的 解密规则相匹配。这些消息包含 ClientHello 消息或会话数据缓存中缺少的信息。具体而言,系统可能会匹配关于 解密规则的可分辨名称、证书状态、密码套件和版本条件的这些消息。

整个过程都会别加密。

解密规则 操作

如果消息与任何 解密规则 都不匹配,托管设备将执行 解密策略 默认操作

如果消息与属于与访问控制策略关联的 解密策略 的规则匹配,则托管设备会根据需要继续:

操作:“监控”(Monitor)
TLS/SSL 握手继续完成。托管设备会跟踪和记录已加密的流量,但不会对其进行解密。
操作:“阻止”(Block) 或“阻止并重置”(Block with reset)

托管设备会阻止 TLS/SSL 会话,并重置 TCP 连接(如已配置)。

操作:“不解密”(Do Not Decrypt)

TLS/SSL 握手继续完成。托管设备不解密 TLS/SSL 会话期间交换的应用数据。

操作:“解密 - 已知密钥”(Derypt - Known Key)

托管设备尝试将服务器证书数据与先前导入 Cisco Secure Firewall Management Center 的内部证书对象进行匹配。由于您无法生成内部证书对象,并且您必须拥有其私钥,因此假设您拥有在其上使用已知密钥解密的服务器。

如果此证书与已知证书匹配,则 TLS/SSL 握手将继续完成。托管设备使用上传的私钥解密并重新加密 TLS/SSL 会话期间交换的应用数据。

如果服务器在与客户端的初始连接和后续连接之间更改其证书,则必须在 Cisco Secure Firewall Management Center 中导入新服务器证书,以便用于将来解密连接。

操作:“解密 - 重新签名”(Decrypt - Resign)

托管设备将处理服务器证书消息并使用之前上传或生成的证书颁发机构 (CA) 证书重签服务器证书。TLS/SSL 握手继续完成。托管设备随手会使用上传的私钥解密并重新加密 TLS/SSL 会话期间交换的应用数据。



Firepower 系统不支持相互身份验证;也就是说,不能将客户端证书上传到 Cisco Secure Firewall Management Center 并将其用于解密 - 重新签名 (Decrypt - Resign)解密 - 已知密钥 (Decrypt - Known Key) 解密规则 操作。有关详细信息,请参阅解密和重新签名(传出流量)已知密钥解密(传入流量)


解密 规则和策略基础知识

本节讨论创建 解密策略 和规则时应牢记的信息。



由于 TLS 和 SSL 通常可以互换使用,因此我们使用 TLS/SSL 来指示所讨论的任一协议。IETF 已弃用 SSL 协议以支持更安全的 TLS 协议,因此您通常可将 TLS/SSL 解读为仅指代 TLS。

有关 SSL 和 TLS 协议的更多信息,请参阅 SSL 与 TLS - 差别何在?等资源。


解密案例

只能允许或阻止通过系统时加密的流量,但不能对其进行深度检查或全面的策略实施(例如入侵防御)。

所有已加密的连接:

  • 通过 解密策略 发送,以确定是否应解密或阻止它们。

    您还可以配置 解密规则 以阻止您知道不想在网络上传输的类型的加密流量,例如使用非安全 SSL 协议的流量或具有过期或无效证书的流量。

  • 如果未被阻止,无论是否解密,流量都要经过访问控制策略,以做出最终的允许或阻止决定。

只有已解密的流量才能利用系统的威胁防御和策略实施功能,例如:

  • 高级恶意软件防护

  • 安全智能

  • 威胁情报导向器

  • 应用检测器

  • URL 和类别过滤

请记住,解密并重新加密流量会增加设备的处理负载,从而会降低整体系统性能。

总结:

  • 可以通过策略允许或阻止已加密的流量;无法检查已加密的流量

  • 已解密的流量受威胁防御和策略实施的约束;可以通过策略允许或阻止已解密的流量

何时解密流量以及何时不解密

本节提供有关何时应解密流量以及何时应允许其通过加密防火墙的准则。

何时不解密流量

如果是以下情况,则不应对流量进行解密:

  • 法律所禁止;例如,某些司法管辖区禁止解密财务信息

  • 公司政策所禁止;例如,您的公司可能会禁止解密特权通信

  • 隐私法规所禁止

  • 使用证书固定(也称为TLS/SSL固定)的流量必须保持加密,以防止断开连接

(Snort 3。)对于任何符合访问控制规则的信任、阻止或阻止并重置的连接,除非流量被预先过滤,否则 解密策略 不会被绕过。加密流量会首先由 解密策略 进行评估,然后进入访问控制策略,在其中做出最终的允许或阻止决策。

加密流量可以在任何 解密规则 条件下被允许或阻止,包括但不限于:

  • 证书状态(例如,证书已过期或无效)

  • 协议(例如,非安全 SSL 协议)

  • 网络(安全区域、IP 地址、VLAN 标记等)

  • 确切的 URL 或 URL 类别

  • 端口

  • 用户组

解密规则 为此流量提供不解密操作;有关详细信息,请参阅解密规则 不解密操作



本主题末尾的相关信息链接解释了规则评估的某些方面是如何运作的。URL 和应用过滤等条件对加密流量存在限制。请确保您了解这些限制。

有关在 不解密 规则中使用 URL 过滤的详细信息,请参阅 解密规则 不解密操作


何时解密流量

系统的威胁防护和策略实施功能必须在解密所有加密流量后才能发挥作用。如果托管设备允许解密流量(取决于其内存和处理能力),则应解密法律或法规未禁止的流量。如果您必须决定哪些流量要解密,请根据网络上允许流量的风险做出决定。系统提供了一个灵活框架,它会利用规则条件(包括 URL 信誉、密码套件、协议和许多其他因素)来对流量进行分类。

解密和重新签名(传出流量)

解密 - 重新签名 (Decrypt - Resign) 解密规则 操作使系统能够充当中间人,拦截、解密以及(如果允许流量通过)检查和重新加密。解密 - 重新签名 (Decrypt - Resign) 规则操作用于传出流量;也就是说,目的服务器在受保护的网络之外。

威胁防御 设备会使用规则中指定的内部证书颁发机构 (CA) 对象来与客户端协商,并在客户端和 威胁防御 设备之间建立 TLS/SSL 隧道。同时,设备连接至目标网站,并在服务器和 威胁防御 设备之间建立 SSL 隧道。

因此,客户端将看到配置用于 解密规则 的 CA 证书,而不是来自目标服务器的证书。客户端必须信任防火墙的证书才能完成连接。威胁防御 设备随后会对客户端和目标服务器之间的流量执行双向解密/重新加密。

前提条件

要使用解密 - 重新签名 (Decrypt - Resign) 规则操作,您必须使用 CA 文件和配对的私钥文件创建内部 CA 对象。如果您还没有 CA 和私钥,则可以在系统中生成它们。

我们简化了配置解密 - 重新签名 (Decrypt - Resign) 规则的过程,方法是根据您对免于加密的流量类型(例如无法解密的应用)的选择,将不解密 (Do Not Decrypt) 规则自动添加到解密策略中。(通常情况下,这些应用使用证书锁定功能,因此解密连接会中断连接。)有关详细信息,请参阅 创建具有出站连接保护的解密策略



Firepower 系统不支持相互身份验证;也就是说,不能将客户端证书上传到 Cisco Secure Firewall Management Center 并将其用于解密 - 重新签名 (Decrypt - Resign)解密 - 已知密钥 (Decrypt - Known Key) 解密规则 操作。有关详细信息,请参阅解密和重新签名(传出流量)已知密钥解密(传入流量)


已知密钥解密(传入流量)

解密 - 已知密钥 (Decrypt - Known Key) 解密规则 操作使用服务器的私钥解密流量。解密 - 已知密钥 (Decrypt - Known Key) 规则操作用于传入流量;也就是说,目的服务器位于受保护的网络内。

使用已知密钥进行解密的主要目的是保护服务器免受外部攻击。

前提条件

要使用机密 - 已知密钥 (Decrypt - Known Key) 规则操作,您必须使用服务器的证书文件和配对的私钥文件来创建内部证书对象。



Firepower 系统不支持相互身份验证;也就是说,不能将客户端证书上传到 Cisco Secure Firewall Management Center 并将其用于解密 - 重新签名 (Decrypt - Resign)解密 - 已知密钥 (Decrypt - Known Key) 解密规则 操作。有关详细信息,请参阅解密和重新签名(传出流量)已知密钥解密(传入流量)


解密规则 组件

每个 解密规则 都有以下组件。

状态

默认情况下,规则处于启用状态。如果您禁用某规则,系统将不用它来评估网络流量并停止为该规则生成警告和错误。

解密策略 中的规则从 1 开始进行编号。系统按升序规则编号以自上而下的顺序将流量与规则相匹配。除 Monitor 规则之外,流量匹配的第一个规则是处理该流量的规则。

条件

条件指定规则处理的特定流量。条件可以按安全区域、网络或地理位置、VLAN、端口、应用、请求的 URL、用户、证书、证书使用者或颁发者、证书状态、密码套件或加密协议版本来匹配流量。使用条件取决于目标设备许可证。

操作

规则操作确定系统如何处理匹配的流量。您可以对加密的匹配流量执行监控、允许、阻止或解密操作。解密和允许的加密流量会受到进一步检查。请注意,系统对被阻止的加密流量执行检查。

日志记录

规则的日志记录设置管理系统保存其处理流量的记录。您可以对匹配规则的流量保存记录。您可以在系统阻止加密会话或允许其未经解密便通过(取决于 解密策略中的设置)时记录连接。无论系统稍后如何处理或检查流量,您都可以强制系统记录其解密的连接,以通过访问控制规则进一步检查。您可以将连接记录到Cisco Secure Firewall Management Center数据库,以及系统日志 (syslog) 或 SNMP 陷阱服务器中。

有关日志记录的详细信息,请参阅《Cisco Secure Firewall Management Center 管理指南》中的连接日志记录最佳实践


提示


正确创建 解密规则 并对其排序是一项复杂的任务。如果不认真规划您的策略,这些规则会抢占其他规则,需要额外的许可证或包含无效配置。为帮助确保系统按预期处理流量,解密策略接口具有功能强大的规则警告和错误反馈系统。

类别

有关使用 解密规则 类别(例如“应用”、“类别”和“证书状态”)的信息,请参阅 解密规则 条件

解密规则 顺序评估

解密策略 中创建 解密规则 时,您可以使用规则编辑器中的插入 (Insert) 列表来指定其位置。 解密策略 中的 解密规则 会从 1 开始编号。系统按升序规则编号以自上而下的顺序将流量与 解密规则 相匹配。

在大多数情况下,系统根据第一个 解密规则(其中所有规则的条件都与流量相匹配)处理网络流量。除了 Monitor 规则(记录流量,但不影响流量)之外,系统在流量匹配一个规则后,不再继续根据其他低优先级规则评估流量。条件可以简单也可以复杂;可以按安全区域、网络或地理位置、VLAN、端口、应用、请求的 URL、用户、证书、证书可分辨名称、证书状态、密码套件或加密协议版本来控制流量。

每个规则也具有操作,用于确定是使用访问控制监控、阻止还是检测匹配的已加密或已解密流量。请注意,系统不会进一步检查其阻止的加密流量,它会通过访问控制来检查加密流量和无法解密的流量。但是,访问控制规则条件需要未加密流量,因此,已加密流量匹配的规则更少。

使用特定条件(例如网络和 IP 地址)的规则应在使用一般条件(例如应用)的规则之前排序。如果您熟悉开放系统互联(OSI)模型,请在概念上使用类似的编号。包含第 1 层、第 2 层和第 3 层(物理、数据链路和网络)条件的规则应首先在规则中排序。稍后应在规则中对第 5 层、第 6 层和第 7 层的条件(会话,表示和应用)进行排序。有关 OSI 模型的详细信息,请参阅此 维基百科文章


提示


适当的 解密规则 顺序可减少处理网络流量所需的资源,并防止规则抢占。尽管您创建的规则对于每个组织和部署来说都是唯一的,但是排序规则时需要遵循几个基本原则,才可优化性能,同时满足您的需求。


除了按照编号排序规则之外,还可按类别对规则进行分组。默认情况下,系统提供三个类别:管理员、标准和根。您可以添加自定义类别,但是不能删除系统提供的类别或更改类别的顺序。

多规则示例

下述场景概括说明了 解密规则在内联部署中处理流量的方式。

管理员有许多选项来处理加密流量,并且根据所选的选项,流量可以通过防火墙而不接受检查,或者可以解密并重新加密流量

在这种情况中,流量评估如下:

  • 首先,Undecryptable Traffic Action 评估加密流量。对于系统无法解密的流量,系统会将其阻止而不进一步检查,或者使其通过以进行访问控制检查。不匹配的加密流量继续根据下一规则进行评估。

  • 其次,使用 解密规则 1: Monitor 评估加密流量。Monitor 规则跟踪和记录加密流量,但不对流量做出任何影响。系统继续根据其他规则匹配流量,以确定允许其通过,还是拒绝。

  • 第三,使用 解密规则 2: Do Not Decrypt 评估加密流量。匹配流量未解密;系统通过访问控制检查此流量,但不执行文件或入侵检测。不匹配的流量继续根据下一规则进行评估。

  • 第四,使用 解密规则 3: Block 评估加密流量。匹配的流量被阻止,无需进一步检测。不匹配的流量继续根据下一规则进行评估。

  • 第五,使用 解密规则 4: Decrypt - Known Key 评估加密流量。系统使用您上传的私钥对传入网络的匹配流量进行解密。然后,根据访问控制规则评估解密流量。访问控制规则以相同方式处理已解密和未加密的流量。作为此额外检查的结果,系统可以阻止流量。所有剩余流量将被重新加密,才会被传输到目标。与 解密规则 不匹配的流量会继续根据下一规则进行评估。

  • 解密规则 5: Decrypt - Resign 是最终规则。如果流量与此规则相匹配,则系统使用已上传的 CA 证书对服务器证书重新签名,然后充当中间人解密流量。然后,根据访问控制规则评估解密流量。访问控制规则以相同方式处理已解密和未加密的流量。作为此额外检查的结果,系统可以阻止流量。所有剩余流量将被重新加密,才会被传输到目标。与 SSL 规则不匹配的流量继续根据下一规则进行评估。

  • 解密策略 Default Action 会处理与任何 解密规则 不匹配的所有流量。默认操作为以下两种方式之一:阻止加密流量,且不进一步检查;不解密流量而允许传输,以进行访问控制检查。

TLS 加密加速

TLS 加密加速 加快以下操作:

  • TLS/SSL 加密和解密。

  • VPN,包括TLS/SSL和 IPsec

支持的硬件

以下硬件型号支持 TLS 加密加速

  • Cisco Secure Firewall 3100

  • Cisco Secure Firewall 4200

  • Firepower 4100/9300

    有关 TLS 加密加速Firepower 4100/9300 支持威胁防御 容器实例的信息,请参阅 FXOS 配置指南

所有虚拟设备或除前面所述设备之外的任何硬件上都支持 TLS 加密加速



有关 TLS 加密加速 和 4100/9300 的详细信息,请参阅 FXOS 配置指南


以下方不支持的功能 TLS 加密加速

TLS 加密加速支持的功能包括:

  • 启用了 威胁防御 容器实例 的托管设备。

  • 如果检测引擎配置为保留连接,并且检测引擎意外出现故障,则 TLS/SSL流量将被丢弃,直到引擎重启。

    此行为受 configure snort preserve-connection {enable | disable} 命令控制。

TLS 加密加速 准则和限制

如果托管设备启用了 TLS 加密加速,请记住以下几点。

仅 HTTP 性能

在不对流量进行解密的托管设备上使用 TLS 加密加速可能会影响性能。

联邦信息处理标准 (FIPS)

如果同时启用了 TLS 加密加速 和联邦信息处理标准 (FIPS),则与以下选项的连接会失败:

  • 大小小于 2048 字节的 RSA 密钥

  • Rivest 密码 4 (RC4)

  • 单一数据加密标准(单一 DES)

  • Merkle–Damgard 5 (MD5)

  • SSL v3

当您将 管理中心 和托管设备配置为以安全认证合规模式运行时,FIPS 会被启用。在这些模式下运行时,要允许连接,则可配置 Web 浏览器以接受更为安全的选项。

更多详细信息:

TLS 心跳

某些应用使用 RFC6520 定义的传输层安全 (TLS) 和数据报传输层安全 (DTLS) 协议的 TLS 心跳扩展。SSL 心跳可用于确认连接是否仍处于活动状态 - 客户端或服务器发送指定字节数的数据,并请求另一方回送响应。如果此过程成功,则发送加密的数据。

当启用 TLS 加密加速的托管设备遇到使用 SSL 检测信号扩展的数据包时,托管设备将执行 解密策略无法解密的操作解密错误的设置所指定的操作:

  • 阻止

  • 阻止并重置

有关详细信息,请参阅无法解密流量的默认处理选项

要确定应用是否正在使用 TLS 心跳,请参阅对 TLS 心跳进行故障排除

您可以在网络分析策略 (NAP) 中配置最大心跳长度,以便确定如何处理 TLS 心跳。有关详细信息,请参阅SSL 预处理器

TLS/SSL 超订用

TLS/SSL 超订用是托管设备过载 TLS/SSL 流量的状态。任何托管设备都可能会遇到 TLS/SSL 超订用,但只有支持 TLS 加密加速的托管设备才提供可配置的方式对其进行处理。

启用了 TLS 加密加速 的托管设备在超订用时,托管设备接收的任何数据包都根据 解密策略无法解密的操作握手错误设置进行处理:

  • 继承默认操作

  • 不解密

  • 阻止

  • 阻止并重置

如果 解密策略无法解密的操作握手错误 的设置为 不解密 ,且相关的访问控制策略配置为检查流量,则检查会发生;但是解密 不会 发生。

如果出现大量超订用,有以下选项可供选择:

  • 升级托管设备以提高 TLS/SSL 处理能力。

  • 更改您的 解密策略,为不具有较高解密优先级的流量添加不解密规则。

查看 TLS 加密加速的状态

本主题讨论如何确定是否已启用 TLS 加密加速

请执行 管理中心 中的下列任务。

过程


步骤 1

登录管理中心

步骤 2

点击设备 > 设备管理

步骤 3

点击 编辑编辑图标 以编辑托管设备。

步骤 4

点击设备 (Device)页面。TLS 加密加速 状态显示在“常规”(General) 部分中。


DTLS 加密加速

威胁防御在 FPGA 和 Nitrox V 加密加速器的帮助下支持 DTLS 加密加速。

  • Cisco Secure Firewall 3100

  • Cisco Secure Firewall 4200

此功能可提高 DTLS 加密和 DTLS 解密流量的吞吐量。支持 IPv4 和 IPv6 流量。

威胁防御还会对出口加密数据包执行优化,以改善延迟。数据路径经过优化,可增强单个隧道流的性能。

默认情况下,这两项功能均已启用,并且仅适用于 DTLS 1.2。

不支持这些功能:

  • 流使用 DTLS 1.0 或数据包压缩

  • 重新生成密钥的 DTLS 密钥

  • 集群或多实例模式

您可以使用 FlexConfig 以及 no flow-offload-dtls no flow-offload-dtls egress-optimization 命令禁用 DTLS 加密加速。

DTLS 加密加速的前提条件

支持的许可证

  • 管理中心 Essentials(以前称为 Base)许可证必须允许导出控制功能。

    依次选择 系统 > 许可证 > 智能许可证 以在管理中心验证此功能。

支持的设备

  • Cisco Secure Firewall 3100

  • Cisco Secure Firewall 4200

监控 DTLS 加密加速

在威胁防御设备上使用以下 CLI 命令验证并监控出口加密数据包的 DTLS 加密加速和优化。

  • 要验证 DTLS 加密加速和出口加密数据包优化的状态,请使用以下命令:

    
    > show flow-offload-dtls info
      DTLS offload : Enabled
      Egress Optimization: Enabled
    
    
  • 要查看 DTLS 加密加速统计信息,请使用以下命令:

    
    > show flow-offload-dtls statistics
      Packet stats of Pipe 0
      ----------------------
      Rx Packet count : 975638666
      Tx Packet count : 975638666
      Error Packet count : 0
      Drop Packet count : 0
    
      CAM stats of Pipe 0
      ----------------------
      Option ID Table CAM Hit Count : 1145314723
      Option ID Table CAM Miss Count : 0
      Tunnel Table CAM Hit Count : 0
      Tunnel Table CAM Miss Count : 0
      6-Tuple CAM Hit Count : 975638666
      6-Tuple CAM Miss Count : 169676057
    	  NOTE: The counters displayed are cumulative counters
    	  for all offload applications and indicates the total packets      
      offloaded
    
  • 要查看设备的 Nitrox V 加密加速器统计信息,请使用以下命令:

    
    > show crypto accelerator statistics
    
    Crypto Accelerator Status
    -------------------------
    <snip>
    [Offloaded SSL Input statistics, Pipe 0]
          Input packets: 290593023
          Input bytes: 147049729714
          Decrypted packets: 290593023
          Decrypted bytes: 147049729714
       [Offloaded SSL Output statistics, Pipe 0]
          Output packets: 254271808
          Output bytes: 136352952720
          Encrypted packets: 254271808
          Encrypted bytes: 136352952720
    .
    .
    .
    
    

如何配置解密策略和规则

本主题简要概述要在这些策略中配置 解密策略解密规则而必须完成的任务,以便阻止、监控或允许网络上的 TLS/SSL 流量。

您必须是 管理员访问管理员网络管理员 才能执行此任务。

过程


步骤 1

(可选。)对于解密 - 已知密钥 (Decrypt - Known Key) 解密规则(用于解密流向内部服务器的入站流量),请创建内部证书对象。

内部证书对象使用您的服务器的证书和私钥。请参阅内部证书对象

步骤 2

(可选。)对于解密 - 重新签名 (Decrypt - Resign)(解密流向网络外部服务器的出站流量)解密规则,请创建内部证书颁发机构 (CA) 对象。

内部 CA 对象会使用 CA 和私钥。请参阅内部证书颁发机构对象

步骤 3

对于出站保护策略(解密 - 重新分配)或入站保护策略(解密 - 已知密钥),运行解密策略向导。

步骤 4

对于任何其他规则操作(不解密阻止阻止并重置监控),请手动创建解密策略和规则。

请参阅创建具有其他规则操作的解密策略

下一步做什么

请参见以下选项之一:

的历史记录解密策略

功能

管理中心最低版本

威胁防御最低版本

详细信息

用于 Cisco Secure Firewall 3100/4200 的硬件 DTLS 1.2 加密加速。

7.6.0

7.6.0

Cisco Secure Firewall 3100/4200 现在支持 DTLS 1.2 加密加速和出口优化,从而提高了 DTLS 加密和解密流量的吞吐量。新设备和升级后的设备会自动启用该功能。要禁用,请使用 FlexConfig。

新增经修改的 FlexConfig 命令:flow-offload-dtls flow-offload-dtls egress-optimization show flow-offload-dtls

QUIC 解密。

7.6.0

带有 Snort 3 的 7.6.0

您可以配置解密策略以应用于在 QUIC 协议上运行的会话。默认情况下,QUIC 解密处于禁用状态。您可以根据解密策略选择性地启用 QUIC 解密,并编写解密规则以应用于 QUIC 流量。通过解密 QUIC 连接,系统可以检查连接是否被入侵、是否有恶意软件或其他问题。您还可以根据访问控制策略中的特定条件来对已解密的 QUIC 连接应用精细控制和过滤。

我们修改了解密策略高级设置,以包含用于启用 QUIC 解密的选项。

轻松绕过解密敏感和不可解密的流量。

7.6.0

7.6.0

现在,绕过敏感和不可解密流量的解密变得更加容易,从而保护了用户并提高了性能。

新的解密策略现在包括预定义规则,如果启用,可自动绕过敏感 URL 类别(如金融或医疗)、不可解密的区分名称和不可解密的应用的解密。可分辨名称和应用无法解密,这通常是因为它们使用 TLS/SSL 证书锁定,而证书锁定本身无法解密。

对于出站解密,可以在创建策略时启用/禁用这些规则。对于入站解密,规则默认为禁用。创建策略后,您可以编辑、重新排序或完全删除规则。

新增/修改的菜单项:策略 (Policies) > 访问控制 (Access Control) > 解密 (Decryption) > 创建解密策略 (Create Decryption Policy)

解密策略。

7.3.0

7.3.0

功能已重命名为解密策略,以更好地体现其功能。现在,您可以使用一个或多个解密 - 重新签名 (Decrypt - Resign)解密 - 已知密钥 (Decrypt - Known Key) 规则来配置解密策略。

新增/修改的菜单项:

  • 策略 > 访问控制标题 > 解密(新建解密策略)

  • “创建机密策略”(Create Decryption Policy) 对话框现在有两个选项卡页面:出站连接 (Outbound Connections)入站连接 (Inbound Connections)

    使用出站连接 (Outbound Connections) 选项卡页面配置一个或多个具有解密 - 重新签名 (Decrypt - Resign) 规则操作的解密规则。(可以同时上传或生成证书颁发机构)。CA 与网络和端口的每种组合都会产生一个解密规则。

    使用“入站连接”(Inbound Connections) 选项卡页面配置一个或多个具有“解密 - 已知密钥”(Decrypt - Known Key) 规则操作的解密规则。(您可以同时上传服务器的证书。)服务器证书与网络和端口的每个组合都会产生一个解密规则。

  • 策略 > 访问控制标题 > 解密(编辑解密规则)> 高级设置 (Advanced Settings) 具有 TLS 1.3 解密最佳实践 中讨论的新选项。

  • 策略 > 访问控制标题 > 访问控制 >(编辑访问控制策略),点击解密 (Decryption) 一词,将解密策略与访问控制策略相关联。

TLS 1.3 解密。

7.2.0

7.2.0

现在,您可以在 SSL 策略的高级操作中启用 TLS 1.3 解密。TLS 1.3 解密需要托管设备运行 Snort 3。

同时还有其他选项;有关详细信息,请参阅TLS 1.3 解密最佳实践

新增/修改的屏幕:SSL 策略 (SSL Policy) > 高级设置 (Advanced Settings)

SSL 策略高级设置。

7.2.0

7.1.0

SSL 策略高级设置

新增/修改的屏幕:SSL 策略 (SSL Policy) > 高级设置 (Advanced Settings)

能够指定具有未知信誉的 URL 的处理方式。

6.7.0

6.7.0

有关详细信息,请参阅关于使用类别和信誉进行 URL 过滤

用于 解密 - 已知 密钥规则。

6.7.0

6.7.0

有关详细信息,请参阅ClientHello 消息的处理

能够提取 TLS 1.3 流量中的证书,以便让流量能够匹配访问控制规则中的 URL 和应用条件。

6.7.0

6.7.0

新增/修改的屏幕:策略 (Policies) > 访问控制 (Access Control) > (编辑访问控制策略) > 高级 (Advanced)链接。

有关详细信息,请参阅解密策略 高级选项

基于类别和信誉的 URL 过滤更改。

6.7.0

6.5.0

有关详细信息,请参阅关于使用类别和信誉进行 URL 过滤

TLS 加密加速 无法禁用。

6.4.0

6.4.0

TLS 加密加速 会在所有支持的设备上启用。

在具有本地接口的托管设备上,无法禁用 TLS 加密加速

威胁防御 容器实例TLS 加密加速 的支持是有限的,如此表的下一行所述。

删除的命令:

  • system support ssl-hw-accel enable

  • system support ssl-hw-accel disable

  • system support ssl-hw-status

支持将 TLS 加密加速 用于 Firepower 4100/9300 模块/安全引擎上的一个 威胁防御 容器实例

6.4.0

6.4.0

您现在可以在模块/安全引擎上为一个 威胁防御 容器实例 启用 TLS 加密加速TLS 加密加速 对其他容器实例禁用,但对本地实例启用。

新增/经修改的命令:

  • config hwCrypto enable

  • show crypto accelerator status 取代 system support ssl-hw-status

TLS/SSL 硬件加速 现在称为 TLS 加密加速

6.4.0

6.4.0

名称更改体现了可在更多设备上支持 TLS/SSL 加密和解密加速。根据设备的不同,加速可以在软件或硬件中执行。

新增/修改的屏幕: 设备 (Devices) > 设备管理 (Device Management) > 编辑 (Edit) > 设备 (Device) > 常规 (General) > TLS 加密加速 (TLS Crypto Acceleration)

支持扩展主密钥扩展(请参阅 RFC 7627)。

6.3.0.1

6.3.0.1

SSL 策略支持 TLS 扩展主密钥扩展;具体而言,是指具有解密 - 重新签名解密 - 已知密钥规则操作的策略。

不支持扩展主密钥扩展。

6.3.0

6.3.0

在 ClientHello 修改解密 - 重新签名规则期间删除此扩展。

TLS/SSL 硬件加速 默认为已启用。

6.3.0

6.3.0

TLS/SSL 硬件加速 默认为在所有支持的设备上启用,但是如有需要,可以禁用它。

支持扩展主密钥扩展(请参阅 RFC 7627)。

6.2.3.9

6.2.3.9

SSL 策略支持 TLS 扩展主密钥扩展;具体而言,是指具有解密 - 重新签名解密 - 已知密钥规则操作的策略。

积极的 TLS 1.3 降级。

6.2.3.7

6.2.3.7

使用 system support ssl-client-hello-enabled aggressive_tls13_downgrade {true|false} CLI 命令,可以确定将 TLS 1.3 流量降级到 TLS 1.2 的行为。有关详细信息,请参阅 Cisco Secure Firewall Threat Defense 命令参考

TLS/SSL 硬件加速 已引入。

6.2.3

6.2.3

某些托管设备型号会在硬件中执行 TLS/SSL 加密和解密,从而提高性能。默认情况下,此功能处于启用状态。

受影响的屏幕:要查看 TLS/SSL 硬件加速的状态,设备 (Devices) > 设备管理 (Device Management) > 设备 (Device),常规 (General) 页面。

支持类别和信誉条件。

6.2.2

6.2.2

具有类别/信誉条件的访问控制规则或 SSL 规则。

支持安全搜索。

6.1.0

6.1.0

系统可为先被 SSL 策略加密然后被访问控制规则或访问控制策略默认操作阻止(或交互式阻止)的 HTTP 响应页面。在这些情况下,系统会加密响应页面并在重新加密的 SSL 数据流最后发送该页面。

SafeSearch 可过滤掉令人不快内容,并阻止用户搜索成人站点。

TLS/SSL 策略。

6.0.0

6.0.0

引入的功能。