本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用,根据 IP 地址或地理位置限制访问 AWS WAF
Louis Hourcade,Amazon Web Services
Summary
AWS WAF是一种 Web 应用程序防火墙,可帮助保护 Web 应用程序以及可能影响可用性、危及安全性或消耗过多资源的常见 Web 漏洞和僵尸程序的 APIs 侵害。通过中的 AWS WAF Web 访问控制列表 (Web ACLs),您可以控制流量如何到达您的应用程序。在 Web ACL 中,您可以添加旨在允许合法流量、控制机器人流量和阻止常见攻击模式的规则或规则组。有关更多信息,请参阅AWS WAF 工作原理。
您可以将以下类型的规则关联到您的 AWS WAF 网站 ACLs:
通过使用此模式和关联的代码存储库,您可以使用 ACLs 使用自定义规则部署 AWS WAF Web。AWS Cloud Development Kit (AWS CDK)这些规则根据最终用户的 IP 地址或地理位置限制对 Web 应用程序资源的访问。您也可以选择附加多个托管规则组。
先决条件和限制
先决条件
限制
您只能在可用 AWS 区域 的地方 AWS WAF 使用此模式。有关区域可用性,请参阅按区域划分的AWS 服务
。
工具
AWS 服务
AWS Cloud Development Kit (AWS CDK)是一个软件开发框架,可帮助您在代码中定义和配置 AWS Cloud 基础架构。
AWS WAF 是一种 Web 应用程序防火墙,可帮助您监控转发至受保护 Web 应用程序资源的 HTTP 和 HTTPS 请求。
代码存储库
此模式的代码可在 AWS WAF存储库的 GitHub IP 和地理位置限制
IPMatch阻止来自不允许的 IP 地址的请求。GeoMatch阻止来自不允许的国家/地区的请求。
在部署期间,您可以选择将以下所有托管规则组附加到您的 Web ACLs:
核心规则集(CRS)– 此规则组包含通常适用于 Web 应用程序的规则。它有助于防止利用各种漏洞,包括 OWASP 出版物(如 OWASP Top 10
)中描述的一些高风险和经常发生的漏洞。 管理保护 – 此规则组包含有助于您阻止对公开的管理页面进行外部访问的规则。
已知错误输入 ‐ 此规则组帮助阻止请求模式,这些模式确认无效且与漏洞攻击或发现相关联。
Amazon IP 声誉列表 – 此规则组包含基于 Amazon 内部威胁情报的规则。它可以帮助您阻止通常与机器人或其他威胁关联的 IP 地址。
Linux 操作系统托管规则组 – 此规则组有助于阻止请求模式,这些请求模式与利用 Linux 漏洞(包括 Linux 特定的本地文件包含(LFI)攻击)相关。
SQL 数据库托管规则组 – 此规则组有助于阻止与 SQL 数据库的漏洞利用相关的请求模式,例如 SQL 注入攻击。
操作说明
| Task | 说明 | 所需技能 |
|---|---|---|
克隆存储库。 | 输入以下命令,将 AWS WAF的 IP 和地理定位限制
| Git |
配置规则。 |
| 常规 AWS、Python |
| Task | 说明 | 所需技能 |
|---|---|---|
引导您的 AWS 环境。 | 如果尚未完成此操作,则需要先引导您的 AWS 环境,然后才能部署 AWS CDK 应用程序。
| 常规 AWS |
部署 AWS CDK 应用程序。 |
| 常规 AWS |
| Task | 说明 | 所需技能 |
|---|---|---|
确认 Web ACLs 已成功部署。 |
| 常规 AWS |
(可选)将 Web ACLs 与您的资源关联。 | 将 AWS WAF 网站 ACLs 与您的 AWS 资源相关联,例如应用程序负载均衡器、API Gateway 或 CloudFront 分发。有关说明,请参阅将 Web ACL 与 AWS 资源关联或取消关联。有关示例,请参阅 AWS CDK 文档中的类 CfnWebACLAssociation (构造)。 | 常规 AWS |
| Task | 说明 | 所需技能 |
|---|---|---|
删除堆栈。 |
| 常规 AWS |
相关资源
API 参考(AWS CDK 文档)
aws-cdk-lib.aws_wafv2 模块(文档)AWS CDK
使用 Web ACLs(AWS WAF 文档)
管理自己的规则组(AWS WAF 文档)
规则(AWS WAF 文档)