mcpField
W
waf

waf

github.com/aws安全3.3k4.4k 次安装1 天前更新
代码仓库

关于 waf

AWS WAF 技能为配置 Web 应用防火墙提供分步骤指导,适用于管理 CloudFront、负载均衡器和 API 等资源防护的人员。它按任务路由到独立流程,并强调先启用日志、正确设置 ACL 范围及防止转发标头伪造。

主要功能

  1. 01创建并关联 Web ACL
  2. 02配置托管规则与速率规则
  3. 03设置 IP 与地理位置匹配
  4. 04管理 Bot Control 与欺诈防护
  5. 05配置日志及 AI 爬虫管理

适用场景

  1. 01为 API 或负载均衡器创建 WAF 防护
  2. 02分析日志并调整规则误报
  3. 03限制 HTTP 洪泛或暴力请求
  4. 04保护登录注册并管理机器人流量

MCP 相关

连接 AWS MCP 服务时,技能通过其执行 AWS 命令,支持沙箱执行、审计日志和可观测性;未连接时可改用 AWS CLI。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aws/agent-toolkit-for-aws --skill waf

安装后在 Claude Code 中输入/waf确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
adaptive-mitigation-playbook-for-forwarded-signals.md
adding-managed-rules-and-tuning-with-count-mode.md
adding-rate-based-rules.md
creating-a-web-acl-and-associating-it-with-a-resource.md
forwarding-signals-with-dynamic-label-interpolation.md
protecting-against-bots-with-bot-control.md
protecting-logins-and-signups-with-fraud-control.md
recovering-the-real-client-ip-behind-a-cdn.md
seeing-and-managing-ai-crawler-traffic.md
setting-up-logging-and-request-sampling.md
stripping-inbound-waf-headers-before-trusting-them.md
turning-bot-control-labels-into-a-confidence-signal.md
using-ip-sets-and-geographic-match-rules.md

详细介绍

AWS WAF

概述

配置 AWS WAF 的领域知识。AWS WAF 是一款 Web 应用防火墙,可过滤流向 CloudFront 分配、Application Load Balancer、API Gateway REST API 和 AppSync GraphQL API 的 HTTP 和 HTTPS 流量。内容涵盖 Web ACL 的创建与关联、AWS Managed Rules、基于速率的规则、匹配规则(IP 集和地理位置)、Bot Control 及基于它构建的信号转发工作流、针对登录和注册的 Fraud Control、AI 和 LLM 爬虫管理,以及每个调优工作流都依赖的日志记录。

此技能是一个路由器。每项客户任务都对应 references/ 下的一个流程文件。执行前,请完整阅读匹配的参考文件,然后遵循其中的约束和步骤。参考文件均为自包含文件:各自包含决策表、约束、流程和故障排除说明。

连接后,请使用 AWS MCP 服务执行命令(沙盒化执行、审计日志记录和可观测性)。否则,请改用 AWS CLI。Web ACL 的作用范围在创建时即固定:CloudFront Web ACL 必须在 us-east-1 中以 CLOUDFRONT 作用范围创建,而区域 Web ACL(Application Load Balancer、API Gateway、AppSync)必须在资源所在的 Region 中以 REGIONAL 作用范围创建。

需要执行哪项 WAF 任务?

目标参考文档
创建 Web ACL 并将其附加到资源创建 Web ACL 并将其与资源关联
在调优前设置日志记录和请求采样设置日志记录和请求采样
添加 AWS Managed Rules 并调优误报添加托管规则并使用计数模式进行调优
限制 HTTP 洪泛攻击和暴力破解添加基于速率的规则
根据 IP 范围或国家/地区放行或拦截使用 IP 集和地理位置匹配规则
检测并控制机器人(入门方案)使用 Bot Control 防护机器人
将机器人标签归并为单一置信度信号将 Bot Control 标签转换为置信度信号
使用一条规则将所有信号转发到源站使用动态标签插值转发信号
确定应用如何处理转发的信号转发信号的自适应缓解操作手册
防止攻击者伪造转发的标头在信任 WAF 标头前剥除传入的 WAF 标头
还原 CDN 后真实的客户端 IP还原 CDN 后真实的客户端 IP
防范登录和注册欺诈使用 Fraud Control 保护登录和注册
查看和管理 AI 与 LLM 爬虫流量查看和管理 AI 爬虫流量

