加密出站流量和 AWS 网络防火墙的 TLS 检查配置 安全博客
配置 TLS 检查以保护加密的出站流量和 AWS 网络防火墙
关键要点
加密的出站流量同样需要保护,设置 egress TLS 检查是实现这一目标的关键步骤。AWS 网络防火墙可通过解密、检查负载以及重新加密出站 SSL/TLS 流量来增强安全性。本文将介绍 egress TLS 检查的配置步骤、最佳实践和维护性能与安全性的注意事项。在不断发展的网络安全环境中,保护数据在虚拟环境中的出口与保护进入流量同样重要。在之前的文章中,我们强调了 进入流量的 TLS 检查 在提升安全性方面的重要性。这次,我们将关注出站流量的 TLS 检查。
出站 TLS 解密是 AWS 网络防火墙 的一个关键功能,它提供了强大的机制来解密、检查负载并重新加密出站的 SSL/TLS 流量。此过程有助于确保您的敏感数据在传输到外部目的地时保持安全并符合组织的政策。无论您是经验丰富的 AWS 用户还是刚接触云安全的新人,理解和实施出站 TLS 检查都能增强您的安全防护,通过帮助您识别加密通信中的威胁来提升安全态势。
本文将探索在网络防火墙中设置出站 TLS 检查的步骤,涵盖配置中的关键步骤、主要最佳实践,并深入探讨维护性能和安全性的重要考虑。阅读完本文后,您将理解出站 TLS 检查的作用及其实施,能够将此功能集成到您的网络安全策略中。
出站 TLS 检查概述
出站 TLS 检查是网络安全的重要组成部分,因为它有助于识别和减轻隐藏在加密流量中的风险,例如数据泄漏或与恶意网站的出站通信例如指挥和控制服务器。该过程涉及仔细检查出站加密流量,以确保离开网络的数据符合安全策略,并且不包含潜在威胁或敏感信息。
这一过程确保了数据的机密性和完整性,同时为安全分析提供所需的可见性。
图 1 网络防火墙数据包处理 不在 TLS 范围内
接下来,比较图 2,展示了启用出站 TLS 检查时的流量流动。经过 无状态引擎,流量匹配 TLS 检查的范围。网络防火墙将数据包转发给 TLS 引擎,在这里它被解密。网络防火墙将解密后的流量发送到有状态引擎,在此进行检查并返回 TLS 引擎以重新加密。网络防火墙随后将数据包转发到目的地。
图 2 网络防火墙数据包处理 在 TLS 范围内
考虑到这些连接所用的证书。如图 3 所示,出站 TLS 连接在客户端使用防火墙生成的证书,而在服务器端使用目标服务器的证书。网络防火墙解密那些内部处理的数据包,并通过有状态引擎以明文处理它们。
图 3 出站 TLS 证书用法
通过实施出站 TLS 检查,您可以更全面地了解网络流量,从而更有效地监控和管理数据流。这种增强的可视性对于检测和响应可能隐匿在加密流量中的潜在安全威胁至关重要。
接下来的章节将引导您完成出站 TLS 检查的配置,讨论最佳实践,并强调关键考虑事项,帮助在强大安全性与网络性能之间实现平衡。

