AWS Network Firewall 实现 VPC 流量控制 - 有状态规则与域名过滤
通过有状态/无状态规则和域名过滤控制 VPC 流量。介绍 Suricata 兼容规则和托管规则的应用方法。
Network Firewall 的定位及与安全组的区别
Network Firewall 是一项在 VPC 内对流量进行内联检查的托管防火墙服务。安全组仅限于 ENI 级别的 L3/L4 过滤,而 Network Firewall 提供 L7 应用协议检查、基于域名的过滤以及 IDS/IPS 签名匹配。它部署在专用的防火墙子网中,通过路由表将流量路由至防火墙端点。将其放置在互联网网关与工作负载子网之间,可以检查入站和出站两个方向的流量。与 Palo Alto Networks 或 Fortinet 等本地下一代防火墙不同,Network Firewall 作为完全托管服务无需硬件采购和固件维护,大幅降低运维成本。
规则设计与域名过滤
无状态规则通过五元组(源/目的 IP、源/目的端口、协议)进行匹配,指定放行、丢弃或转发至有状态规则,适用于大流量的高速处理。有状态规则跟踪连接状态,支持 Suricata 兼容 IPS 规则、域名列表规则和五元组规则三种格式。域名列表过滤通过检查 HTTP 的 Host 头或 TLS 的 SNI (Server Name Indication) 来执行基于允许列表或拒绝列表的过滤。TLS SNI 检查使得对加密 HTTPS 流量的域名过滤也成为可能。以允许列表方式控制出站流量,仅允许与业务所需域名的通信,对防止数据泄露非常有效。
与 WAF 的多层防御架构
将 Network Firewall 与 AWS WAF 结合,可以构建从网络层到应用层的全面多层防御。Network Firewall 在 VPC 子网级别运行,检查所有入站和出站流量。WAF 在 CloudFront、ALB、API Gateway 前端运行,通过 SQL 注入、XSS 和基于速率的规则提供应用层保护。结合 Transit Gateway 的集中式防火墙架构,可以将多个 VPC 的流量汇聚到一个 Network Firewall 端点,统一应用安全策略。
托管规则与组织级治理
AWS Managed Rule Groups 是包含已知威胁签名的规则集,由 AWS 自动更新。它覆盖恶意软件的 C2 通信模式、已知恶意域名和僵尸网络通信模式。使用 Firewall Manager 可以在 Organizations 内的所有账户统一应用防火墙策略,新账户或 VPC 创建时也会自动应用策略。集中管理 Network Firewall 和 WAF 策略,确保组织级的安全治理。 如果想系统学习网络安全知识,相关书籍 (Amazon)也可供参考。
日志分析与威胁情报联动
Network Firewall 可将告警日志和流日志输出到 S3、CloudWatch Logs、Kinesis Data Firehose。告警日志记录匹配 IPS 规则的流量详细信息,用于安全事件调查。流日志记录所有流量的元数据,用于网络可视化和异常检测。将这些日志汇聚到 OpenSearch Service 并通过仪表板可视化,可实现实时安全监控。还可以与 GuardDuty 威胁检测结果联动,自动将检测到的威胁 IP 地址添加到阻断列表。结合 Lambda 和 EventBridge 的自动响应,可以最小化从威胁检测到阻断的时间。
Network Firewall 的定价
Network Firewall 的费用由防火墙端点的小时计费和数据处理量构成。每个可用区的端点约 0.395 美元/小时(月约 284 美元),多可用区架构需按可用区数量计费。数据处理约为每 GB 0.065 美元。2 个可用区架构下每月处理 1 TB 流量时,月费约 633 美元(端点 568 美元 + 数据处理 65 美元)。安全组和 NACL 能处理的过滤不使用 Network Firewall,仅将需要 L7 检查的流量通过 Network Firewall,以此优化成本。
总结
Network Firewall 是一项提供安全组无法实现的 L7 级流量检查的托管防火墙。通过 Suricata 兼容规则和域名过滤实现高级威胁防御,与 WAF 的多层防御构建全面安全体系。通过与 GuardDuty 的威胁情报联动实现自动阻断,并可通过 Firewall Manager 在整个组织中应用统一策略。