关于 networkfirewall
networkfirewall 是用于配置和排查 AWS Network Firewall 的任务路由技能。它将操作人员引向有关部署、流量检查、Suricata 规则、日志、事件响应和基础设施即代码的专门流程。
主要功能
- 01指导防火墙部署及 VPC 路由
- 02涵盖 Transit Gateway 集中检查
- 03配置域名过滤与 TLS 检查
- 04说明日志记录和 Suricata 规则调整
- 05路由流量丢弃及规则匹配诊断
适用场景
- 01将 VPC 流量导向防火墙端点
- 02检查多个 VPC 的流量
- 03按域名阻止出站连接
- 04排查流量丢弃或规则未匹配
MCP 相关
连接后,该技能通过 AWS MCP 服务执行命令;否则使用 AWS CLI。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill networkfirewall安装后在 Claude Code 中输入/networkfirewall确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/centralizing-inspection-with-a-transit-gateway-attached-firewall.mddeploying-a-firewall-and-routing-traffic-through-it.mddiagnosing-dropped-or-unmatched-traffic.mdenabling-firewall-logging-and-tuning-rules.mdfiltering-outbound-traffic-by-domain-name.mdinspecting-encrypted-traffic-with-tls-inspection.mdmanaging-firewall-rules-as-infrastructure-as-code.mdmigrating-from-a-third-party-firewall.mdresponding-to-an-active-security-incident.mdwriting-and-troubleshooting-stateful-suricata-rules.md详细介绍
Network Firewall
概述
关于配置 AWS Network Firewall 的专业知识。AWS Network Firewall 是一项托管式有状态防火墙和入侵防御服务,使用 Suricata 检查引擎在 VPC 边界过滤流量。内容涵盖将防火墙置于流量路径中并通过其端点路由流量、使用附加到 transit gateway 的防火墙在多个 VPC 间集中检查、按域名过滤出站流量、日志记录和规则调优、检查加密流量的 TLS 检查,以及诊断流量被丢弃、放行或未匹配的原因。
此技能是一个路由器。每项客户任务都对应 references/ 下的一个参考文件。执行操作前,请完整阅读匹配的参考文件,然后遵循其中的约束和步骤。参考文件都是自包含的:每个文件都包含自己的决策表、约束、操作步骤和故障排查内容。
连接时,使用 AWS MCP 服务执行命令(提供沙盒化执行、审计日志和可观测性)。否则,使用 AWS CLI。Network Firewall 是区域级服务;每次运行 aws network-firewall 命令时,都要传入与防火墙所在区域匹配的 --region。防火墙的创建、删除和若干操作都是异步的:在依赖资源之前,轮询资源,直到其达到预期状态。
你需要执行哪种 Network Firewall 任务?
| 目标 | 参考资料 |
|---|---|
| 在流量路径中放置防火墙,并通过其端点路由 VPC 流量 | 部署防火墙并通过其路由流量 |
| 使用附加到 transit gateway 的防火墙,从一个位置检查多个 VPC 的流量 | 使用附加到 transit gateway 的防火墙集中检查 |
| 按目标域名允许或阻止出站连接 | 按域名过滤出站流量 |
| 启用警报、流量和 TLS 日志记录,并根据日志内容调优规则 | 启用防火墙日志记录并调优规则 |
| 使用 ACM 证书解密并检查 TLS 流量 | 使用 TLS 检查加密流量 |
| 编写自定义的有状态 Suricata 规则,并修复未匹配的规则 | 编写和排查有状态 Suricata 规则 |
| 在活跃安全事件期间立即阻止特定指标 | 响应活跃安全事件 |
| 在 CloudFormation 或 CDK 中管理防火墙、策略和规则 | 将防火墙规则作为 IaC 管理 |
| 将第三方防火墙设备替换为 Network Firewall | 从第三方防火墙设备迁移 |
| 查明流量被丢弃、放行或未匹配规则的原因 | 诊断流量被丢弃或未匹配的问题 |
路由说明
- 先部署,再配置规则。 防火墙只有在 VPC 路由表将流量重定向到其端点后才会发挥作用;如果缺少路由,也不会报告错误。防火墙是新建的或流量未到达防火墙时,应先参考部署指南,再判断是否为规则问题。
- 连接到 Transit Gateway 的防火墙与检查 VPC。 集中化指南使用原生的 Transit Gateway 连接型防火墙,无需手动构建检查 VPC 及其路由表。对于多 VPC 或多账户检查,应参考该指南,而不是手动构建检查 VPC。
- 域名过滤匹配握手信息,而非 IP。 域名过滤指南根据 TLS SNI 和 HTTP Host 标头进行匹配,而不是查询 DNS;允许列表会静默丢弃同一协议下不匹配的流量。出站域名管控应参考该指南;如果客户需要匹配完整 URL 路径而非域名,则应使用 TLS 检查。
- TLS 检查会改变规则的匹配对象。 任何需要对解密负载执行操作的规则,都必须先参考 TLS 检查指南。TLS 终止后,解密流量对有状态引擎而言是纯 HTTP,因此端口 443 和
tls规则将不再匹配。客户准备针对加密流量编写规则前,应先参考该指南。 - 根据症状诊断,不要靠猜。 诊断指南会读取端点状态消息(错误还是不可恢复故障)、测试路由对称性,并在进行任何重写前检查
HOME_NET、评估顺序和规则层级。对于“流量被丢弃”“流量本不该通过却通过了”或“我的规则没有匹配”等问题,应参考该指南。如果症状是“流量被丢弃,但完全没有警报日志”,则应怀疑后量子 ClientHello 分片;诊断和日志指南对此有说明。 - 当前事件响应与配置。 响应指南适用于已部署防火墙上正在发生的事件:立即阻止某个指标、确认效果,然后撤销变更。对于“我正在遭受攻击,立即阻止”,应参考该指南,而不是流程较慢的部署或规则编写指南。
- 规则编写与域名过滤。 编写 Suricata 规则指南涵盖自定义有状态规则(流量关键字、规则顺序、Suricata 引擎限制)。编写 IPS 或 IDS 规则时应参考该指南;客户只需允许或阻止域名时,则应参考域名过滤指南。
- IaC 与控制台变更。 代码化管理指南适用于由 CloudFormation 或 CDK 管理的场景;不可变属性(容量、规则顺序)意味着结构错误可能导致资源被替换。客户通过模板管理防火墙时,应参考该指南。
- 迁移与首次设置。 迁移指南适用于用现有规则集和流量路径替换第三方防火墙设备。对于“从 Palo Alto 或 FortiGate 迁出”,应参考该指南,而不是适用于全新部署的部署指南。
安全注意事项
此技能管理网络边界安全,因此配置错误会削弱防火墙后所有 VPC 的安全态势。每项任务都必须遵循以下要求:
- 默认拒绝策略。 MUST 将有状态默认操作配置为拒绝(仅允许许可流量的白名单),而不是默认允许,这样未匹配任何规则的流量就会被阻止,而不是未经检查便通过。对于网络防火墙,故障时默认关闭是基本安全控制,而非可选项;过于宽松的规则集会使防火墙退化为直通设备。
- 不得存在未被察觉的检查盲区。 MUST 确认流量确实经由防火墙端点路由并转发至有状态引擎;路由表配置错误,或无状态默认操作不是
aws:forward_to_sfe,都会导致流量未经检查,且不会报错。 - 使用临时的最小权限凭证。 MUST 使用临时的最小权限凭证(有时限的角色会话),并将权限限定为每位操作员所需的特定
network-firewall:操作和资源(例如network-firewall:UpdateRuleGroup、network-firewall:DescribeFirewall),绝不能使用长期访问密钥或宽泛的管理权限,因为这些权限可以改变允许通过的流量。 - 对日志和防火墙静态数据加密。 MUST 对所有接收防火墙日志(警报、流量或 TLS 日志)的目标进行加密:对 Amazon CloudWatch Logs 日志组使用客户管理的 AWS KMS 密钥(
aws logs associate-kms-key);对 Amazon S3 存储桶使用 SSE-S3 或客户管理的 AWS KMS 密钥;对 Amazon Data Firehose 传输流使用客户管理的 AWS KMS 密钥,因为这些日志会暴露敏感网络元数据(源和目标 IP、域名及 SNI 值)。SHOULD 也使用客户管理的 AWS KMS 密钥对防火墙的静态数据进行加密。 - 使用条件键限定日志目标资源策略的范围。 SHOULD 使用
aws:SourceArn(防火墙的 ARN)和aws:SourceAccount条件键,限定每个日志目标的资源策略(Amazon S3 存储桶策略、Amazon CloudWatch Logs 资源策略和 Amazon Data Firehose 传输流策略),以确保只有预期账户中的此防火墙能够写入目标,其他账户或服务无法写入(防止混淆代理问题)。 - 使用 CloudTrail 记录 API 变更。 SHOULD 在账户上启用 AWS CloudTrail,以记录防火墙、策略、规则组和日志配置的 API 变更,供审计和事件审查使用。
- 针对关键防火墙事件设置警报。 SHOULD 配置 CloudWatch 警报,对关键防火墙事件(端点故障、策略变更、容量警告)发出通知,以便及时发现并升级处理问题。MUST 使用客户管理的 AWS KMS 密钥加密用于这些警报通知的任何 SNS 主题,并将警报通知接收者限制为获授权的运维和安全人员,因为警报消息可能会暴露敏感防火墙元数据(端点状态、流量模式和容量)。
- 各任务的具体要求。 每份参考资料都包含适用于其工作流的安全注意事项;操作前请阅读相应的参考资料。