

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

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

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

# 将保护包 (Web ACL) 从 Cl Amazon WAF assic 迁移到 Amazon WAF
<a name="waf-migrating-procedure"></a>

自动迁移会继承您的大部分 Amazon WAF 经典保护包 (Web ACL) 配置，剩下一些需要手动处理的事情。

**注意**  
某些保护配置无法自动迁移，需要在 Amazon WAF (v2) 中进行手动配置。列表见 [迁移注意事项和限制](waf-migrating-caveats.md)。

以下列出了迁移保护包（web ACL）的概要步骤。

1. 自动迁移会读取与现有保护包 (Web ACL) 相关的所有内容，无需在 Cl Amazon WAF assic 中修改或删除任何内容。它创建 Web ACL 及其相关资源的表示形式，与兼容 Amazon WAF。它为新的保护包（web ACL）生成一个 Amazon CloudFormation 模板，并将其存储在 Amazon S3 存储桶中。

1. 将模板部署到中 Amazon CloudFormation，以便在中重新创建保护包 (Web ACL) 和相关资源。 Amazon WAF

1. 您可以查看保护包（web ACL）并手动完成迁移，同时确保新的保护包（web ACL）充分利用最新 Amazon WAF的功能。

1. 您可以手动将受保护的资源切换到新的保护包（web ACL）。

**Topics**
+ [迁移保护包（web ACL）：自动迁移](waf-migrating-procedure-automatic.md)
+ [迁移保护包（web ACL）：手动后续操作](waf-migrating-procedure-manual-finish.md)
+ [迁移保护包（web ACL）：其他注意事项](waf-migrating-procedure-additional.md)
+ [迁移保护包（web ACL）：切换](waf-migrating-procedure-switchover.md)

# 迁移保护包（web ACL）：自动迁移
<a name="waf-migrating-procedure-automatic"></a>

**自动将保护包 (Web ACL) 配置从 Cl Amazon WAF assic 迁移到 Amazon WAF**

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) 的配置设置。记下这些设置，同时考虑到前一节[迁移注意事项和限制](waf-migrating-caveats.md)中介绍的注意事项和限制。

1. 在顶部的信息对话框中，找到以 M **igrate 保护包 (Web ACLs)** 开头的句子，然后选择**迁移向导**的链接。这将启动迁移向导。

   如果您没有看到信息对话框，则可能是自启动 C Amazon WAF lassic 主机以来已将其关闭。在导航栏中，选择 “**切换到新建**”， Amazon WAF然后选择 “**切换到 Amazon WAF 经典**”，信息对话框就会重新出现。

1. 选择要迁移的保护包（web ACL）。

1. 对于**迁移配置**，提供要用于模板的 Amazon S3 存储桶。您需要为迁移 API 正确配置的 Amazon S3 存储桶来存储迁移 API 生成的 Amazon CloudFormation 模板。
   + 如果存储桶已加密，则必须使用 Amazon S3（SSE-S3）密钥。迁移不支持使用 Amazon Key Management Service (SSE-KMS) 密钥进行加密。
   + 存储桶名称必须以 `aws-waf-migration-` 开头。例如 `aws-waf-migration-my-web-acl`。
   + 存储桶必须位于您要部署此模板的区域中。例如，对于 `us-west-2` 中的保护包（web ACL），您必须使用 `us-west-2` 中的 Amazon S3 存储桶，并且必须将模板堆栈部署到 `us-west-2`。

1. 对于 **S3 存储桶策略**，我们建议选择 **自动应用迁移所需的存储桶策略**。或者，如果您想自行管理存储桶，则必须手动应用以下存储桶策略：
   + 对于全球亚马逊 CloudFront 应用程序 (`waf`)：

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "apiv2migration.waf.amazonaws.com"
                 },
                 "Action": "s3:PutObject",
                 "Resource": "arn:aws:s3:::<BUCKET_NAME>/AWSWAF/<CUSTOMER_ACCOUNT_ID>/*"
             }
         ]
     }
     ```

------
   + 对于区域性 Amazon API Gateway 或应用程序负载均衡器应用程序 (`waf-regional`)：

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Principal": {
                     "Service": "apiv2migration.waf-regional.amazonaws.com"
                 },
                 "Action": "s3:PutObject",
                 "Resource": "arn:aws:s3:::<BUCKET_NAME>/AWSWAF/<CUSTOMER_ACCOUNT_ID>/*"
             }
         ]
     }
     ```