额外考虑:SNI 欺骗的挑战
服务器名指示SNI欺骗可能会影响您的 TLS 检查的有效性。SNI 是 TLS 协议的一个组成部分,允许客户端在握手过程中指定其尝试连接的服务器。
SNI 欺骗发生在一个实体操控 SNI 字段以伪装流量的真实目的地时。这与请求访问一个网站,同时意图连接到不同的、相对不安全的网站类似。SNI 欺骗可能对依赖 SNI 信息进行流量过滤和检查的网络安全措施造成重大挑战。
在出站 TLS 检查的背景下,威胁行为者可以利用 SNI 欺骗来绕过安全工具,因为这些工具通常使用 SNI 字段来确定出站连接的合法性和安全性。如果威胁行为者成功伪造 SNI 字段,则未经授权的流量可能通过网络,绕过检测。
为了有效对抗 SNI 欺骗,可以在网络防火墙中使用 TLS 检查。当您在网络防火墙上使用 TLS 检查时,流量中那些符合 TLS 检查范围的伪造 SNI 会被丢弃。这是因为网络防火墙通过验证 TLS 服务器证书,检查其中涉及的域名与 SNI 是否相符。
在网络防火墙中设置出站 TLS 检查
在本节中,我将指导您完成在网络防火墙中设置出站 TLS 检查的基本步骤。
先决条件
本篇文章使用预建环境的示例。有关预建环境的更多信息以及如何在自己的 AWS 环境中构建类似配置,请参阅 在网络防火墙中创建 TLS 检查配置。为了跟上本文的进度,您需要一个已部署网络防火墙的有效拓扑,并且在私有子网中部署了 Amazon Elastic Compute Cloud (Amazon EC2) 实例。
此外,您还需要生成一个证书,当客户端根据您的检查配置发起出站 TLS 请求时,您将向他们提供此证书。在生成证书后,记下证书主体、私钥和证书链,因为您将把这些导入到 ACM。
与 ACM 集成
第一步是通过 AWS 证书管理器 (ACM) 来管理您的 SSL/TLS 证书。
集成 ACM 的步骤获取证书颁发机构CA签署的证书、私钥和证书链。打开 ACM 控制台,在左侧导航窗格中选择 Certificates。选择 Import certificates。在 Certificate details 部分,将证书的信息包括证书主体、证书私钥和证书链粘贴到相关字段中。选择 Next。在 Add Tags 页面中,为证书添加一个标签: 对于 Tag key,输入标签的名称。 对于 Tag value optional,输入一个 标签值。 选择 Next。选择 Import 来导入证书。注意:可能需要几分钟的时间让 ACM 处理导入请求并在列表中显示该证书。如果证书没有立即出现,请选择刷新图标。此外,您导入到 ACM 中的证书所用的证书颁发机构可以是公有或私有的。
审查导入的证书并执行以下操作: 记下 Certificate ID。您稍后将需要此 ID 将证书分配到 TLS 配置中。 确保状态显示为 Issued。在 ACM 颁发证书后,您可以在 TLS 配置中使用它。创建 TLS 检查配置
下一步是创建 TLS 检查配置。您将分两部分进行此操作。首先,您会创建一个规则组以定义有状态检查标准。然后,您将创建 TLS 检查配置,定义应解密检查的流量以及如何处理被撤销和过期的证书。
创建规则组的步骤导航到 VPC gt Network Firewall rule groups。选择 Create rule group。在 Choose rule group type 页面中执行以下操作: 对于 Rule group type,选择 Stateful rule group。在这个示例中,正在使用已经创建的无状态规则组。 对于 Rule group format,选择 Suricata compatible rule string。注意:要学习 Suricata 规则的工作原理和如何编写它们,请参见 在 AWS 上扩展威胁防御使用 Suricata。
将其他值保持为默认,选择 Next。在 Describe rule group 页面中,输入规则组的名称、描述和容量,然后选择 Next。注意:容量是您预期在这个规则组中有的规则数量。在我们的示例中,我将值设置为 10,这适合演示环境。生产环境在创建规则组之前需要对容量进行更多考虑。
在 Configure rules 页面, 在 Suricata compatible rule string 部分中逐行输入您的 Suricata 兼容规则,然后选择 Next。注意:在此文章中,我不提供具体规则的建议。您应谨慎编写满足您组织需求的规则。有关更多信息,请参见 为 AWS 网络防火墙编写 Suricata 兼容规则的最佳实践。
在 Configure advanced settings optional 页面上,选择 Next。在本演练中,您将不使用这些设置。通过提供标签的键和值来添加相关标签,然后选择 Next。在 Review and create 页面上,审查规则组,然后选择 Create rule group。创建 TLS 检查配置的步骤导航到 VPC gt Network Firewall gt TLS inspection configurations。选择 Create TLS inspection configuration。在 CA certificate for outbound SSL/TLS inspection new 部分,从下拉菜单中选择您之前从 ACM 导入的证书,然后选择 Next。图 5 选择用于出站 SSL/TLS 检查的证书
在 Describe TLS inspection configuration 页面中,输入配置的名称和描述,然后选择 Next。定义范围包括在解密中流量。在本演练中,您将解密端口 443 上的流量。在 Define scope 页面中执行以下操作: 对于 Destination port range,在下拉菜单中选择 Custom,然后在框中输入您的端口在此示例中为 443。如图 6 所示。图 6 在 TLS 范围配置中指定自定义目的端口
vps加速器下载选择 Add scope configuration 来添加范围配置。这使您可以添加多个范围。在此示例中,您定义了一个范围,指示以下流量应被解密: 源 IP源端口目的 IP目的端口任意任意任意443在 Scope configuration 部分中,确保该范围已列出,如图 7 所示,然后选择 Next。图 7 将范围配置添加到 SSL/TLS 检查策略
在 Advanced settings 页面上,执行以下操作,以确定如何处理证书撤销: 对于 Check certificate revocation status,选择 Enable。 在 Revoked Action 下拉菜单中,选择撤销证书的处理动作。可选的处理包括 Drop、Reject 或 Pass。Drop 动作是静默的。Reject 会发送 TCP 重置,指示连接已被丢弃。选择 Pass 允许连接建立。 在 Unknown status Action 部分,选择对的处理动作,针对状态未知的证书。对于撤销证书有的三个选项对状态未知的证书同样适用。选择 Next。注意:推荐的最佳实践是将撤销和未知状态的动作设置为 Reject。在本演练后期,您将把这些值设置为 Drop 和 Allow 以展示测试时的表现。在测试之后,您应该将这两个值设为 Reject。
添加相关标签,提供标签的键和值,然后选择 Next。审查配置,然后选择 Create TLS inspection configuration。将配置添加到网络防火墙策略
下一步是将您的 TLS 检查配置添加到防火墙策略中。此策略决定了网络防火墙如何处理和应用出站流量的规则。作为此配置的一部分,您的 TLS 检查配置定义了在检查之前解密哪些流量。
将配置添加到网络防火墙策略的步骤导航到 VPC gt Network Firewall gt Firewall policies。选择 Create firewall policy。在 Firewall policy details 部分见图 8,输入名称和描述,为策略选择流媒体异常选项,然后选择 Next。图 8 定义防火墙策略详细信息
为策略附加一个无状态规则组,选择 Add stateless rule groups。从现有策略中选择一个见图 9,然后选择 Add rule groups。图 9 从现有规则组中选择无状态策略
在 Stateful rule group 部分,选择 Add stateful rule groups。选择新创建的 TLS 检查规则组,然后选择 Add rule group。在 Add rule groups 页面上,选择 Next。在 Configure advanced settings optional 页面上,选择 Next。在本演练中,您将保持这些设置为默认值。在 Add TLS inspection configuration optional 部分见图 10,执行以下操作:选择 Add TLS inspection configuration。从下拉列表中选择您的 TLS 检查配置。选择 Next。图 10 将 TLS 配置添加到防火墙策略
添加相关标签,提供标签的键和值,然后选择 Next
使用 QuickSight 嵌入式 SDK 中的新运行时功能构建自定义和互动仪表板 商业智能博客
利用 QuickSight 嵌入 SDK 创建自定义互动仪表板关键要点在这篇文章中,我们介绍了 Amazon QuickSight 嵌入 SDK 的新功能,允许开发者在运行时动态更新嵌入式仪表板的主题和过滤器。这一功能使您能够在 SaaS 应用程序中无缝集成 QuickSight 的嵌入式仪表板并提...