AWS Firewall Manager 统一部署 Network Firewall 分布式架构:多账号网络安全管理实践
本文基于亚马逊云科技官博最新技术文章,详细介绍如何使用 AWS Firewall Manager 在 Organizations 多账号环境下统一部署和管理 AWS Network Firewall 的分布式架构。
亚马逊云科技官博(3/30)发了一篇实操文章:用 AWS Firewall Manager 集中管理多账号下的 AWS Network Firewall,一次配好规则自动下发到所有账号。分布式架构,每个 VPC 有自己的防火墙端点,流量不用绕路。
这个方案解决了多账号网络安全管理的几个核心痛点。
先搞清楚两个服务
AWS Network Firewall
有状态的网络防火墙,部署在 VPC 级别。能做的事:
- 状态化包过滤:TCP/UDP/ICMP 连接追踪
- 域名过滤:按域名允许/拒绝出站流量(不是 IP,是域名)
- IPS/IDS:入侵检测和防护,支持 Suricata 规则
- TLS 检测:解密 HTTPS 流量做深度检测
# Network Firewall 规则示例
# 只允许出站访问特定域名
pass tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; content:"amazonaws.com"; endswith; sid:1; rev:1;)
pass tls $HOME_NET any -> $EXTERNAL_NET any (tls.sni; content:"github.com"; endswith; sid:2; rev:1;)
drop tls $HOME_NET any -> $EXTERNAL_NET any (sid:3; rev:1;)
AWS Firewall Manager
集中管理工具。在 Organizations 管理账号里配一次策略,自动应用到指定的成员账号和 VPC。
管理账号(Firewall Manager)
↓ 策略下发
├── 账号 A → VPC-1 → Network Firewall 端点
├── 账号 B → VPC-2 → Network Firewall 端点
├── 账号 C → VPC-3 → Network Firewall 端点
└── 新账号 → 自动创建 Network Firewall 端点
分布式 vs 集中式
Network Firewall 的部署有两种模式:
| 对比项 | 分布式 | 集中式 |
|---|---|---|
| 防火墙位置 | 每个 VPC 有自己的端点 | 统一在检查 VPC |
| 流量路径 | VPC 内部,不绕路 | 流量要先到检查 VPC |
| 延迟 | 低(本地处理) | 高(多一跳) |
| 成本 | 每个端点单独计费 | 集中端点,但 Transit Gateway 流量费 |
| 管理复杂度 | 端点多,靠 Firewall Manager 管 | 端点少,但路由复杂 |
官博这篇重点讲分布式部署。适用场景:VPC 数量多、对延迟敏感、各团队有自己的 VPC。
实施步骤
1. 前提条件
# 需要开启 AWS Organizations
# 管理账号中需要:
# - 指定 Firewall Manager 管理员账号
# - 确保 AWS Config 在所有成员账号中开启
2. 创建防火墙策略
在 Firewall Manager 管理员账号中创建策略:
import boto3
fms = boto3.client('fms')
# 创建 Network Firewall 策略
response = fms.put_policy(
Policy={
'PolicyName': 'org-network-firewall-policy',
'SecurityServicePolicyData': {
'Type': 'NETWORK_FIREWALL',
'ManagedServiceData': json.dumps({
'type': 'NETWORK_FIREWALL',
'networkFirewallStatelessRuleGroupReferences': [],
'networkFirewallStatefulRuleGroupReferences': [
{
'resourceARN': 'arn:aws:network-firewall:ap-northeast-1:123456789:stateful-rulegroup/block-malicious-domains'
}
],
'networkFirewallStatelessDefaultActions': ['aws:forward_to_sfe'],
'networkFirewallStatelessFragmentDefaultActions': ['aws:forward_to_sfe']
})
},
'ResourceType': 'AWS::EC2::VPC',
'ResourceTags': [
{'Key': 'FirewallManaged', 'Value': 'true'}
],
'ExcludeResourceTags': False,
'RemediationEnabled': True,
'IncludeMap': {
'ACCOUNT': ['111111111111', '222222222222', '333333333333']
}
}
)
RemediationEnabled=True 意味着 Firewall Manager 会自动在目标 VPC 中创建 Network Firewall 端点和必要的路由。
3. 定义规则组
nfw = boto3.client('network-firewall')
# 有状态规则组:域名过滤
nfw.create_rule_group(
RuleGroupName='allow-aws-services',
Type='STATEFUL',
Capacity=100,
RuleGroup={
'RulesSource': {
'RulesSourceList': {
'Targets': [
'.amazonaws.com',
'.aws.amazon.com',
'.github.com'
],
'TargetTypes': ['TLS_SNI', 'HTTP_HOST'],
'GeneratedRulesType': 'ALLOWLIST'
}
}
}
)
# 有状态规则组:IPS 规则
nfw.create_rule_group(
RuleGroupName='ips-rules',
Type='STATEFUL',
Capacity=200,
RuleGroup={
'RulesSource': {
'StatefulRules': [
{
'Action': 'DROP',
'Header': {
'Protocol': 'TCP',
'Source': '$HOME_NET',
'SourcePort': 'ANY',
'Direction': 'ANY',
'Destination': '$EXTERNAL_NET',
'DestinationPort': '23'
},
'RuleOptions': [
{'Keyword': 'sid', 'Settings': ['100']},
{'Keyword': 'msg', 'Settings': ['"Block Telnet"']}
]
}
]
}
}
)
4. 自动化路由
Firewall Manager 创建 Network Firewall 端点后,还需要配置路由表把流量导过去。分布式模式下:
子网路由表:
0.0.0.0/0 → Network Firewall 端点
Firewall 子网路由表:
0.0.0.0/0 → Internet Gateway
IGW 路由表(Ingress Routing):
VPC CIDR → Network Firewall 端点
Firewall Manager 可以自动创建这些路由(设置 RemediationEnabled: True),也可以手动配。
新账号自动部署
这是 Firewall Manager 的杀手锏功能:新账号加入 Organization 后,如果符合策略的范围定义(按 OU 或标签),Firewall Manager 会自动在新账号的 VPC 中部署 Network Firewall。
# 按 OU 定义策略范围
policy['ResourceTypeList'] = ['AWS::EC2::VPC']
policy['IncludeMap'] = {
'ORGUNIT': ['ou-xxxx-production', 'ou-xxxx-staging']
}
新团队创建了 VPC、打上 FirewallManaged=true 标签,防火墙自动就位。安全团队不用每次手动配。
合规审计
Firewall Manager 会检查每个账号的合规状态:
# 查看合规状态
response = fms.list_compliance_status(
PolicyId='policy-id-123'
)
for status in response['PolicyComplianceStatusList']:
print(f"账号 {status['MemberAccount']}: "
f"{'合规' if status['ComplianceStatus'] == 'COMPLIANT' else '不合规'}")
不合规的账号会自动触发修复(如果开了 auto-remediation),或者发通知给安全团队。
成本考量
分布式部署的成本主要由三部分组成:Firewall Manager 策略费、Network Firewall 端点费、流量处理费。VPC 越多端点越多,但相比手动管理多个防火墙的人力成本和安全事件的潜在损失,这个投入通常值得。具体价格见亚马逊云科技官网定价页。
和 OpenClaw 的结合
用 OpenClaw Agent 监控 Firewall Manager 的合规状态:
# OpenClaw Skill:防火墙合规监控
# 1. 定期查 Firewall Manager 合规状态
# 2. 不合规 → 通知安全团队 + 自动触发修复
# 3. 新规则变更 → 验证下发到所有账号
# 4. 异常流量 → 结合 CloudWatch 告警自动分析
多账号环境的安全运维,自动化程度决定了安全团队能管多大规模。
落地建议
- 先在 2-3 个账号试:验证策略规则、路由配置、日志输出
- 从 ALLOWLIST 开始:先允许已知域名,再逐步收紧
- 开 Flow Logs:Network Firewall 的 Flow Logs 对调试很重要
- 和现有安全工具集成:日志发到 Security Hub、SIEM 做关联分析
亚马逊云科技官博原文:https://aws.amazon.com/cn/blogs/china/using-aws-firewall-manager-for-unified-network-firewall-deployment-part-1-distributed-architecture/
AWS Firewall Manager:https://aws.amazon.com/cn/firewall-manager/
AWS Network Firewall:https://aws.amazon.com/cn/network-firewall/
OpenClaw:https://github.com/openclaw/openclaw

浙公网安备 33010602011771号