------

1. 在 **选择如何处理无法迁移的规则** 中，选择排除无法迁移的规则或选择停止迁移。有关无法迁移的规则的信息，请参阅[迁移注意事项和限制](waf-migrating-caveats.md)。

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

1. 对于**创建 Amazon CloudFormation 模板**，请验证您的设置，然后选择**开始创建 Amazon CloudFormation 模板**以开始迁移过程。这可能需要几分钟时间，具体取决于保护包（web ACL）的复杂性。

1. 在 “**创建并运行 Amazon CloudFormation 堆栈以完成迁移**” 中，您可以选择进入 Amazon CloudFormation 控制台根据模板创建堆栈，创建新的保护包 (Web ACL) 及其资源。为此，请选择**创建 Amazon CloudFormation 堆栈**。

自动迁移过程完成后，您可以继续执行手动后续步骤。请参阅[迁移保护包（web ACL）：手动后续操作](waf-migrating-procedure-manual-finish.md)。

# 迁移保护包（web ACL）：手动后续操作
<a name="waf-migrating-procedure-manual-finish"></a>

自动迁移完成后，请查看新创建的保护包（web ACL）并填入迁移过程未带入的组件。以下过程介绍迁移未处理的保护包（web ACL）管理的各个方面。有关列表，请参阅[迁移注意事项和限制](waf-migrating-caveats.md)。

**完成基本迁移 - 手动步骤**

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

1. 控制台应自动使用最新版本的 Amazon WAF。要验证这一点，请在导航窗格中查看是否可以看到 “**切换到 Amazon WAF 经典版**” 选项。如果您看到 “**切换到新**版本” Amazon WAF，请选择该选项以切换到最新版本。

1. 在导航窗格中，选择**保护包 (Web ACLs)**。

1. 在**保护包 (Web ACLs)** 页面中，在创建新保护包 (Web ACL) 的区域列表中找到您的新保护包 (Web ACL)。选择保护包（web ACL）的名称以显示保护包（web ACL）的设置。

1. 对照之前的 Amazon WAF 经典 Web ACL，查看新保护包 (Web ACL) 的所有设置。默认情况下，日志记录和受保护的资源关联处于禁用状态。您可以在准备好进行切换时启用这些功能。

1. 如果您的 Amazon WAF 经典保护包 (Web ACL) 具有托管规则组，则迁移中不会移除包含的规则组。您可以将托管规则组添加到新的保护包（web ACL）中。查看有关托管规则组的信息，包括新版本中可用的 Amazon 托管规则列表 Amazon WAF，网址为[在中使用托管规则组 Amazon WAF](waf-managed-rule-groups.md)。要添加托管规则组，请执行以下操作：

   1. 在保护包（web ACL）设置页面中，选择保护包（web ACL）**规则**选项卡。

   1. 选择**添加规则**，然后选择**添加托管规则组**。

   1. 展开您选择的供应商的列表，然后选择要添加的规则组。对于 Amazon Web Services Marketplace 卖家，您可能需要订阅规则组。有关在保护包（web ACL）中使用托管规则组的更多信息，请参阅 [在中使用托管规则组 Amazon WAF](waf-managed-rule-groups.md) 和 [使用包含规则和规则组的保护包 (Web ACLs) Amazon WAF](web-acl-processing.md)。

完成基本迁移过程后，我们建议您查看您的需求并考虑其他选项，以确保新配置尽可能高效并使用最新的可用安全选项。请参阅[迁移保护包（web ACL）：其他注意事项](waf-migrating-procedure-additional.md)。

# 迁移保护包（web ACL）：其他注意事项
<a name="waf-migrating-procedure-additional"></a>

