通过AWS WAF Rate limit rule来保护API Gateway

通过配置基于 URL 的速率限制规则,使用 AWS WAF 增强 Web 应用程序的安全性。此主动措施有助于防止潜在的滥用或恶意流量,从而确保最佳性能并保护您的 Web 资产。

速率限制有助于保护您的 Web 应用程序免受过多流量和潜在 DDoS 攻击。

本运行手册将指导您完成基于 URL 模式在 AWS Web 应用程序防火墙 (WAF) 上创建速率限制规则的过程。

前提条件:创建一个API Gateway和lambda 函数。

步骤 1:登录 AWS 管理控制台

转到 https://aws.amazon.com/ 并使用适当的凭据登录 AWS 管理控制台。

步骤 2:导航到 AWS WAF

在 AWS 管理控制台中,在"查找服务"搜索栏中搜索"WAF"。

单击"AWS WAF 和 Shield"以访问 AWS WAF 仪表板。

步骤 3:创建 Web ACL 规则

选择资源类型:地区性资源

选择你所在的区域,输入有意义名字和描述信息。

在要关联的资源下面点击添加资源

选择API Gateway和关联的Lambda。

步骤 4:配置速率限制规则

为"规则类型"选择"规则生成器"。

输入规则名称(例如"rate-rule1")。

在"规则生成器"窗口中,选择"类型"下的"基于速率的规则"。

配置基于速率的规则设置:

将"速率限制"设置为指定时间段内允许的最大请求数(例如,每 1分钟10 个请求)。

在"请求聚合"下,选择"源 IP 地址"。

速率限制是满足您提供的条件的1分钟内允许的最大请求数。

默认情况下,基于速率的规则会根据请求 IP 地址聚合和限制请求的速率。您可以配置规则以使用各种其他聚合键和键组合。

步骤 5:定义阻止请求的操作

在操作下选择"阻止"。这将阻止与上面配置的语句匹配的任何 IP。

"操作"下有 5 个选项可供选择:

允许 --- AWS WAF 允许将请求转发到受保护的 AWS 资源进行处理和响应。

阻止 --- AWS WAF 阻止请求。

计数 --- AWS WAF 计算请求,但不确定是否允许或阻止它。

CAPTCHA 和质询 --- AWS WAF 使用 CAPTCHA 谜题和静默质询来验证请求不是来自机器人,AWS WAF 使用令牌来跟踪最近成功的客户端响应。

第 6 步:将规则添加到 Web ACL

配置速率限制规则及其条件后,单击"添加规则"将其包含在 Web ACL 中。

第 7 步:监控和微调速率限制规则

监控 AWS WAF 指标和日志以确保速率限制规则按预期工作。

现在我们来访问API Gateway验证一下:

运行下面的shell 命令来访问API Gateway

复制代码
for i in {1..100}; do curl 'https://o2l2m68szg.execute-api.ap-southeast-2.amazonaws.com/stage/helloworld?greeter=John'; done

可以看到前面的访问正常返回,后面的部分被block了。

恭喜!您已成功根据 URL 模式在 AWS WAF 上创建速率限制规则,以保护您的 Web 应用程序免受过多流量和潜在 DDoS 攻击。请记住定期监控您的 AWS WAF 配置并根据需要进行调整,以满足您的 Web 应用程序不断变化的需求。

相关推荐
G_H_S_3_4 小时前
【网络运维】Linux 文本搜索利器: grep命令
linux·运维·网络·操作文本
.Shu.9 小时前
计算机网络 TLS握手中三个随机数详解
网络·计算机网络·安全
于冬恋17 小时前
RabbitMQ高级
服务器·网络·rabbitmq
tan77º19 小时前
【Linux网络编程】分布式Json-RPC框架 - 项目设计
linux·服务器·网络·分布式·网络协议·rpc·json
.Shu.19 小时前
计算机网络 各版本TLS握手的详细过程
网络·计算机网络
半路_出家ren19 小时前
路由综合实验RIP,OSPF,BGP
网络·网络协议·rip·ospf·ebgp·ibgp
张太行_21 小时前
网络SSL/TLS协议详解
网络·web安全·ssl
zhysunny21 小时前
Day22: Python涡轮增压计划:用C扩展榨干最后一丝性能!
c语言·网络·python
hhzz21 小时前
重温 K8s 基础概念知识系列八( K8S 高级网络)
网络·容器·kubernetes
VVVVWeiYee1 天前
TCP/UDP详解(一)
运维·网络·tcp/ip·udp·信息与通信