路由说明

  • 先启用日志记录,再进行调优。 所有 Count 模式调优工作流都假定已启用日志记录和请求采样。如果客户尚未设置日志记录,请先运行相应参考;否则,Count 模式调优就无从读取数据。
  • Web ACL 的范围在创建时固定。 CloudFront Web ACL 的范围为 CLOUDFRONT,位于 us-east-1;区域资源需要在其所在区域创建 REGIONAL Web ACL。范围之后无法更改,因此创建相关参考会在构建任何内容之前确定范围。
  • Bot Control 是一组连续步骤,而非单项任务。 防护机器人是起点(启用、选择 Common 或 Targeted、观察)。将标签转化为置信度信号、转发该信号,以及决定应用如何处理该信号,是三个按顺序构建的独立参考。每当信号转发到源站时,都必须配套使用剥离标头的参考,以确保安全。
  • Common 与 Targeted 不是随意选择。 Common 只能捕获主动表明身份的机器人和已知恶意 IP。对于面向规避型机器人的登录、结账或任何高价值端点,必须使用集成了应用 SDK 的 Targeted。机器人参考会针对实际机器人威胁推荐使用 Targeted,而不是将其视为可选项。
  • 速率限制与 Fraud Control。 基于速率的规则可减轻大流量 HTTP 洪泛攻击。凭据填充和虚假账户创建属于基于账户的滥用,速率限制无法应对;这类问题应使用 Fraud Control 参考(ATP 和 ACFP),而非基于速率的参考。
  • 转发标头时需要配置剥离规则。 只要客户通过 x-amzn-waf-* 标头将信号或客户端 IP 转发到源站,就必须使用入站标头剥离参考,以防止欺骗。置信度信号、插值和客户端 IP 参考都指向该参考。
  • 其他技能涵盖的内容。 L3/L4 DDoS 防护和 Shield 费用保护抵免由 shieldadvanced 技能负责。多账户 WAF 部署由 firewallmanager 技能负责。CloudFront 和 Application Load Balancer 配置由各自的技能负责。本技能用于构建 WAF 规则,不负责配置其保护的资源。

安全注意事项

AWS WAF 本身就是一种安全控制,因此配置错误会直接削弱应用的防御能力。 请在每个引用场景中遵循以下要求:

  • 最小权限 IAM。 你 MUST 仅授予任务所需的特定 wafv2: 操作(例如 wafv2:CreateWebACL、wafv2:GetWebACL、wafv2:UpdateWebACL、wafv2:AssociateWebACL、wafv2:PutLoggingConfiguration),而不是授予 wafv2:* 或使用 AWSWAFFullAccess 托管策略。
  • 临时凭证。 运行这些 WAF CLI 命令时,你 MUST 使用带有临时凭证的 IAM 角色(例如 EC2 实例配置文件、SSO 会话或 aws sts assume-role),而不是长期有效的 IAM 用户访问密钥。
  • 监控配置变更。 你 SHOULD 为 wafv2 管理事件启用 AWS CloudTrail,并针对关键 Web ACL 配置变更(例如 DeleteWebACL 和移除规则的 UpdateWebACL)以及 Web ACL 的 BlockedRequests 和 CountedRequests 指标设置 CloudWatch 警报,以便检测规则变更以及拦截或计数流量的突然激增。
  • 配置错误会导致访问放行。 创建后从未关联的 Web ACL,或默认操作设为 Allow 且没有强制执行规则的 Web ACL,都不会过滤任何流量。在报告设置完成之前,你 MUST 确认 Web ACL 已关联,且其安全状态符合预期的默认策略(拦截或放行)。
  • 保护日志目标。 日志可能会捕获凭证和会话数据。你 MUST 对敏感字段(例如 authorization 标头和 cookie)进行脱敏,并且 MUST 对日志目标(CloudWatch Logs、Amazon S3 或 Amazon Data Firehose)启用静态加密。
  • 标头欺骗风险。 转发到源站的任何 x-amzn-waf-* 信号都可能被伪造后随请求传入。只要转发了信号或客户端 IP,你 MUST 添加入站标头剥离规则(请参阅 stripping-inbound-waf-headers-before-trusting-them)。

其他资源

评论

支持 Markdown