TLS检测

在本实验中,我们将探索 AWS Network Firewall 中的 TLS 检测功能。

AWS Network Firewall的TLS检查功能可以解密出站HTTPS流量,检查其中的威胁,并在发送到目的地之前重新加密。这使得可以检查HTTPS流量中加密的HTTP标头和URI路径。

TLS Inspection 测试脚本

TLS Inspection test脚本验证仅在解密和检查 HTTPS 流量时才能实现的安全功能。它测试:

  • 通过 HTTPS 下载 PowerShell 脚本(URI 路径检查)
  • HTTPS 请求中的 PowerShell User-Agent(HTTP 标头检查)

测试当前 TLS Inspection 流量

打开一个新的浏览器标签页并导航到 TLS Inspection 测试器脚本 URL。URL 格式为:

https://<CloudFront-Distribution-Domain>/tls-inspection

目前,所有测试都将显示连接为允许状态,因为 TLS Inspection 尚未配置。在启用 TLS Inspection 并添加规则后,这些恶意连接将被阻止。

配置 TLS 检查和防火墙策略

Network Firewall 与 AWS Certificate Manager (ACM) 集成,用于管理 TLS 检查的证书。作为实验设置的一部分,我们已经导入了一个 CA 证书。

创建 TLS 检查配置

导航至 VPC > Network Firewall > TLS inspection configurations,然后点击 Create TLS Inspection Configuration

  1. 选择已导入的 CA 证书

image-20260228203843364

  1. 输入名称 TLS-Inspection-Configuration

image-20260228203911498

  1. Scope configuration 中,配置仅检查目标端口 443 的流量:
    • Destination ports:443
    • 其他设置保持默认,然后选择 Next

  1. Advanced settings 中,启用 Certificate revocation status,并为 RevokedUnknown Status 操作均选择 Reject

image-20260228204039343

  1. 标签留空,选择 Next,然后选择 Create TLS inspection configuration

创建带有 TLS 检查的防火墙策略

  1. 导航至 VPC > Network Firewall > Firewall policies,然后点击 Create firewall policy

  2. 输入名称 TLS-Inspection-Policy,并为 Stream exception policy 选择 Reject

image-20260228204138156

无状态设置保持默认。对于有状态设置,选择:

  • 规则评估选择 Strict order
  • 丢弃操作选择 None
  • 告警操作选择 Application alert established

image-20260228204250855

Stateful rule groups 部分,点击 Add rule groups

选择 TLS-InspectionRuleGroup 有状态规则组,然后点击 Add rule groups

image-20260228204320635

将 $HOME_NET 变量覆盖为所有 RFC1918 CIDR 范围:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

image-20260228204400891

添加我们之前创建的 TLS 检查配置,选择 Next,标签留空,选择 Next,然后选择 Create firewall policy

image-20260228204424223

将策略与防火墙关联

导航至 VPC > Network Firewall > Firewalls,点击 egress-and-east-west-firewall

点击防火墙策略上的 Edit,选择我们创建的 TLS-Inspection-Policy,然后点击 Save changes

image-20260228204758538

更新完成后:

image-20260228204842021