介绍 AWS WAF 的全新控制台体验
现在,您可以使用更新后的体验访问控制台中任意位置的 AWS WAF 功能。有关更多详细信息,请参阅 使用更新的控制台体验。
借助标准控制台体验开始使用 AWS WAF
AWS WAF 控制台会指导您完成一系列操作,以配置 AWS WAF 基于指定条件(如请求的来源 IP 地址或请求中的值)阻止或允许 web 请求。在此步骤中,您将创建一个保护包(web ACL)。有关 AWS WAF 保护包(web ACL)的更多信息,请参阅 在 AWS WAF 中配置保护。
本教程介绍如何使用 AWS WAF 执行以下任务:
设置 AWS WAF。
-
使用 AWS WAF 控制台中的向导创建 web 访问控制列表(web ACL)。
创建 web ACL
登录到 AWS 管理控制台,然后打开 AWS WAF 控制台,网址为:https://console.aws.amazon.com/wafv2/homev2
。 -
在 AWS WAF 主页上,选择创建 web ACL。
-
对于 名称,输入要用于标识此 web ACL 的名称。
注意
web ACL 在创建之后无法更改名称。
-
(可选)对于 描述 - 可选,如果需要,请输入 web ACL 的较长描述。
-
对于 CloudWatch 指标名称,更改默认名称(如果适用)。按照控制台上的指导进行有效字符操作。该名称不能包含为 AWS WAF 保留的特殊字符、空格或指标名称,包括“All”和“Default_Action”。
注意
创建 web ACL 之后,无法更改 CloudWatch 指标名称。
-
对于 资源类型,请选择 CloudFront 分发。该 区域 会自动填充到 全球 (CloudFront,以便进行 CloudFront 分发。
-
(可选)对于关联 AWS 资源(可选),选择添加 AWS 资源。在对话框中,选择要关联的资源,然后选择添加。AWS WAF 返回到描述 web ACL 和关联的 AWS 资源页面。
-
选择下一步。
注意
对于在本教程中创建的资源,AWS 向您收取的费用通常少于每日 0.25 美元。当您完成本教程时,建议您删除资源以避免产生不必要的费用。
步骤 1:设置 AWS WAF
如果您尚未按照 设置您的账户以使用服务 中的常规设置步骤操作,请立即执行操作。
步骤 2:创建 web ACL
AWS WAF 控制台会指导您完成一系列操作,以配置 AWS WAF 基于指定条件(如请求的来源 IP 地址或请求中的值)阻止或允许 web 请求。在此步骤中,您将创建一个 web ACL。有关 AWS WAF web ACL 的更多信息,请参阅 在 AWS WAF 中配置保护。
创建 web ACL
登录到 AWS 管理控制台,然后打开 AWS WAF 控制台,网址为:https://console.aws.amazon.com/wafv2/homev2
。 -
在 AWS WAF 主页上,选择创建 web ACL。
-
对于 名称,输入要用于标识此 web ACL 的名称。
注意
web ACL 在创建之后无法更改名称。
-
(可选)对于 描述 - 可选,如果需要,请输入 web ACL 的较长描述。
-
对于 CloudWatch 指标名称,更改默认名称(如果适用)。按照控制台上的指导进行有效字符操作。该名称不能包含为 AWS WAF 保留的特殊字符、空格或指标名称,包括“All”和“Default_Action”。
注意
创建 web ACL 之后,无法更改 CloudWatch 指标名称。
-
对于 资源类型,请选择 CloudFront 分发。该 区域 会自动填充到 全球 (CloudFront,以便进行 CloudFront 分发。
-
(可选)对于关联 AWS 资源(可选),选择添加 AWS 资源。在对话框中,选择要关联的资源,然后选择添加。AWS WAF 返回到描述 web ACL 和关联的 AWS 资源页面。
-
选择下一步。
步骤 3:添加字符串匹配规则
在此步骤中,您将使用字符串匹配语句创建规则,并指示如何处理匹配请求。字符串匹配规则语句标识您希望 AWS WAF 在请求中搜索的字符串。字符串通常由可打印 ASCII 字符组成,但您可以指定从十六进制 0x00 到 0xFF(十进制 0 到 255)的任何字符。除了指定要搜索的字符串外,您还可以指定要搜索的 web 请求组件,例如标头、查询字符串或请求正文。
此语句类型在 web 请求组件上运行,需要以下请求组件设置:
请求组件:web 请求中要检查的部分,例如查询字符串或正文。
警告
如果要您检查请求组件正文、JSON 正文、标头 或 Cookie,请在 AWS WAF 中的超大 web 请求组件 中阅读有关可检查的内容 AWS WAF 数量的限制。
有关请求组件的更多信息,请参阅 在 AWS WAF 中调整规则语句设置。
可选文本转换:在检查请求组件之前 AWS WAF 要对其执行的转换。例如,您可以将空格转换为小写或标准化空格。如果您指定多个转换,AWS WAF 将按列出的顺序处理它们。有关信息,请参阅 在 AWS WAF 中使用文本转换。
有关 AWS WAF 规则的更多信息,请参阅 AWS WAF 规则。
创建字符串匹配规则语句
-
在 添加规则和规则组 页面上,选择 添加规则、添加我自己的规则和规则组、规则生成器,然后选择 规则可视化编辑器。
注意
控制台提供 规则可视化编辑器 和 规则 JSON 编辑器。JSON 编辑器使您可以轻松地在 web ACL 之间复制配置,并且对于更复杂的规则集(如那些具有多个嵌套级别的规则集)是必需的。
此过程使用 规则可视化编辑器。
-
对于 名称,输入要用于标识此规则的名称。
-
对于 类型,选择 常规规则。
-
对于 如果请求,选择 与语句匹配。
其他选项适用于逻辑规则语句类型。您可以使用它们来组合或否定其他规则语句的结果。
-
在语句上,对于检查,打开下拉列表并选择希望 AWS WAF 在其中检查的 web 请求组件。对于此示例,选择单个标头。
选择单个标头时,还可以指定希望 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 中使用规则操作 和 设置规则优先级。
-
选择添加规则。
步骤 4:添加 AWS 托管规则的规则组
AWS 托管规则提供了一组托管规则组,其中大部分可以免费用于 AWS WAF 客户。有关规则组的更多信息,请参阅 AWS WAF 规则组。我们将向此 web ACL 添加 AWS 托管规则的规则组。
添加 AWS 托管规则的规则组
-
在 添加规则和规则组 页面上,选择 添加规则,然后选择 添加托管规则组。
-
在添加托管规则组页面上,展开 AWS 托管规则组。(您还将看到为 AWS Marketplace 卖家提供的列表。您可以订阅列表上的产品,然后按照适用于 AWS 托管规则的规则组的方式使用它们。)
-
对要添加的每个规则组执行以下操作:
-
在操作列中,打开添加到 web ACL切换选项。
-
选择编辑,然后在规则组的规则列表中打开覆盖所有规则操作下拉列表并选择 Count。这会将规则组中所有规则的操作设置为仅计数。这样,您就可以在使用规则组中的所有规则之前,查看其中的任何规则其对 web 请求的行为。
-
选择保存规则。
-
-
选择添加规则,然后选择 添加托管规则组。这样,您将返回到添加规则和规则组页面。
步骤 5:完成 web ACL 配置
完成向 web ACL 配置中添加规则和规则组后,通过管理 web ACL 中规则的优先级并配置诸如指标、标记和日志记录之类的设置来结束。
完成 web ACL 配置
-
在 添加规则和规则组 页面上,选择 下一步。
-
在 设置规则优先级页面上,您可以看到 web ACL 中规则和规则组的处理顺序。AWS WAF 从列表顶部开始处理它们。您可以通过上下移动规则来更改处理顺序。要执行此操作,请在列表中选择一个,然后选择 上移 或 下移。有关规则优先级的更多信息,请参阅 设置规则优先级。
-
选择下一步。
-
在配置指标页面上,对于 Amazon CloudWatch 指标,您可以查看规则和规则组的计划指标,并可以查看 web 请求采样选项。有关查看采样请求的信息,请参阅 查看 web 请求示例。有关 Amazon CloudWatch 指标的更多信息,请参阅 使用 Amazon CloudWatch 监控。
您可以在 AWS WAF 控制台 web ACL 页面的流量概述选项卡下访问 web 流量指标摘要。控制台控制面板提供 web ACL 的 Amazon CloudWatch 指标的近实时摘要。有关更多信息,请参阅 保护包(web ACL)的流量概述控制面板。
-
选择下一步。
-
在 审核和创建 web ACL 页面上,查看您的设置,然后选择 创建 web ACL。
该向导将返回到 web ACL 页面,其中列出了您的新 web ACL。
步骤 6:清除资源
现在您已成功完成了教程。为了防止您的账户产生额外的 AWS WAF 费用,需要清除所创建的 AWS WAF 对象。或者,您可以更改配置以便与您确实要使用 AWS WAF 进行管理 web 请求匹配。
注意
对于在本教程中创建的资源,AWS 向您收取的费用通常少于每日 0.25 美元。完成后,建议您删除资源以防止产生不必要的费用。
删除 AWS WAF 进行收费的对象
-
在 web ACL 页面中,从列表中选择您的 web ACL,然后选择编辑。
-
在关联 AWS 资源选项卡上,对于每个关联的资源,选择资源名称旁边的单选按钮,然后选择取消关联。这将使 web ACL 与您的 AWS 资源取消关联。
-
在以下每个屏幕中,选择下一步,直到您返回到 web ACL 页面。
在 web ACL 页面中,从列表中选择您的 web ACL,然后选择删除。
规则和规则语句不存在于规则组和 web ACL 定义之外。如果您删除某个 web ACL,则会删除您在该 web ACL 中定义的所有单独规则。从 web ACL 中删除规则组时,您只需删除对它的引用即可。