

**引入全新的主机体验 Amazon WAF**

现在，您可以使用更新的体验访问控制台中任意位置的 Amazon WAF 功能。有关更多详细信息，请参阅[使用控制台](https://docs.amazonaws.cn/waf/latest/developerguide/working-with-console.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 开始 Amazon WAF 使用标准主机体验
<a name="setup-existing-console"></a>

 Amazon WAF 控制台将指导您完成配置过程， Amazon WAF 以根据您指定的标准（例如请求来源的 IP 地址或请求中的值）阻止或允许 Web 请求。在此步骤中，您将创建一个保护包（web ACL）。有关 Amazon WAF 保护包 (Web ACLs) 的更多信息，请参阅[在中配置保护 Amazon WAF](web-acl.md)。

本教程介绍如何使用 Amazon WAF 来执行以下任务：
+ 设置 Amazon WAF。
+ 使用控制 Amazon WAF 台中的向导创建 Web 访问控制列表 (Web ACL)。

**创建 web ACL**

  1. 登录 Amazon Web Services 管理控制台 并在 [https://console.aws.amazon.com/wafv2/homev](https://console.amazonaws.cn/wafv2/homev2) 2 上打开主 Amazon WAF 机。

  1. 在 Amazon WAF 主页上，选择**创建 Web ACL**。

  1. 对于 **名称**，输入要用于标识此 web ACL 的名称。
**注意**  
web ACL 在创建之后无法更改名称。

  1. （可选）对于 **描述 - 可选**，如果需要，请输入 web ACL 的较长描述。

  1. 对于 **CloudWatch metric name (CloudWatch 指标名称)**，更改默认名称（如果适用）。按照控制台上的指导进行有效字符操作。该名称不能包含为 Amazon WAF保留的特殊字符、空格或指标名称，包括“All”和“Default\$1Action”。
**注意**  
创建 Web ACL 后，您无法更改 CloudWatch 指标名称。

  1. 对于**资源类型**，选择**CloudFront分配**。**区域**会自动填充到 Gl **obal (CloudFront)** 以进行 CloudFront 分配。

  1. （可选）对于**关联 Amazon 资源-可选**，选择**添加 Amazon 资源**。在对话框中，选择要关联的资源，然后选择**添加**。 Amazon WAF 返回到**描述 web ACL 和关联的 Amazon 资源**页面。

  1. 选择**下一步**。

**注意**  
Amazon 对于您在本教程中创建的资源，每天向您收取的费用通常少于 0.25 美元。当您完成本教程时，建议您删除资源以避免产生不必要的费用。

## 第 1 步：设置 Amazon WAF
<a name="getting-started-aws-account"></a>

如果您尚未按照 [设置您的账户以使用服务](setting-up-waf.md) 中的常规设置步骤操作，请立即执行操作。

## 步骤 2：创建 web ACL
<a name="getting-started-wizard-create-web-acl"></a>

 Amazon WAF 控制台将指导您完成配置过程， Amazon WAF 以根据您指定的标准（例如请求来源的 IP 地址或请求中的值）阻止或允许 Web 请求。在此步骤中，您将创建一个 web ACL。有关 Amazon WAF Web 的更多信息 ACLs，请参阅[在中配置保护 Amazon WAF](web-acl.md)。

**创建 web ACL**

1. 登录 Amazon Web Services 管理控制台 并在 [https://console.aws.amazon.com/wafv2/homev](https://console.amazonaws.cn/wafv2/homev2) 2 上打开主 Amazon WAF 机。

1. 在 Amazon WAF 主页上，选择**创建 Web ACL**。

1. 对于 **名称**，输入要用于标识此 web ACL 的名称。
**注意**  
web ACL 在创建之后无法更改名称。

1. （可选）对于 **描述 - 可选**，如果需要，请输入 web ACL 的较长描述。

1. 对于 **CloudWatch metric name (CloudWatch 指标名称)**，更改默认名称（如果适用）。按照控制台上的指导进行有效字符操作。该名称不能包含为 Amazon WAF保留的特殊字符、空格或指标名称，包括“All”和“Default\$1Action”。
**注意**  
创建 Web ACL 后，您无法更改 CloudWatch 指标名称。

1. 对于**资源类型**，选择**CloudFront分配**。**区域**会自动填充到 Gl **obal (CloudFront)** 以进行 CloudFront 分配。

1. （可选）对于**关联 Amazon 资源-可选**，选择**添加 Amazon 资源**。在对话框中，选择要关联的资源，然后选择**添加**。 Amazon WAF 返回到**描述 web ACL 和关联的 Amazon 资源**页面。

1. 选择**下一步**。

## 步骤 3：添加字符串匹配规则
<a name="getting-started-wizard-create-string-condition"></a>

在此步骤中，您将使用字符串匹配语句创建规则，并指示如何处理匹配请求。字符串匹配规则语句标识您希望 Amazon WAF 在请求中搜索的字符串。字符串通常由可打印 ASCII 字符组成，但您可以指定从十六进制 0x00 到 0xFF（十进制 0 到 255）的任何字符。除了指定要搜索的字符串外，您还可以指定要搜索的 web 请求组件，例如标头、查询字符串或请求正文。

此语句类型在 web 请求组件上运行，需要以下请求组件设置：
+ **请求组件**：web 请求中要检查的部分，例如查询字符串或正文。
**警告**  
如果您检查请求组件 B **ody**、**JSON 正**文、**Header** **s 或 Cookie**，请阅读有关内容 Amazon WAF 可检查数量的限制[中的 Web 请求组件过大 Amazon WAF](waf-oversize-request-components.md)。

  有关请求组件的更多信息，请参阅 [在中调整规则语句设置 Amazon WAF](waf-rule-statement-fields.md)。
+ **可选的文本转换**-在检查请求组件之前 Amazon WAF 要对其执行的转换。例如，您可以将空格转换为小写或标准化空格。如果您指定了多个转换，则按列出的顺序 Amazon WAF 处理它们。有关信息，请参阅[在中使用文本转换 Amazon WAF](waf-rule-statement-transformation.md)。

有关 Amazon WAF 规则的更多信息，请参阅[Amazon WAF 规则](waf-rules.md)。

**创建字符串匹配规则语句**

1. 在 **添加规则和规则组** 页面上，选择 **添加规则**、**添加我自己的规则和规则组**、**规则生成器**，然后选择 **规则可视化编辑器**。
**注意**  
控制台提供 **规则可视化编辑器** 和 **规则 JSON 编辑器**。JSON 编辑器使您可以轻松地在 Web ACLs 之间复制配置，对于更复杂的规则集（例如具有多个嵌套级别的规则集）来说，这是必需的。  
此过程使用 **规则可视化编辑器**。

1. 对于 **名称**，输入要用于标识此规则的名称。

1. 对于 **类型**，选择 **常规规则**。

1. 对于 **如果请求**，选择 **与语句匹配**。

   其他选项适用于逻辑规则语句类型。您可以使用它们来组合或否定其他规则语句的结果。

1. 在 St **at** ement 中，对于 **Inspect**，打开下拉列表并选择 Amazon WAF 要检查的 Web 请求组件。对于此示例，选择**单个标头**。

   选择**单个标头**时，还可以指定希望 Amazon WAF 检查的标头。输入 **User-Agent**。此值不区分大小写。

1. 对于 **匹配类型**，选择指定的字符串必须出现在 `User-Agent` 标头中的位置。

   在此示例中，选择 **完全匹配字符串**。这表示 Amazon WAF 检查每个 Web 请求中的用户代理标头，寻找与您指定的字符串相同的字符串。

1. 对于 **要匹配的字符串**，请指定希望 Amazon WAF 搜索的字符串。**要匹配的字符串** 的最大长度是 200 个字符。如果您要指定 base64 编码值，您可以指定最多 200 个字符（编码前）。

   对于此示例，请输入**MyAgent**。 Amazon WAF 将检查 Web 请求中的`User-Agent`标头以获取值`MyAgent`。

1. 将 **文本转换** 保留设置为 **无**。

1. 对于**操作**，选择您希望规则在与 web 请求匹配时执行的操作。在此示例中，选择**计数**，其他选项保持不变。计数操作会为与规则匹配的 web 请求创建指标，但不会影响请求是允许还是阻止。有关操作选择的更多信息，请参阅 [在中使用规则操作 Amazon WAF](waf-rule-action.md) 和 [设置规则优先级](web-acl-processing-order.md)。

1. 选择**添加规则**。

## 步骤 4：添加 Amazon 托管规则规则组
<a name="getting-started-wizard-add-rule-group"></a>

Amazon 托管规则提供了一组托管规则组供您使用，其中大部分对 Amazon WAF 客户免费。有关规则组的更多信息，请参阅 [Amazon WAF 规则组](waf-rule-groups.md)。我们将向此 Web ACL 添加 Amazon 托管规则组。

**添加 Amazon 托管规则规则组**

1. 在 **添加规则和规则组** 页面上，选择 **添加规则**，然后选择 **添加托管规则组**。

1. 在**添加托管规则组**页面上，展开 **Amazon 托管规则组**。（您还将看到为 Amazon Web Services Marketplace 卖家提供的商品。 您可以订阅他们的产品，然后按照与 Amazon 托管规则组相同的方式使用它们。）

1. 对要添加的每个规则组执行以下操作：

   1. 在**操作**列中，打开**添加到 web ACL**切换选项。

   1. 选择**编辑**，然后在规则组的**规则**列表中打开**覆盖所有规则操作**下拉列表并选择 **Count**。这会将规则组中所有规则的操作设置为仅计数。这样，您就可以在使用规则组中的所有规则之前，查看其中的任何规则其对 web 请求的行为。

   1. 选择**保存规则**。

1. 选择**添加规则**，然后选择 **添加托管规则组**。这样，您将返回到**添加规则和规则组**页面。

## 步骤 5：完成 web ACL 配置
<a name="getting-started-wizard-finish-webacl-options"></a>

完成向 web ACL 配置中添加规则和规则组后，通过管理 web ACL 中规则的优先级并配置诸如指标、标记和日志记录之类的设置来结束。

**完成 web ACL 配置**

1. 在 **添加规则和规则组** 页面上，选择 **下一步**。

1. 在**设置规则优先级**页面上，您可以看到 Web ACL 中规则和规则组的处理顺序。 Amazon WAF 从列表顶部开始处理它们。您可以通过上下移动规则来更改处理顺序。要执行此操作，请在列表中选择一个，然后选择 **上移** 或 **下移**。有关规则优先级的更多信息，请参阅 [设置规则优先级](web-acl-processing-order.md)。

1. 选择**下一步**。

1. 在**配置指标**页面上，对于**亚马逊 CloudWatch指标**，您可以查看规则和规则组的计划指标，也可以查看网络请求采样选项。有关查看采样请求的信息，请参阅 [查看 web 请求示例](web-acl-testing-view-sample.md)。有关 Amazon CloudWatch 指标的信息，请参阅[使用 Amazon 进行监控 CloudWatch](monitoring-cloudwatch.md)。

   您可以在 Amazon WAF 控制台的 Web ACL 页面的 “流量**概述” 选项卡下访问 Web 流量**指标摘要。控制台控制面板提供网络 ACL 的 Amazon CloudWatch 指标的近乎实时的摘要。有关更多信息，请参阅 [保护包的流量概述仪表板 (Web ACLs)](web-acl-dashboards.md)。

1. 选择**下一步**。

1. 在 **审核和创建 web ACL** 页面上，查看您的设置，然后选择 **创建 web ACL**。

该向导将返回到 **web ACL** 页面，其中列出了您的新 web ACL。

## 步骤 6：清除资源
<a name="getting-started-wizard-clean-up"></a>

现在您已成功完成了教程。为防止您的账户产生额外 Amazon WAF 费用，请清理您创建的 Amazon WAF 对象。或者，您可以更改配置以匹配您真正想要管理的 Web 请求 Amazon WAF。

**注意**  
Amazon 对于您在本教程中创建的资源，每天向您收取的费用通常少于 0.25 美元。完成后，建议您删除资源以防止产生不必要的费用。

**删除 Amazon WAF 收取费用的对象**

1. 在 **web ACL** 页面中，从列表中选择您的 web ACL，然后选择**编辑**。

1. 在**关联 Amazon 资源**选项卡上，对于每个关联的资源，选择资源名称旁边的单选按钮，然后选择**取消关联**。这会断开 Web ACL 与您的 Amazon 资源的关联。

1. 在以下每个屏幕中，选择**下一步**，直到您返回到 **web ACL** 页面。

   在 **web ACL** 页面中，从列表中选择您的 web ACL，然后选择**删除**。

规则和规则语句不存在于规则组和 web ACL 定义之外。如果您删除某个 web ACL，则会删除您在该 web ACL 中定义的所有单独规则。从 web ACL 中删除规则组时，您只需删除对它的引用即可。