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