通过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 应用程序不断变化的需求。

相关推荐
一只小bit2 小时前
Linux网络:阿里云轻量级应用服务器配置防火墙模板开放端口
linux·网络·阿里云
BachelorSC3 小时前
【网络工程师软考版】网络安全
网络·安全·web安全
(Charon)5 小时前
【C语言网络编程】HTTP 客户端请求(基于 Socket 的完整实现)
网络·网络协议·http
Bryce李小白5 小时前
Kotlin实现Retrofit风格的网络请求封装
网络·kotlin·retrofit
Lovyk6 小时前
Linux网络管理
服务器·网络·php
MC皮蛋侠客7 小时前
AsyncIOScheduler 使用指南:高效异步任务调度解决方案
网络·python·fastapi
可观测性用观测云8 小时前
AWS VPC NAT 网关可观测最佳实践
aws
DAWN_T178 小时前
关于网络模型的使用和修改/保存和读取
网络·人工智能·pytorch·python·深度学习·神经网络·机器学习
观测云9 小时前
AWS MemoryDB 可观测最佳实践
云计算·aws
fake_ss1989 小时前
计算机网络基础(一) --- (网络通信三要素)
java·网络·tcp/ip·udp·信息与通信