本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置 AWS WAF 及其组件
本教程展示了如何使用 AWS WAF 执行以下任务:
设置 AWS WAF.
-
使用中的向导创建 Web 访问控制列表 (WebACL) AWS WAF console。
-
选择 AWS 你想要的资源 AWS WAF 来检查 Web 请求。本教程介绍了 Amazon 的操作步骤 CloudFront。Amazon API Gateway REST API、Application Load Balancer、 AWS AppSync GraphQLAPI,一个亚马逊 Cognito 用户池,一个 AWS App Runner 服务,或 AWS 已验证访问实例。
-
添加要用于筛选 Web 请求的规则和规则组。例如,您可以指定请求的来源 IP 地址以及请求中仅由攻击者使用的值。对于每个规则,您可以指定如何处理匹配的 Web 请求。你可以做一些事情,比如屏蔽或计数,也可以运行机器人挑战,比如CAPTCHA。您可以为在 Web 中定义的每条规则ACL以及您在规则组中定义的每条规则定义一个操作。
为 Web 指定默认操作ACL,或者 Block 或者 Allow。 这个动作是 AWS WAF 当网络中的规则ACL没有明确允许或阻止请求时,会接受请求。
注意
AWS 对于您在本教程中创建的资源,每天向您收取的费用通常少于 0.25 美元。当您完成本教程时,建议您删除资源以避免产生不必要的费用。
步骤 1:设置 AWS WAF
如果您尚未按照 设置您的账户以使用服务 中的常规设置步骤操作,请立即执行操作。
步骤 2:创建网站 ACL
这些区域有: AWS WAF 控制台将引导您完成配置过程 AWS WAF 根据您指定的标准(例如请求来源的 IP 地址或请求中的值)阻止或允许 Web 请求。在此步骤中,您将创建一个网站ACL。有关 AWS WAF 网页ACLs,请参阅ACLs在 web 中使用 AWS WAF。
创建网站 ACL
登录 AWS Management Console 然后打开 AWS WAF 控制台位于https://console.aws.amazon.com/wafv2/
。 -
来自 AWS WAF 主页,选择创建网页ACL。
-
在 “名称” 中,输入您要用来识别此网站的名称ACL。
注意
创建网站后,您无法更改名称ACL。
-
(可选)在 “描述-可选” 中,根据ACL需要输入较长的网络描述。
-
对于CloudWatch 指标名称,如果适用,请更改默认名称。按照控制台上的指导进行有效字符操作。名称不能包含保留的特殊字符、空格或指标名称 AWS WAF,包括 “全部” 和 “默认操作”。
注意
创建网站后,您无法更改 CloudWatch 指标名称ACL。
-
对于资源类型,选择CloudFront分配。区域会自动填充到 Gl obal (CloudFront) 以进行 CloudFront 分配。
-
(可选)适用于关联公司 AWS 资源-可选,选择添加 AWS 资源。在对话框中,选择要关联的资源,然后选择添加。 AWS WAF 将您返回到 Desc ribe Web ACL 并关联的 AWS 资源页面。
-
选择下一步。
步骤 3:添加字符串匹配规则
在此步骤中,您将使用字符串匹配语句创建规则,并指示如何处理匹配请求。字符串匹配规则语句可识别你想要的字符串 AWS WAF 在请求中搜索。通常,字符串由可打印的字符组成,但您可以指定从十六进制 0x00 到 0xFF(十进制 0 到 255)之间的任何ASCII字符。除了指定要搜索的字符串外,您还可以指定要搜索的 Web 请求组件,例如标头、查询字符串或请求正文。
此语句类型在 Web 请求组件上运行,需要以下请求组件设置:
请求组件 – Web 请求中要检查的部分,例如查询字符串或正文。
警告
如果您检查请求组件 B ody、b JSONody、Header s 或 Cookie,请阅读内容数量的限制 AWS WAF 可以在在中处理超大的 Web 请求组件 AWS WAF。
有关请求组件的更多信息,请参阅 在中调整规则语句设置 AWS WAF。
可选的文本转换-你想要的转换 AWS WAF 在检查请求组件之前对其执行。例如,您可以将空格转换为小写或标准化空格。如果您指定了多个转换, AWS WAF 按列出的顺序处理它们。有关信息,请参阅在中使用文本转换 AWS WAF。
有关以下内容的更多信息 AWS WAF 规则,请参阅使用 AWS WAF 规则。
创建字符串匹配规则语句
-
在 添加规则和规则组 页面上,选择 添加规则、添加我自己的规则和规则组、规则生成器,然后选择 规则可视化编辑器。
注意
控制台提供规则可视化编辑器和规则JSON编辑器。JSON编辑器使您可以轻松地在 Web ACLs 之间复制配置,对于更复杂的规则集(例如具有多个嵌套级别的规则集)来说,该编辑器是必需的。
此过程使用 规则可视化编辑器。
-
对于 名称,输入要用于标识此规则的名称。
-
对于 类型,选择 常规规则。
-
对于 如果请求,选择 与语句匹配。
其他选项适用于逻辑规则语句类型。您可以使用它们来组合或否定其他规则语句的结果。
-
在 St atem ent 中,在 Insp ect 中,打开下拉列表并选择你想要的 Web 请求组件 AWS WAF 去检查。在本示例中,选择单标题。
选择 “单标题” 时,还要指定想要哪个标题 AWS WAF 去检查。输入
User-Agent
。此值不区分大小写。 -
对于 匹配类型,选择指定的字符串必须出现在
User-Agent
标头中的位置。在此示例中,选择 完全匹配字符串。这表明 AWS WAF 检查每个 Web 请求中的用户代理标头,寻找与您指定的字符串相同的字符串。
-
对于要匹配的字符串,请指定所需的字符串 AWS WAF 来搜索。要匹配的字符串 的最大长度是 200 个字符。如果您要指定 base64 编码值,您可以指定最多 200 个字符(编码前)。
在此示例中,请输入 MyAgent。 AWS WAF 将检查 Web 请求中的
User-Agent
标头以获取值MyAgent
。 -
将 文本转换 保留设置为 无。
-
对于操作,选择您希望规则在与 Web 请求匹配时执行的操作。在此示例中,选择计数,其他选项保持不变。计数操作会为与规则匹配的 Web 请求创建指标,但不会影响请求是允许还是阻止。有关操作选择的更多信息,请参阅 在中使用规则操作 AWS WAF 和 使用ACLs带有规则和规则组的 Web AWS WAF。
-
选择 添加规则。
第 4 步:添加 AWS 托管规则规则组
AWS 托管规则提供了一组托管规则组供您使用,其中大多数是免费的 AWS WAF 客户。有关规则组的更多信息,请参阅使用 AWS WAF 规则组。我们将添加一个 AWS 托管规则规则组到此 Web ACL。
要添加 AWS 托管规则规则组
-
在 添加规则和规则组 页面上,选择 添加规则,然后选择 添加托管规则组。
-
在添加托管规则组页面上,展开列表 AWS 托管规则组。(您还将看到提供的房源 AWS Marketplace 卖家。您可以订阅他们的产品,然后以与之相同的方式使用它们 AWS 托管规则规则组。)
-
对要添加的每个规则组执行以下操作:
-
在 “操作” 列中,打开 “添加到网页 ACL” 开关。
-
选择 “编辑”,然后在规则组的 “规则” 列表中打开 “覆盖所有规则操作” 下拉列表并选择 Count。 这会将规则组中所有规则的操作设置为仅计数。这样,您就可以在使用规则组中的所有规则之前,查看其中的任何规则其对 Web 请求的行为。
-
选择保存规则。
-
-
选择添加规则,然后选择 添加托管规则组。这样,您将返回到添加规则和规则组页面。
第 5 步:完成网页ACL配置
在 Web ACL 配置中添加完规则和规则组后,通过管理 Web 中规则的优先级ACL并配置指标、标记和日志记录等设置来完成。
完成您的 Web ACL 配置
-
在 添加规则和规则组 页面上,选择 下一步。
-
在设置规则优先级页面上,您可以看到网络中规则和规则组的处理顺序ACL。 AWS WAF 从列表顶部开始处理它们。您可以通过上下移动规则来更改处理顺序。要执行此操作,请在列表中选择一个,然后选择 上移 或 下移。有关规则优先级的更多信息,请参阅 在 Web 中设置规则优先级 ACL。
-
选择下一步。
-
在配置指标页面上,对于亚马逊 CloudWatch指标,您可以查看规则和规则组的计划指标,也可以查看网络请求采样选项。有关查看采样请求的信息,请参阅 查看 Web 请求示例。有关 Amazon CloudWatch 指标的信息,请参阅使用 Amazon 进行监控 CloudWatch。
您可以在网页上访问网页上ACL的 Web 流量指标摘要 AWS WAF 控制台,在 “流量概述” 选项卡下。控制台控制面板提供网络上的 Amazon CloudWatch 指标的近乎实时ACL的摘要。有关更多信息,请参阅 Web ACL 流量概述控制面板。
-
选择下一步。
-
在查看并创建ACL网页上,查看您的设置,然后选择创建网页ACL。
向导会将您返回到网ACL页,其中列出了您的新网ACL页。
步骤 6:清除资源
现在您已成功完成了教程。为了防止您的账户累积额外资金 AWS WAF 充电,清理 AWS WAF 您创建的对象。或者,您可以使用更改配置以匹配您真正想要管理的 Web 请求 AWS WAF.
注意
AWS 对于您在本教程中创建的资源,每天向您收取的费用通常少于 0.25 美元。完成后,建议您删除资源以防止产生不必要的费用。
要删除以下对象 AWS WAF 收费
-
在ACL网页中,ACL从列表中选择您的网站,然后选择编辑。
-
关于美联社 AWS 资源选项卡,对于每个关联的资源,选择资源名称旁边的单选按钮,然后选择取消关联。这会断开网络与你的ACL关联 AWS 资源的费用。
-
在以下每个屏幕中,选择 “下一步”,直到返回网ACL页。
在ACL网页中,ACL从列表中选择您的网站,然后选择删除。
规则和规则语句不存在于规则组和 Web ACL 定义之外。如果您删除网站ACL,则会删除您在网络中定义的所有单个规则ACL。从 Web 中移除规则组时ACL,只需移除对该规则组的引用即可。