查看您的新保护包 (Web ACL)，并考虑新 Amazon WAF 版中可供您使用的选项，以确保配置尽可能高效，并且使用的是最新的可用安全选项。

**其他 Amazon 托管规则**  
考虑在保护包 (Web ACL) 中实施其他 Amazon 托管规则，以提高应用程序的安全状况。这些都包含 Amazon WAF 在内，不收取额外费用。 Amazon 托管规则具有以下类型的规则组：
+ 基准规则组针对各种常见威胁提供了一般保护，例如阻止已知错误输入进入应用程序并防止访问管理页面。
+ 使用案例特定的规则组为许多不同的使用案例和环境提供增量保护。
+ IP 声誉列表基于客户端的源 IP 提供威胁情报。

有关更多信息，请参阅 [Amazon 的托管规则 Amazon WAF](aws-managed-rule-groups.md)。

**规则优化和清理**  
重新访问旧规则，并考虑通过重写它们或删除过时的规则来优化它们。例如，如果您过去部署了技术论文《OWASP 十大 Web 应用程序漏洞》、《为 OWASP 十大 Web 应用程序漏洞[使用做好准备》 Amazon WAF 和《我们的新白皮书》中的 Amazon CloudFormation 模板，则应考虑将其替换为托](https://www.amazonaws.cn/blogs/aws/prepare-for-the-owasp-top-10-web-application-vulnerabilities-using-aws-waf-and-our-new-white-paper/)管规则。 Amazon 虽然文档中的概念仍然适用，可以帮助您编写自己的规则，但模板创建的规则在很大程度上已被 Amazon 托管规则所取代。

**Amazon CloudWatch 指标和警报**  
重新访问您的 Amazon CloudWatch 指标并根据需要设置警报。迁移不会带入 CloudWatch 警报，并且您的指标名称可能并不符合您需要。

**与您的应用程序团队一起审核**  
与您的应用程序团队合作并检查安全状况。找出应用程序经常解析哪些字段，并添加规则以相应地清理输入。如果应用程序的业务逻辑无法处理边缘案例，请检查是否存在任何边缘案例，并添加规则以捕获这些案例。

**规划切换**  
与您的应用程序团队一起规划切换的时间。从旧的保护包（web ACL）关联切换到新的保护包（web ACL）关联可能需要很少的时间才能传播到存储资源的所有区域。传播时间可以从几秒钟到几分钟不等。在此期间，有些请求将由旧的保护包（web ACL）处理，而其他请求将由新的保护包（web ACL）处理。在整个交换过程中，您的资源都将受到保护，但是您可能会注意到在切换进行期间请求处理存在不一致之处。

准备好切换时，请按照[迁移保护包（web ACL）：切换](waf-migrating-procedure-switchover.md)中的步骤操作。

# 迁移保护包（web ACL）：切换
<a name="waf-migrating-procedure-switchover"></a>

验证新的保护包（web ACL）设置后，可以开始使用它来代替 Amazon WAF Classic 保护包（web ACL）。

**开始使用您的新 Amazon WAF 保护包 (Web ACL)**

1. 按照中的指导将 Amazon WAF 保护包 (Web ACL) 与要保护的资源相关联[将保护与资源关联或取消关联 Amazon](web-acl-associating-aws-resource.md)。这会自动断开资源与旧保护包（web ACL）的关联。

   切换可能需要几秒到几分钟的传播时间。在此期间，一些请求可能会由旧的保护包（web ACL）处理，而其他请求则由新的保护包（web ACL）处理。在整个交换过程中，您的资源都将受到保护，但是在请求处理完成之前，您可能会注意到请求处理存在不一致之处。

1. 按照 [记录 Amazon WAF 保护包 (Web ACL) 流量](logging.md) 中的指导为新的保护包（web ACL）配置日志记录。

1. （可选）如果您的 Amazon WAF 经典保护包 (Web ACL) 不再与任何资源关联，请考虑将其完全从 Amazon WAF 经典版中删除。有关信息，请参阅[删除 Web ACL](classic-web-acl-deleting.md)。