

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

# 使用 DNS Firewall 筛选出站 DNS 流量
<a name="resolver-dns-firewall"></a>

使用 Resolver DNS 防火墙，您可以筛选和监管虚拟私有云 (VPC) 的出站 DNS 流量。为此，您需要在 DNS Firewall 规则组中创建可重复使用的筛选规则集合，将规则组关联到您的 VPC，然后监控 DNS Firewall 日志和指标中的活动。根据活动，您可以相应地调整 DNS Firewall 的行为。

DNS 防火墙为来自您的出站 DNS 请求提供保护 VPCs。这些请求通过 VPC 解析器进行域名解析。DNS Firewall 保护的主要用途是帮助防止数据的 DNS 泄露。当错误的参与者损害 VPC 中的应用程序实例，然后使用 DNS 查找数据并将数据从 VPC 发送到他们控制的域时，就可能会发生 DNS 泄露。使用 DNS Firewall，您可以监控和控制应用程序可以查询的域。您可以拒绝对已知不良域的访问，并允许所有其它查询通过。或者，您可以拒绝对除明确信任的域之外的所有域的访问。

您还可以使用 DNS Firewall 阻止在私有托管区域（共享或本地）中对资源（包括 VPC 终端节点名称）的解析请求。它还可以阻止对公有或私有 Amazon EC2 实例名称的请求。

DNS 防火墙是 Route 53 VPC 解析器的一项功能，不需要设置任何额外的 VPC 解析器即可使用。

**AWS Firewall Manager 支持 DNS 防火墙**  
您可以使用 Firewall Manager 集中配置和管理中 VPCs 各个账户的 DNS 防火墙规则组关联 AWS Organizations。Firewall Manager 会自动添加 VPCs 属于防火墙管理器 DNS 防火墙策略范围的关联。有关更多信息，请参阅*AWS WAF AWS Firewall Manager、和 AWS Shield Advanced 开发者指南[AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html)*中的。

**DNS 防火墙的工作原理 AWS Network Firewall**  
DNS Firewall 和 Network Firewall 都提供域名筛选，但适用于不同类型的流量。将 DNS Firewall 和 Network Firewall 相结合，您便可以通过两个不同的网络路径为应用程序层流量配置基于域的筛选。
+ DNS 防火墙可筛选来自您 VPCs内部应用程序通过 Route 53 VPC 解析器的出站 DNS 查询。您还可以将 DNS Firewall 配置为向阻止的域名发送查询的自定义响应。
+ Network Firewall 为网络层和应用层流量提供过滤功能，但无法查看 Route 53 VPC 解析器发出的查询。

有关 Network Firewall 的更多信息，请参阅 [ Network Firewall 开发人员指南](https://docs.aws.amazon.com/network-firewall/latest/developerguide/what-is-aws-network-firewall.html)。

# 解析器 DNS 防火墙的工作原理
<a name="resolver-dns-firewall-overview"></a>

Resolver DNS 防火墙允许您控制对网站的访问，并阻止通过 Route 53 VPC 解析器从您的 VPC 发出的 DNS 级威胁。使用 DNS Firewall，您可以在与您的防火墙关联的规则组中定义域名过滤规则 VPCs。您可以指定要允许或阻止的域名列表，也可以指定解析器 DNS Firewall 高级规则，以抵御基于 DNS 隧道和域生成算法 (DGA) 的威胁。您可以自定义对所阻止 DNS 查询的响应。对于包含域列表的规则，您还可以微调该规则以允许某些查询类型（例如 MX-Records）通过。

DNS Firewall 仅筛选域名。它不会将该名称解析为要阻止的 IP 地址。此外，DNS Firewall 筛选 DNS 流量，但不筛选其它应用层协议，如 HTTPS、SSH、TLS、FTP 等。

## 解析器 DNS 防火墙组件和设置
<a name="resolver-dns-firewall-components"></a>

您可以使用以下中央组件和设置管理 DNS Firewall。

**DNS Firewall 规则组**  
DNS Firewall 规则组是用于筛选 DNS 查询的 DNS Firewall 规则的已命名、可重复使用的集合。使用过滤规则填充规则组，然后将该规则组与一个或多个 VPCs规则组相关联。当您关联规则组与 VPC 时，您可以为 VPC 启用 DNS Firewall 过滤。然后，当 VPC 解析器收到与之关联的规则组的 VPC 的 DNS 查询时，VPC 解析器会将该查询传递给 DNS 防火墙进行筛选。  
如果您将多个规则组与单个 VPC 关联，则通过每个关联中的优先级设置来指明它们的处理顺序。DNS Firewall 从最低数值优先级设置向上处理 VPC 的规则组。  
有关更多信息，请参阅 [DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)。

**DNS Firewall 规则**  
为 DNS Firewall 规则组中的 DNS 查询定义筛选规则。每个规则都指定一个域列表或 DNS Firewall 保护，以及对域与规则中的域规范匹配的 DNS 查询执行的操作。您可以允许（仅限带域列表的规则）、阻止匹配查询或针对其发出提醒。在包含域列表的规则中，您还可以为列表中的域指定查询类型，例如，您可以阻止或允许特定域的 MX 查询类型。您还可以为阻止的查询定义自定义响应。  
对于 DNS Firewall 规则，您只能阻止匹配查询或针对其发出提醒。  
规则组中的每个规则都有一个在规则组中唯一的优先级设置。DNS Firewall 将从最低设置开始，按优先级顺序处理规则组中的规则。  
DNS Firewall 规则仅存在于定义这些规则的规则组上下文中。您不能独立于规则组重复使用或引用规则。  
有关更多信息，请参阅 [DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)。

**域名清单**  
定义用于 DNS 筛选的已命名、可重复使用的域规范集合。规则组中的每个规则都需要单一的域列表。您可以选择指定要允许访问的域、要拒绝访问的域或两者的组合。您可以创建自己的域名列表，也可以使用为您 AWS 管理的域名列表。  
有关更多信息，请参阅 [解析器 DNS 防火墙域列表](resolver-dns-firewall-domain-lists.md)。

**域重定向设置（仅限域列表）**  
通过域重定向设置，您可以配置 DNS Firewall 规则来检查 DNS 重定向链中的所有域（默认），例如 CNAME、DNAME 等，或者只检查第一个域并信任其余域。如果选择检查整个 DNS 重定向链，则必须将后续域添加到规则中设置为“ALLOW ”的域列表中。如果选择检查整个 DNS 重定向链，则必须将后续域添加到域列表中，并将其设置为需要规则采取的行动，即 ALLOW、BLOCK 或 ALERT。  
有关更多信息，请参阅 [DNS Firewall 中的规则设置](resolver-dns-firewall-rule-settings.md)。

**查询类型（仅限域列表）**  
通过查询类型设置，您可以配置 DNS Firewall 规则来筛选特定的 DNS 查询类型。如果未选择查询类型，则该规则应用于所有 DNS 查询类型。例如，您可能想要阻止特定域的所有查询类型，但允许 MX 记录。  
有关更多信息，请参阅 [DNS Firewall 中的规则设置](resolver-dns-firewall-rule-settings.md)。

**DNS Firewall Advanced 保护**  
根据 DNS 查询中的已知威胁签名检测可疑 DNS 查询。规则组中的每个规则都需要单一的 DNS Firewall Advanced 保护设置。您可以选择如下方面的保护：  
+ 域生成算法 (DGAs)

  DGAs 被攻击者用来生成大量域来发起恶意软件攻击。
+ DNS 隧道

  DNS 隧道技术是指攻击者利用 DNS 隧道从客户端窃取数据，而无需与客户端建立网络连接。
+ DGA 字典

  攻击 DGAs 者使用字典通过字典单词生成域名，以逃避恶意软件 command-and-control通信中的检测。
在 DNS Firewall Advanced 规则中，您可以选择阻止与威胁匹配的查询或针对其发出提醒。威胁防护算法由管理和更新 AWS。  
有关更多信息，请参阅 [解析器 DNS 防火墙高级](firewall-advanced.md)。

**置信度阈值（仅限 DNS Firewall Advanced 保护）**  
DNS 威胁防护的置信度阈值。创建 DNS Firewall Advanced 规则时必须提供此值。置信度值代表：  
+ 高 – 仅检测证实度最高的威胁，误报率低。
+ 中 – 在检测威胁和误报之间保持平衡。
+ 低 – 提供最高威胁检测率，但也会增加误报。
有关更多信息，请参阅 [DNS Firewall 中的规则设置](resolver-dns-firewall-rule-settings.md)。

**DNS Firewall 规则组与 VPC 之间的关联**  
使用 DNS 防火墙规则组为 VPC 定义保护，并为该 VPC 启用 VPC 解析器 DNS 防火墙配置。  
如果您将多个规则组与单个 VPC 关联，则可通过关联中的优先级设置来指明它们的处理顺序。DNS Firewall 从最低数值优先级设置向上处理 VPC 的规则组。  
有关更多信息，请参阅 [为您的 VPC 启用解析器 DNS 防火墙保护](resolver-dns-firewall-vpc-protections.md)。

**VPC 的 DNS 防火墙配置**  
指定 VPC 解析器应如何处理 VPC 级别的 DNS 防火墙保护。只要您至少有一个与 VPC 关联的 DNS Firewall 规则组，此配置就会生效。  
此配置指定了 DNS 防火墙无法过滤查询时 Route 53 VPC 解析器如何处理查询。默认情况下，如果 VPC Resolver 没有收到来自 DNS 防火墙的查询响应，则它将失败关闭并阻止查询。  
有关更多信息，请参阅 [DNS Firewall VPC 配置](resolver-dns-firewall-vpc-configuration.md)。

**监控 DNS Firewall 操作**  
您可以使用 Amazon CloudWatch 来监控由 DNS 防火墙规则组筛选的 DNS 查询数量。 CloudWatch 收集原始数据并将其处理为可读的、近乎实时的指标。  
有关更多信息，请参阅 [使用 Amazon 监控解析器 DNS 防火墙规则组 CloudWatch](monitoring-resolver-dns-firewall-with-cloudwatch.md)。  
您可以使用 Amazon EventBridge（一种使用事件将应用程序组件连接在一起的无服务器服务）来构建可扩展的事件驱动应用程序。  
有关更多信息，请参阅 [使用管理解析器 DNS 防火墙事件 Amazon EventBridge](dns-firewall-eventbridge-integration.md)。

## 解析器 DNS 防火墙如何过滤 DNS 查询
<a name="resolver-dns-firewall-behavior"></a>

当 DNS 防火墙规则组与您的 VPC 的 Route 53 VPC 解析器关联时，防火墙会过滤以下流量：
+ 源于该 VPC 内并通过 VPC DNS 传递的 DNS 查询。
+ 通过 Resolver 端点从本地部署资源传递到具有与其解析程序关联的 DNS Firewall 的同一 VPC 的 DNS 查询。

当 DNS Firewall 收到 DNS 查询时，它会使用您配置的规则组、规则和其他设置筛选查询，并将结果发送回 VPC 解析器：
+ DNS Firewall 使用与 VPC 关联的规则组评估 DNS 查询，直到找到匹配项或用尽所有规则组。DNS Firewall 按照您在关联中设置的优先级顺序评估规则组，从最低的数字设置开始。有关更多信息，请参阅[DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)和[为您的 VPC 启用解析器 DNS 防火墙保护](resolver-dns-firewall-vpc-protections.md)。
+ 在每个规则组中，DNS Firewall 根据每个规则的域列表或 DNS Firewall Advanced 保护评估 DNS 查询，直到找到匹配规则或用尽所有规则。DNS Firewall 从最低数值设置开始，按优先级顺序评估规则。有关更多信息，请参阅 [DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)。
+ 当 DNS 防火墙发现与规则的域列表匹配或 DNS 防火墙高级规则保护所识别的异常时，它会终止查询评估并向 VPC 解析器提供结果。如果操作是`alert`，则 DNS 防火墙还会向配置的 VPC 解析器日志发送警报。有关更多信息，请参阅 [DNS Firewall 中的规则操作](resolver-dns-firewall-rule-actions.md)、[解析器 DNS 防火墙域列表](resolver-dns-firewall-domain-lists.md) 和 [解析器 DNS 防火墙高级](firewall-advanced.md)。
+ 如果 DNS Firewall 在没有找到匹配项的情况下评估所有规则组，它会照常响应查询。

VPC 解析器根据来自 DNS 防火墙的响应来路由查询。万一 DNS 防火墙无法响应，VPC 解析器会应用 VPC 配置的 DNS 防火墙故障模式。有关更多信息，请参阅 [DNS Firewall VPC 配置](resolver-dns-firewall-vpc-configuration.md)。

## 使用解析器 DNS 防火墙的高级步骤
<a name="resolver-dns-firewall-high-level-steps"></a>

要在您的 Amazon Virtual Private Cloud VPC 中实施 Resolver DNS 防火墙筛选，请执行以下高级步骤。
+ **定义您的筛选方法、域列表或 DNS Firewall 保护** — 确定要如何筛选查询，确定需要的域规范，并定义用于评估查询的逻辑。例如，您可能希望允许除已知坏域列表中的查询之外的所有查询。或者您可能想要做相反的事情，即阻止所有出批准域列表以外的域，也就是所谓的围墙花园法。您可以创建和管理自己的已批准或屏蔽域名规范列表，也可以使用为您 AWS 管理的域名列表。对于 DNS 防火墙保护，您可以通过屏蔽所有查询来筛选查询，也可以提醒可能包含与威胁相关的异常的域名（DGA、DNS 隧道、字典 DGA）的任何可疑查询流量，以测试您的 DNS 防火墙设置。有关更多信息，请参阅[解析器 DNS 防火墙域列表](resolver-dns-firewall-domain-lists.md)和[解析器 DNS 防火墙高级](firewall-advanced.md)。
+ **创建防火墙规则组** — 在 DNS Firewall 中，创建一个规则组来筛选 VPC 的 DNS 查询。您必须在要使用规则组的每个区域中创建规则组。您可能还想将过滤行为分成多个规则组，以便在不同的 VPCs过滤场景中重复使用。有关规则组的信息，请参阅[DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)。
+ **添加和配置规则** — 为您希望规则组提供的每个域列表和筛选行为添加规则到规则组。设置规则的优先级设置，以便它们在规则组中以正确的顺序进行处理，请为要首先评估的规则赋予最低的优先级。有关规则的信息，请参阅 [DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)。
+ **将规则组关联到您的 VPC** — 要开始使用您的 DNS Firewall 规则组，请将其与您的 VPC 关联。如果您要为 VPC 使用多个规则组，请设置每个关联的优先级，以便按正确的顺序处理规则组，请为您要首先评估的规则组提供最低的优先级。有关更多信息，请参阅 [管理您的 VPC 和解析器 DNS 防火墙规则组之间的关联](resolver-dns-firewall-vpc-associating-rule-group.md)。
+ **（可选）更改 VPC 的防火墙配置** — 如果您希望 Route 53 VPC 解析器在 DNS 防火墙无法为查询发送回响应时阻止查询，请在 VPC 解析器中更改 VPC 的 DNS 防火墙配置。有关更多信息，请参阅 [DNS Firewall VPC 配置](resolver-dns-firewall-vpc-configuration.md)。

## 在多个区域使用解析器 DNS 防火墙规则组
<a name="resolver-dns-firewall-multiple-regions"></a>

Resolver DNS Firewall 是一项区域服务，因此您在一个 AWS 区域中创建的对象仅在该区域可用。要在多个区域中使用同一个规则，您必须在各个区域中创建该规则。

创建规则组的 AWS 账户可以与其他 AWS 账户共享该规则组。有关更多信息，请参阅 [在账户之间 AWS 共享解析器 DNS 防火墙规则组](resolver-dns-firewall-rule-group-sharing.md)。

# 解析器 DNS 防火墙的区域可用性
<a name="resolver-dns-firewall-availability"></a>

DNS 防火墙有以下几种版本 AWS 区域：
+ 非洲（开普敦） 
+ 亚太地区（香港）
+ 亚太地区（海得拉巴）
+ 亚太地区（雅加达） 
+ 亚太地区（马来西亚）
+ 亚太地区（墨尔本）
+ 亚太地区（孟买）
+ 亚太地区（大阪）区域
+ 亚太地区（首尔）
+ 亚太地区（新加坡）
+ 亚太地区（悉尼）
+ 亚太地区（泰国）
+ 亚太地区（东京）
+ 加拿大（中部）区域
+ 加拿大西部（卡尔加里）
+ 欧洲地区（法兰克福）区域
+ 欧洲地区（爱尔兰）区域
+ 欧洲地区（伦敦）区域
+ 欧洲地区（米兰） 
+ 欧洲地区（巴黎）区域
+ 欧洲（西班牙）
+ 欧洲地区（斯德哥尔摩）
+ 欧洲（苏黎世）
+ 以色列（特拉维夫）
+ 墨西哥（中部）
+ 中东（巴林）
+ 中东（阿联酋）：
+ 南美洲（圣保罗）
+ 美国东部（弗吉尼亚州北部）
+ 美国东部（俄亥俄州）
+ 美国西部（北加利福尼亚）
+ 美国西部（俄勒冈州）
+ 中国（北京） 
+ 中国（宁夏） 
+ AWS GovCloud (US)

# 解析器 DNS 防火墙入门
<a name="resolver-dns-firewall-getting-started"></a>

DNS Firewall 控制台提供有向导，引导您完成开始使用 DNS Firewall 的以下步骤：
+ 为要使用的每组规则创建规则组。
+ 对于每个规则，填充要检查的域列表。您可以创建自己的域名列表，也可以使用 AWS 托管域名列表。
+ 将您的规则组与您想要使用它们 VPCs 的地方相关联。

## 解析器 DNS 防火墙围墙花园示例
<a name="dns-firewall-walled-garden-example"></a>

在本教程中，您将创建一个规则组，该规则组会阻止除您信任的选定域组以外的所有域。这就是所谓的封闭平台，或称围墙花园法。

**要使用控制台向导配置 DNS Firewall 规则组**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   在导航窗格中选择 **DNS 防火墙**，以在 Amazon VPC 控制台上打开 DNS 防火墙**规则组**页面。继续执行步骤 3。

   - 或者 - 

   登录 AWS 管理控制台 并打开 

   下方的亚马逊 VPC 控制台[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中的 **DNS 防火墙**下，选择**规则组**。

1. 在导航栏中，选择规则组的区域。

1. 在 **Rule groups**（规则组）页面上，选择 **Add rule group**（添加规则组）。

1. 对于规则组名称，输入 **WalledGardenExample**。

   在**标签**部分，可以选择输入标签的键-值对。标签可帮助您组织和管理 AWS 资源。有关更多信息，请参阅 [给 Amazon Route 53 资源贴标签](tagging-resources.md)。

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

1. 在**WalledGardenExample**详细信息页面上，选择**规则选项卡**，然后选择**添加规则**。

1. 在**规则详细信息**窗格中，输入规则名称 ** BlockAll**。

1. 在 **Domain list**（域列表）窗格上，选择 **Add my own domain list**（添加我自己的域列表）。

1. 在 **Choose or create a new domain list**（选择或创建新的域列表）中选择 **Create new domain**（创建新域列表）。

1. 输入域名列表名称**AllDomains**，然后在**每行输入一个域名**文本框中，输入星号:**\$1**。

1. 对于**域重定向设置**，可接受默认设置，并将“**查询类型-可选**”留空。

1. 对于**操作**，请选择**阻止**，然后将响应保留在原定设置 **NODATA** 状态下等待发送。

1. 选择**添加规则**。您的规则显示在**WalledGardenExample**页面**BlockAll**的 “**规则**” 选项卡中。

1. 在**WalledGardenExample**页面上，选择**添加规则**以向您的规则组添加第二条规则。

1. 在**规则详细信息**窗格中，输入规则名称 ** AllowSelectDomains**。

1. 在 **Domain list**（域列表）窗格上，选择 **Add my own domain list**（添加我自己的域列表）。

1. 在 **Choose or create a new domain list**（选择或创建新的域列表）项下，选择 **Create new domain list**（创建新域列表）。

1. 输入域列表名称 **ExampleDomains**。

1. 在**每行输入一个域**文本框的第一行中，输入 **example.com**，然后在第二行输入 **example.org**。
**注意**  
如果希望此规则也应用于子域，则需要将这些域添加到列表中。例如，要添加示例 .com 的所有子域，请将 **\$1.example.com** 添加到列表中。

1. 对于**域重定向设置**，可接受默认设置，并将“**查询类型-可选**”留空。

1. 对于**操作**，请选择**允许**。

1. 选择**添加规则**。您的规则都显示在**WalledGardenExample**页面的 “**规则**” 选项卡中。

1. 在该**WalledGardenExample**页面的 “**规则**” 选项卡中，您可以通过选择 “**优先级**” 列中列出的数字并键入新数字来调整规则组中规则的评估顺序。DNS Firewall 从最低优先级设置开始评估规则，因此优先级最低的规则将第一个评估。在此示例中，我们希望 DNS Firewall 首先识别并允许对选定的域列表进行 DNS 查询，然后阻止任何剩余的查询。

   调整规则优先级，使其**AllowSelectDomains**具有较低的优先级。

现在，您有了一个只允许通过特定域查询的规则组。要开始使用它，请将其与要使用筛选行为 VPCs 的地点相关联。有关更多信息，请参阅 [管理您的 VPC 和解析器 DNS 防火墙规则组之间的关联](resolver-dns-firewall-vpc-associating-rule-group.md)。

## 解析器 DNS 防火墙屏蔽列表示例
<a name="dns-firewall-block-list-example"></a>

在本教程中，您将创建一个规则组，用于阻止已知为恶意域。您还将为阻止列表中的域添加一个允许的 DNS 查询类型。规则组允许通过 VPC 解析器发出所有其他出站 DNS 请求。

**要使用控制台向导配置 DNS Firewall 阻止列表**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   在导航窗格中选择 **DNS 防火墙**，以在 Amazon VPC 控制台上打开 DNS 防火墙**规则组**页面。继续执行步骤 3。

   - 或者 - 

   登录 AWS 管理控制台 并打开 Amazon VPC 控制台，网址为[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中的 **DNS 防火墙**下，选择**规则组**。

1. 在导航栏中，选择规则组的区域。

1. 在 **Rule groups**（规则组）页面上，选择 **Add rule group**（添加规则组）。

1. 对于规则组名称，输入 **BlockListExample**。

   在**标签**部分，可以选择输入标签的键-值对。标签可帮助您组织和管理 AWS 资源。有关更多信息，请参阅 [给 Amazon Route 53 资源贴标签](tagging-resources.md)。

1. 在**BlockListExample**详细信息页面上，选择**规则**选项卡，然后选择**添加规则**。

1. 在**规则详细信息**窗格中，输入规则名称 ** BlockList**。

1. 在 **Domain list**（域列表）窗格上，选择 **Add my own domain list**（添加我自己的域列表）。

1. 在 **Choose or create a new domain list**（选择或创建新的域列表）项下，选择 **Create new domain list**（创建新域列表）。

1. 输入域名列表名称 **MaliciousDomains**，然后在文本框中输入要阻止的域。例如 ** example.org**。每行输入一个域。
**注意**  
如果希望此规则也应用于子域，则必须将这些域添加到列表中。例如，要添加示例 .org 的所有子域，请将 **\$1.example.org** 添加到列表中。

1. 对于**域重定向设置**，可接受默认设置，并将“**查询类型-可选**”留空。

1. 对于操作，请选择 **BLOCK**（阻止），然后将响应保留在原定设置 **NODATA** 状态下等待发送。

1. 选择**添加规则**。您的规则显示在**BlockListExample**页面的 “**规则**” 选项卡中

1. 在该**BlockedListExample**页面的**规则**选项卡中，您可以通过选择 “**优先级**” 列中列出的数字并键入新数字来调整规则组中规则的评估顺序。DNS Firewall 从最低优先级设置开始评估规则，因此优先级最低的规则将第一个评估。

   选择并调整规则优先级，以便**BlockList**在您可能拥有的任何其他规则之前或之后对其进行评估。大多数情况下，应首先阻止已知的恶意域。也就是说，与它们关联的规则应具有最低的优先级编号。

1. 要添加允许 BlockList 域名的 MX 记录的规则，请在**规则选项卡的**BlockedListExample**详细信息页面上，选择**添加规则****。

1. 在**规则详细信息**窗格中，输入规则名称 ** BlockList-allowMX**。

1. 在 **Domain list**（域列表）窗格上，选择 **Add my own domain list**（添加我自己的域列表）。

1. 在**选择或创建新的域列表**项下，选择 ** MaliciousDomains**。

1. 对于**域重定向设置**，可接受默认设置。

1. 在 **DNS 查询类型**列表中，选择 **MX：指定邮件服务器**。

1. 对于操作，请选择 **ALLOW**（允许）。

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

1. 在该**BlockedListExample**页面的**规则**选项卡中，您可以通过选择 “**优先级**” 列中列出的数字并键入新数字来调整规则组中规则的评估顺序。DNS Firewall 从最低优先级设置开始评估规则，因此优先级最低的规则将第一个评估。

   选择并调整规则优先级，以便在您可能拥有的任何其他规则之前或之后评估 **BlockList-allowMX**。因为要允许 MX 查询，所以请确保 **BlockList-allowMx** 规则的优先级低于。**BlockList**

您现在拥有一个阻止特定恶意域查询，但允许特定 DNS 查询类型的规则组。要开始使用它，请将其与要使用筛选行为 VPCs的地点相关联。有关更多信息，请参阅 [管理您的 VPC 和解析器 DNS 防火墙规则组之间的关联](resolver-dns-firewall-vpc-associating-rule-group.md)。

# DNS Firewall 规则组和规则
<a name="resolver-dns-firewall-rule-groups"></a>

本节介绍您可以为 DNS 防火墙规则组和规则配置的设置，以定义您的 DNS 防火墙行为 VPCs。它还介绍了如何管理规则组和规则的设置。

按照需要的方式配置规则组后，您可以直接使用它们，并且您可以在 AWS Organizations的各个账户和组织之间共享和管理这些规则组。
+ 您可以将一个规则组与多个规则组相关联 VPCs，以便在整个组织中提供一致的行为。有关信息，请参阅[管理您的 VPC 和解析器 DNS 防火墙规则组之间的关联](resolver-dns-firewall-vpc-associating-rule-group.md)。
+ 您可以在账户之间共享规则组，从而在整个组织中实现一致的 DNS 查询管理。有关信息，请参阅[在账户之间 AWS 共享解析器 DNS 防火墙规则组](resolver-dns-firewall-rule-group-sharing.md)。
+ 您可以通过在 AWS Firewall Manager 策略中管理规则组 AWS Organizations 来在整个组织中使用规则组。有关 Firewall Manager 的信息，请参阅*AWS WAF AWS Firewall Manager、和 AWS Shield Advanced 开发者指南[AWS Firewall Manager](https://docs.aws.amazon.com/waf/latest/developerguide/fms-chapter.html)*中的。

# DNS Firewall 中的规则组设置
<a name="resolver-dns-firewall-rule-group-settings"></a>

创建或编辑 DNS Firewall 规则组时，您指定以下值：

**Name**  
通过唯一名称可在控制面板上轻松找到规则组。

**（可选）描述**  
为规则组提供更多上下文的简短描述。

**Region**  
您在创建规则组时选择的 AWS 区域。您在一个区域中创建的规则组仅在该区域中可用。要在多个区域中使用同一个规则，您必须在各个区域中创建该规则。

**Rules**  
规则组筛选行为包含在其规则中。有关信息，请参阅以下部分。

**标签**  
指定一个或多个键及对应的值。例如，您可以为 **Key**（密钥）指定 **Cost center**（成本中心），并为 **Value**（值）指定 **456**。  
这些是 AWS 账单与成本管理 用于整理 AWS 账单的标签。有关对成本分配使用标签的更多信息，请参阅 *AWS Billing 用户指南*中的[使用成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

# DNS Firewall 中的规则设置
<a name="resolver-dns-firewall-rule-settings"></a>

创建或编辑 DNS Firewall 规则组时，您指定以下值：

**Name**  
用于规则组中规则的唯一标识符。

**（可选）描述**  
提供有关规则的更多信息的简短描述。

**域名清单**  
规则检查的域列表。您可以创建和管理自己的域列表，也可以订阅 AWS 为您管理的域列表。有关更多信息，请参阅 [解析器 DNS 防火墙域列表](resolver-dns-firewall-domain-lists.md)。  
规则可以包含域列表或 DNS Firewall Advanced 保护，但不能同时包含两者。

**域重定向设置（仅限域列表）**  
您可以选择让 DNS Firewall 规则仅检查 DNS 重定向链中的第一个域或所有（默认）域，比如 CNAME、DNAME 等。如果选择检查所有域，则必须将 DNS 重定向链中的后续域添加到域列表中，并将其设置为需要规则采取的行动，即 ALLOW、BLOCK 或 ALERT。有关更多信息，请参阅 [解析器 DNS 防火墙组件和设置](resolver-dns-firewall-overview.md#resolver-dns-firewall-components)。

**查询类型（仅限域列表）**  
此规则检查的 DNS 查询类型列表。有效值如下所示：  
+  答：返回 IPv4 地址。
+ AAAA：返回 IPv6 地址。
+ CAA： CAs 可以为域名创建 SSL/TLS 认证的限制。
+ CNAME：返回另一个域名。
+ DS：标识委派区域 DNSSEC 签名密钥的记录。
+ MX：指定邮件服务器。
+ NAPTR： Regular-expression-based重写域名。
+ NS：权威名称服务器。
+ PTR：将 IP 地址映射到域名。
+ SOA：此区的授权起始点记录。
+ SPF：列出有权从某个域发送电子邮件的服务器。
+ SRV：用于标识服务器的特定应用程序值。
+ TXT：验证电子邮件发件人和特定应用程序的值。
+ 您使用 DNS 类型 ID 定义的查询类型，例如 AAAA 的类型为 28。这些值必须定义为 TYPE* NUMBER*，其中*NUMBER*可以是 1-65334，例如，。 TYPE28有关更多信息，请参阅 [DNS 记录类型列表](https://en.wikipedia.org/wiki/List_of_DNS_record_types)。

  您可以为每条规则创建一个查询类型。
**注意**  
如果您设置的防火墙阻止规则的操作为 NXDOMAIN 查询类型等于 AAAA，则此操作将不会应用于启用时生成的合成 IPv6 地址。 DNS64 

**DNS Firewall Advanced 保护**  
根据 DNS 查询中的已知威胁签名检测可疑 DNS 查询。您可以选择如下方面的保护：  
+ 域生成算法 (DGAs)

  DGAs 被攻击者用来生成大量域来发起恶意软件攻击。
+ DNS 隧道

  DNS 隧道技术是指攻击者利用 DNS 隧道从客户端窃取数据，而无需与客户端建立网络连接。
+ DGA 字典

  攻击 DGAs 者使用字典通过字典单词生成域名，以逃避恶意软件command-and-control 通信中的检测。
在 DNS Firewall Advanced 规则中，您可以选择阻止与威胁匹配的查询或针对其发出提醒。  
有关更多信息，请参阅 [解析器 DNS 防火墙高级](firewall-advanced.md)。  
规则可以包含 DNS Firewall Advanced 保护或域列表，但不能同时包含两者。

**置信度阈值（仅限 DNS Firewall Advanced）**  
DNS Firewall Advanced 的置信度阈值。创建 DNS Firewall Advanced 规则时必须提供此值。置信度值代表：  
+ 高 – 仅检测证实度最高的威胁，误报率低。
+ 中 – 在检测威胁和误报之间保持平衡。
+ 低 – 提供最高威胁检测率，但也会增加误报。
有关更多信息，请参阅 [DNS Firewall 中的规则设置](#resolver-dns-firewall-rule-settings)。

**Action**  
您希望 DNS Firewall 如何处理域名与规则域列表中的规范匹配的 DNS 查询。有关更多信息，请参阅 [DNS Firewall 中的规则操作](resolver-dns-firewall-rule-actions.md)。

**优先级**  
规则组中唯一确定处理顺序的正整数设置。DNS Firewall 根据规则组中的规则检查 DNS 查询，从最低数值优先级设置开始并向上检查。您可以随时更改规则的优先级，例如更改处理顺序或为其它规则留出空间。

# DNS Firewall 中的规则操作
<a name="resolver-dns-firewall-rule-actions"></a>

当 DNS Firewall 在规则中找到 DNS 查询与域规范之间的匹配时，它会将规则中指定的操作应用于查询。

您需要在创建的每条规则中指定下列选项之一：
+ **Allow**— 停止检查查询并允许其通过。不适用于 DNS Firewall Advanced。
+ **Alert**— 停止检查查询，允许其通过，并在 Route 53 VPC 解析器日志中记录查询警报。
+ **Block**— 停止检查查询，阻止其前往其预期目的地，并将该查询的阻止操作记录在 Route 53 VPC 解析器日志中。

  回复已配置的阻止响应，具体如下：
  + **NODATA**— 响应表示查询成功，但没有可用的响应。
  + **NXDOMAIN**— 响应表示查询的域名不存在。
  + **OVERRIDE**— 在响应中提供自定义替换。此选项需要以下额外设置：
    + **Record value**— 为响应查询而发送回的自定义 DNS 记录。
    + **Record type**— DNS 记录的类型。这决定了记录值的格式。必须是 `CNAME`。
    + **Time to live in seconds**— DNS 解析器或 Web 浏览器缓存覆盖记录并使用它来响应此查询的建议时间（如果再次收到该查询）。预设情况下，此值为零，并且记录不会被缓存。

有关查询日志配置和内容的更多信息，请参阅 [Resolver 查询日志记录](resolver-query-logs.md) 和 [VPC 解析器查询日志中显示的值](resolver-query-logs-format.md)。

**使用 Alert 测试阻止规则**  
首次创建阻止规则时，可以通过将操作设置为 Alert 以进行测试。然后，您可以查看规则提示的查询数，以查看如果将操作设置为 Block，将会阻止多少查询。

# 管理 DNS Firewall 中的规则组和规则
<a name="resolver-dns-firewall-rule-group-managing"></a>

要在控制台中管理规则组和规则，请按照本节中的指导操作。

当您对 DNS Firewall 实体（如规则和域列表）进行更改时，DNS Firewall 会在存储和使用实体的任何位置传播更改。您的更改将在几秒钟内应用，但是当更改到达某些位置但没有到达其它剩余位置时，可能会短暂地出现不一致的情况。因此，如果您将域添加到阻止规则引用的域列表中，则新域可能会在 VPC 的一个区域中暂时被阻止，而在另一个区域中仍然被允许。当您首次配置规则组和 VPC 关联并更改现有设置时，可能会出现这种临时不一致的情况。通常而言，这种类型的任何不一致情况都只会持续几秒钟。

# 创建规则组和规则
<a name="resolver-dns-firewall-rule-group-adding"></a>

要创建规则组并向其添加规则，请按照此过程中的步骤操作。

**要创建规则组及其规则**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   在导航窗格中选择 **DNS 防火墙**，以在 Amazon VPC 控制台上打开 DNS 防火墙**规则组**页面。继续执行步骤 3。

   - 或者 - 

   登录到 AWS 管理控制台 并打开 

   下方的亚马逊 VPC 控制台[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中的 **DNS 防火墙**下，选择**规则组**。

1. 在导航栏中，选择规则组的区域。

1. 选择 **Add rule group**（添加规则组），然后按照向导指导来指定您的规则组和规则设置。

   有关规则组的值的信息，请参阅 [DNS Firewall 中的规则组设置](resolver-dns-firewall-rule-group-settings.md)。

   有关规则的值的信息，请参阅 [DNS Firewall 中的规则设置](resolver-dns-firewall-rule-settings.md)。

# 查看和更新规则组和规则
<a name="resolver-dns-firewall-rule-group-editing"></a>

使用以下过程查看规则组以及分配给规则组的规则。您也可以更新规则组和规则设置。

**要查看和更新规则组**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   在导航窗格中选择 **DNS 防火墙**，以在 Amazon VPC 控制台上打开 DNS 防火墙**规则组**页面。继续执行步骤 3。

   - 或者 - 

   登录到 AWS 管理控制台 并打开 

   下方的亚马逊 VPC 控制台[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中的 **DNS 防火墙**下，选择**规则组**。

1. 在导航栏中，选择规则组的区域。

1. 选择要查看或编辑的规则组，然后选择 **View details**（查看详细信息）。

1. 在规则组的页面中，您可以查看和编辑设置。

   有关规则组的值的信息，请参阅 [DNS Firewall 中的规则组设置](resolver-dns-firewall-rule-group-settings.md)。

   有关规则的值的信息，请参阅 [DNS Firewall 中的规则设置](resolver-dns-firewall-rule-settings.md)。

# 删除规则组
<a name="resolver-dns-firewall-rule-group-deleting"></a>

要删除规则组，请执行以下步骤。

**重要**  
如果您删除与 VPC 关联的规则组，DNS Firewall 将删除该关联并停止该规则组向 VPC 提供的保护。

**删除 DNS Firewall 实体**  
当您删除可以在 DNS Firewall 中使用的实体（例如规则组中可能正在使用的域列表或可能与 VPC 关联的规则组）时，DNS Firewall 将检查该实体当前是否正在使用。如果发现它正在使用，DNS Firewall 会警告您。DNS Firewall 几乎每次都能确定实体是否正在使用中。但是在极少数情况下，它可能无法确定。如果您需要确保当前没有任何实体正在使用中，请在删除实体之前先在 DNS Firewall 配置中进行检查。如果实体是引用的域列表，请检查是否有规则组正在使用它。如果实体是规则组，请检查它是否与任何规则组关联 VPCs。

**删除规则组**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   在导航窗格中选择 **DNS 防火墙**，以在 Amazon VPC 控制台上打开 DNS 防火墙**规则组**页面。继续执行步骤 3。

   - 或者 - 

   登录到 AWS 管理控制台 并打开 

   下方的亚马逊 VPC 控制台[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中的 **DNS 防火墙**下，选择**规则组**。

1. 在导航栏中，选择规则组的区域。

1. 选择要删除的规则组，然后选择**删除**，并确认删除。

# 解析器 DNS 防火墙域列表
<a name="resolver-dns-firewall-domain-lists"></a>

*域列表*是您在规则组内的 DNS Firewall 规则中使用的一组可重复使用的域规范。当您关联规则组与 VPC 时，DNS Firewall 会将您的 DNS 查询与规则中使用的域列表进行比较。如果找到匹配项，则会根据匹配规则的操作处理 DNS 查询。有关规则组和规则的更多信息，请参阅 [DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)。

域列表允许您将显式域规范与要对其执行的操作分开。您可以在多个规则中使用单个域列表，对域列表执行的任何更新都会自动影响使用该列表的所有规则。

域列表分为两大类：
+ 托管域名列表， AWS 可为您创建和维护。
+ 您自己的域列表，将由您自己创建和维护列表。

本部分介绍可供您使用的托管域列表的类型，并提供有关创建和管理自己的域列表（如果您选择这样做）的指导。

# 托管域列表
<a name="resolver-dns-firewall-managed-domain-lists"></a>

托管域列表包含与恶意活动或其他潜在威胁相关的域名。 AWS 维护这些列表是为了让 Route 53 VPC 解析器客户在使用 DNS 防火墙时能够免费检查出站 DNS 查询。

随时了解不断变化的威胁情形会非常耗时且成本高昂。当您实施和使用 DNS 防火墙时，托管域列表可以为您节省时间。 AWS 当出现新的漏洞和威胁时，会自动更新列表。 AWS 通常会在公开披露之前收到有关新漏洞的通知，因此 DNS Firewall 可以经常在新威胁广为人知之前为您部署缓解措施。

托管域列表旨在帮助保护您免受常见的 Web 威胁，并为您的应用程序添加另一层安全保护。 AWS 托管域列表的数据既来自内部 AWS 来源，也来自内部来源 [RecordedFuture](https://partners.amazonaws.com/partners/001E000001V9CaHIAV/Recorded%20Future)，并且会不断更新。但是， AWS 托管域列表并不是用来替代其他安全控制措施 Amazon GuardDuty，例如由您选择的 AWS 资源决定的。

最佳实践是在生产环境中使用托管域列表之前，请在非生产环境中对其进行测试，并将规则操作设置为 `Alert`。使用 Amazon CloudWatch 指标以及解析器 DNS 防火墙采样请求或 DNS 防火墙日志来评估规则。如果您对规则执行操作的情况感到满意，请根据需要更改操作设置。

**可用的 AWS 托管域名列表**  
本部分介绍当前可用的 托管域列表。当您位于支持这些列表的区域时，在您管理域列表以及为规则指定域列表时，便可以在控制台上看到这些域列表。在日志中，域列表记录在 `firewall_domain_list_id field` 中。

AWS 为所有使用 Resolver DNS Firewall 的用户提供以下托管域列表（按可用区域划分）。
+ `AWSManagedDomainsMalwareDomainList`— — 与发送恶意软件、托管恶意软件或分发恶意软件关联的域。
+ `AWSManagedDomainsBotnetCommandandControl` — 与控制感染垃圾邮件恶意软件的计算机网络相关联的域。
+ `AWSManagedDomainsAggregateThreatList`— 与多个 DNS 威胁类别（包括恶意软件、勒索软件、僵尸网络、间谍软件和 DNS 隧道）关联的域名，可帮助阻止多种类型的威胁。 `AWSManagedDomainsAggregateThreatList`包括此处列出的其他 AWS 托管域列表中的所有域。
+ `AWSManagedDomainsAmazonGuardDutyThreatList`— 与 Amazon GuardDuty DNS 安全调查结果相关的域名。这些域名仅来自 GuardDuty的威胁情报系统，不包含来自外部第三方来源的域名。更具体地说，目前此列表只会屏蔽内部生成并用于以下检测的域 GuardDuty：impact: ec2/ .Reputation、impact: ec2/ AbusedDomainRequest .Reputation、impact: ec2/。Repution、Impact: ec2/。Reputation、Impact: ec2/。Re BitcoinDomainRequest putation。MaliciousDomainRequest Runtime/AbusedDomainRequest.Reputation, Impact:Runtime/BitcoinDomainRequest.Reputation, and Impact:Runtime/MaliciousDomainRequest

  有关更多信息，请参阅 *Amazon GuardDuty 用户指南*中的[查找类型](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html)。

AWS 无法下载或浏览托管域名列表。为了保护知识产权，您无法查看或编辑 AWS 托管域列表中的各个域名规范。此限制还有助于避免恶意用户设计专门避开已发布列表的威胁。

**测试托管域列表**  
我们提供以下一组域用于测试托管域名列表：

**AWSManagedDomainsBotnetCommandandControl**  
+  controldomain1.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com
+  controldomain2.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com
+  controldomain3.botnetlist.firewall.route53resolver.us-east-1.amazonaws.com

**AWSManagedDomainsMalwareDomainList**  
+  controldomain1.malwarelist.firewall.route53resolver.us-east-1.amazonaws.com
+  controldomain2.malwarelist.firewall.route53resolver.us-east-1.amazonaws.com
+  controldomain3.malwarelist.firewall.route53resolver.us-east-1.amazonaws.com

**AWSManagedDomainsAggregateThreatList 和 AWSManaged DomainsAmazonGuardDutyThreatList**  
+  controldomain1.aggregatelist.firewall.route53resolver.us-east-1.amazonaws.com
+  controldomain2.aggregatelist.firewall.route53resolver.us-east-1.amazonaws.com
+  controldomain3.aggregatelist.firewall.route53resolver.us-east-1.amazonaws.com

如果这些域未被屏蔽，它们将解析为 1.2.3.4。如果您在 VPC 中使用托管域列表，则查询这些域将返回规则中的屏蔽操作设置为（例如 NODATA）的响应。

有关托管域列表的更多信息，请联系 [AWS 支持 中心](https://console.aws.amazon.com/support/home#/)。

下表列出了 AWS 托管域列表的区域可用性。


**托管域列表区域可用性**  

| Region | 托管域列表是否可用？ | 
| --- | --- | 
|  非洲（开普敦）   |  是  | 
|  亚太地区（香港）  | 是 | 
|  亚太地区（海得拉巴）  | 是 | 
|  亚太地区（雅加达）   |  是  | 
|  亚太地区（马来西亚）  |  是  | 
|  亚太地区（墨尔本）  | 是 | 
|  亚太地区（孟买）  |  是  | 
|  亚太地区（大阪）区域  |  是  | 
|  亚太地区（首尔）  |  是  | 
|  亚太地区（新加坡）  |  是  | 
|  亚太地区（悉尼）  |  是  | 
|  亚太地区（泰国）  |  是  | 
|  亚太地区（东京）  |  是  | 
|  加拿大（中部）区域  |  是  | 
|  加拿大西部（卡尔加里）  |  是  | 
|  欧洲地区（法兰克福）区域  |  是  | 
|  欧洲地区（爱尔兰）区域  |  是  | 
|  欧洲地区（伦敦）区域  |  是  | 
|  欧洲地区（米兰）   |  是  | 
|  欧洲地区（巴黎）区域  |  是  | 
|  欧洲（西班牙）  | 是 | 
|  欧洲地区（斯德哥尔摩）  |  是  | 
|  欧洲（苏黎世）  | 是 | 
|  以色列（特拉维夫）  | 是 | 
|  中东（巴林）  | 是 | 
|  中东（阿联酋）：  | 是 | 
|  南美洲（圣保罗）  |  是  | 
|  美国东部（弗吉尼亚州北部）  |  是  | 
|  美国东部（俄亥俄州）  |  是  | 
|  美国西部（北加利福尼亚）  |  是  | 
|  美国西部（俄勒冈州）  |  是  | 
|  中国（北京）   |  是  | 
|  中国（宁夏）   |  支持  | 
|  AWS GovCloud (US)  |  是  | 

**其它安全注意事项**  
AWS 托管域列表旨在帮助保护您免受常见网络威胁的侵害。应根据文档使用这些列表，它为您的应用程序添加另一层安全性。但是，托管域列表并非用于取代其他安全控制措施，这些控制措施由您所选择的 AWS 资源决定。为确保您的资源 AWS 得到适当保护，请参阅[责任共担模型](https://aws.amazon.com/compliance/shared-responsibility-model/)中的指南。

**减少误报情况**  
如果您在使用 托管域列表阻止查询的规则中遇到误报情况，请执行以下步骤：

1. 在 VPC Resolver 日志中，确定导致误报的规则组和托管域列表。您可以通过查找 DNS Firewall 阻止但您希望允许通过的查询日志来执行此操作。日志记录列出了规则组、规则操作和托管列表。有关日志的更多信息，请参阅 [VPC 解析器查询日志中显示的值](resolver-query-logs-format.md)。

1. 在规则组中创建一个新规则，明确允许被阻止的查询通过。创建规则时，您可以使用您希望允许的域规范定义自己的域列表。要遵循有关规则组和规则管理的指导，请访问 [创建规则组和规则](resolver-dns-firewall-rule-group-adding.md)。

1. 确定规则组内新规则的优先级，使其在使用托管列表的规则之前运行。若要执行此操作，请为新规则提供较低的数字优先级设置。

更新了规则组后，新规则将在阻止规则运行之前明确允许您希望允许使用的域名。

# 管理您自己的域列表
<a name="resolver-dns-firewall-user-managed-domain-lists"></a>

您可以创建自己的域列表，以指定托管域列表产品中没有找到或您希望自行处理的域类别。

除了本节所述的步骤外，在创建或更新规则时，还可以在控制台中在 Resolver DNS Firewall 规则管理环境中创建域列表。

域列表中的每个域规范必须满足以下要求：
+ 它可以选择从 `*`（星号）开始。
+ 除了可选的起始星号和句点作为标签之间的分隔符外，它只能包含以下字符：、`A-Z`、`a-z``0-9`、`-`（连字符）。
+ 它的长度必须介于 1 到 255 个字符之间。

当您对 DNS Firewall 实体（如规则和域列表）进行更改时，DNS Firewall 会在存储和使用实体的任何位置传播更改。您的更改将在几秒钟内应用，但是当更改到达某些位置但没有到达其它剩余位置时，可能会短暂地出现不一致的情况。因此，如果您将域添加到阻止规则引用的域列表中，则新域可能会在 VPC 的一个区域中暂时被阻止，而在另一个区域中仍然被允许。当您首次配置规则组和 VPC 关联并更改现有设置时，可能会出现这种临时不一致的情况。通常而言，这种类型的任何不一致情况都只会持续几秒钟。

**在生产环境中使用域列表之前对其进行测试**  
最佳实践是在生产环境中使用域列表之前，请在非生产环境中对其进行测试，并将规则操作设置为 `Alert`。使用 Amazon CloudWatch 指标和 VPC 解析器日志评估规则。日志为所有提示和阻止操作提供域列表名称。如果您对域列表与您的 DNS 查询的匹配情况感到满意，请根据需要更改规则操作设置。有关 CloudWatch 指标和查询日志的信息，请参阅[使用 Amazon 监控解析器 DNS 防火墙规则组 CloudWatch](monitoring-resolver-dns-firewall-with-cloudwatch.md)[VPC 解析器查询日志中显示的值](resolver-query-logs-format.md)、和[管理 Resolver 查询日志记录配置](resolver-query-logging-configurations-managing.md)。

**要添加域列表**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   在导航窗格中选择 **DNS 防火墙**，以在 Amazon VPC 控制台上打开 DNS 防火墙**规则组**页面。继续执行步骤 2。

   - 或者 - 

   登录到 AWS 管理控制台 并打开 

   下方的亚马逊 VPC 控制台[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中的 **DNS 防火墙**下，选择**域列表**。在 **Domain list**（域列表）页上，您可以选择并编辑现有域列表，也可以添加自己的域列表。

1. 要添加域列表，请选择 **Add domain list**（添加域列表）。

1. 为您的域列表提供一个名称，然后在文本框中输入域规范，每行一个。

   如果您将 **Switch to bulk upload**（切换到批量上载）切换为 **on**（开启），输入您创建域列表所在的 Amazon S3 存储桶 URI。此域列表每行应有一个域名。
**注意**  
重复的域名会导致批量导入失败。

1. 选择 **Add domain list**（添加域列表）。**Domain lists**（域列表）页面会列出您的新域列表。

创建域列表后，您可以从 DNS Firewall 规则中按名称引用域列表。

**删除 DNS Firewall 实体**  
当您删除可以在 DNS Firewall 中使用的实体（例如规则组中可能正在使用的域列表或可能与 VPC 关联的规则组）时，DNS Firewall 将检查该实体当前是否正在使用。如果发现它正在使用，DNS Firewall 会警告您。DNS Firewall 几乎每次都能确定实体是否正在使用中。但是在极少数情况下，它可能无法确定。如果您需要确保当前没有任何实体正在使用中，请在删除实体之前先在 DNS Firewall 配置中进行检查。如果实体是引用的域列表，请检查是否有规则组正在使用它。如果实体是规则组，请检查它是否与任何规则组关联 VPCs。

**要删除域列表**

1. 在导航窗格中，选择 **Domain lists**（域列表）。

1. 在导航栏中，选择域列表的区域。

1. 选择要删除的域名列表，然后选择**删除**，并确认删除。

# 解析器 DNS 防火墙高级
<a name="firewall-advanced"></a>

DNS Firewall Advanced 根据 DNS 查询中的已知威胁签名检测可疑 DNS 查询。您可以指定规则中的威胁类型，在规则组内的 DNS Firewall 规则中使用该类型。当您关联规则组与 VPC 时，DNS Firewall 会将您的 DNS 查询与规则中标记的域进行比较。如果找到匹配项，则会根据匹配规则的操作处理 DNS 查询。

DNS Firewall Advanced 的工作原理是通过检查 DNS 有效载荷中的一系列关键标识符来识别可疑的 DNS 威胁特征，包括请求的时间戳、请求和响应的频率、DNS 查询字符串以及出站和入站 DNS 查询的长度、类型或大小。根据威胁签名的类型，您可以配置要阻止的策略，或者直接对查询进行记录和提醒。通过使用一组扩展的威胁标识符，您可以防范来自域来源的 DNS 威胁，这些域来源可能尚未被更广泛的安全社区维护的威胁情报源分类。

目前，DNS Firewall Advanced 提供以下保护：
+ 域生成算法 (DGAs)

  DGAs 被攻击者用来生成大量域来发起恶意软件攻击。
+ DNS 隧道

  DNS 隧道技术是指攻击者利用 DNS 隧道从客户端窃取数据，而无需与客户端建立网络连接。
+ DGA 字典

  攻击 DGAs 者使用字典通过字典单词生成域名，以逃避恶意软件 command-and-control通信中的检测。

要了解如何创建规则，请参阅 [创建规则组和规则](resolver-dns-firewall-rule-group-adding.md) 和 [DNS Firewall 中的规则设置](resolver-dns-firewall-rule-settings.md)。

**减少误报情况**  
如果您在使用 DNS Firewall Advanced 保护阻止查询的规则中遇到误报情况，请执行以下步骤：

1. 在 VPC 解析器日志中，确定导致误报的规则组和 DNS 防火墙高级保护。您可以通过查找 DNS Firewall 阻止但您希望允许通过的查询日志来执行此操作。日志记录列出了规则组、规则操作和 DNS Firewall Advanced 保护。有关日志的更多信息，请参阅 [VPC 解析器查询日志中显示的值](resolver-query-logs-format.md)。

1. 在规则组中创建一个新规则，明确允许被阻止的查询通过。创建规则时，您可以使用您希望允许的域规范定义自己的域列表。要遵循有关规则组和规则管理的指导，请访问 [创建规则组和规则](resolver-dns-firewall-rule-group-adding.md)。

1. 确定规则组内新规则的优先级，使其在使用托管列表的规则之前运行。若要执行此操作，请为新规则提供较低的数字优先级设置。

更新了规则组后，新规则将在阻止规则运行之前明确允许您希望允许使用的域名。

# 为 DNS Firewall 配置日志记录
<a name="firewall-resolver-query-logs-configuring"></a>

 您可以使用 Amazon CloudWatch 指标和解析器查询日志来评估您的 DNS 防火墙规则。日志为所有提示和阻止操作提供域列表名称。有关 Amazon 的更多信息 CloudWatch，请参阅[使用 Amazon 监控解析器 DNS 防火墙规则组 CloudWatch](monitoring-resolver-dns-firewall-with-cloudwatch.md)。

启用 DNS Firewall 后，将其关联到 VPC，并且您已启用日志记录，` firewall_rule_group_id`、`firewall_rule_action` 和 ` firewall_domain_list_id`是日志中提供的 DNS Firewall 特定字段。

**注意**  
 查询日志将仅显示 DNS 防火墙规则阻止的查询的其他 DNS 防火墙字段。

要开始记录源自您的 DNS 防火墙规则筛选的 DNS 查询 VPCs，请在 Amazon Route 53 控制台中执行以下任务：<a name="firewall-resolver-query-logs-configuring-procedure"></a>

**要为 DNS Firewall 配置 Resolver 查询日志记录**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 展开 Route 53 控制台菜单。在控制台的左上角，选择三个水平条 (![\[Menu icon\]](http://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/images/menu-icon.png)) 图标。

1. 在 Resolver 菜单中，选择 **Query logging**（查询日志记录）。

1. 在区域选择器中，选择要在其中创建查询日志配置的 AWS 区域。

   该区域必须与您创建的、与 DNS 防火墙关联且要记录查询的区域相同。 VPCs 如果您有 VPCs 多个区域，则必须为每个区域创建至少一个查询日志配置。

1. 选择 **Configure query logging**（配置查询日志记录）。

1. 指定以下值：  
**查询日志记录配置名称**  
为查询日志记录配置输入名称。名称会显示在控制台的查询日志配置列表中。输入名称将有助于以后查找此配置。  
**查询日志的目标保存位置**  
选择您希望 VPC 解析器向其发送查询日志的 AWS 资源类型。有关如何在选项（CloudWatch 日志组、S3 存储桶和 Firehose 传输流）中进行选择的信息，请参阅。[AWS 您可以向其发送 VPC 解析器查询日志的资源](resolver-query-logs-choosing-target-resource.md)  
选择资源类型后，您可以创建该类型的另一个资源，也可以选择由当前 AWS 账户创建的现有资源。  
您只能选择在步骤 4 选择的 AWS 区域中创建的资源，也即您创建查询日志记录配置的区域。如果您选择创建新资源，则该资源将在同一区域创建。  
**VPCs 记录以下各项的查询**  
此查询日志配置将记录源自您选择的 DNS 查询。 VPCs 选中当前区域中您希望 VPC 解析器记录查询的每个 VPC 的复选框，然后**选择**选择。  
对于特定目标类型，VPC 日志传输只能启用一次。日志无法传输到同一类型的多个目标。例如，无法将 VPC 日志传输到两个 Amazon S3 目标。

1. 选择 **Configure query logging**（配置查询日志记录）。

**注意**  
您应在成功创建查询日志配置后数分钟内开始在日志中看到 VPC 中的资源执行的 DNS 查询。

# 在账户之间 AWS 共享解析器 DNS 防火墙规则组
<a name="resolver-dns-firewall-rule-group-sharing"></a>

您可以在 AWS 账户之间共享 DNS 防火墙规则组。要共享规则组，请使用 AWS Resource Access Manager (AWS RAM)。DNS 防火墙控制台与 AWS RAM 控制台集成。有关的更多信息 AWS RAM，请参阅 Resource A [ccess Manager 用户指南](https://docs.aws.amazon.com/ram/latest/userguide/what-is.html)。

注意以下几点：

**将共享规则组与关联 VPCs**  
如果其他 AWS 账户与您的账户共享了规则组，则您可以像关联已创建 VPCs 的规则组一样将其与您的账户相关联。有关更多信息，请参阅 [管理您的 VPC 和解析器 DNS 防火墙规则组之间的关联](resolver-dns-firewall-vpc-associating-rule-group.md)。

**删除或取消共享规则组**  
如果您与其他账户共享规则组，然后删除该规则组或停止共享，则 DNS Firewall 会删除其他账户在该规则组与其之间创建的所有关联 VPCs。

**规则组和关联的最大设置**  
共享规则组及其关联将包含 VPCs 在与之共享规则组的账户的计数中。  
有关当前的 DNS Firewall 配额，请参阅 [解析器 DNS 防火墙的配额](DNSLimitations.md#limits-api-entities-resolver-dns-firewall)。

**Permissions**  
要与其他 AWS 账户共享规则组，您必须拥有使用该[PutFirewallRuleGroupPolicy](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_PutFirewallRuleGroupPolicy.html)操作的权限。

**对与之共享规则组的 AWS 账户的限制**  
与其共享了规则组的账户无法更改或删除该规则组。

**标签**  
只有创建规则组的账户可以添加、删除或查看规则组上的标签。

要查看规则当前的共享状态（包括共享规则组的账户或与其共享了规则组的账户），以及将规则组与其它账户共享，请执行以下步骤。

**查看共享状态并与其他 AWS 账户共享规则组**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

1. 在导航窗格中，选择 **规则组**。

1. 在导航栏上，选择您在其中创建了规则组的区域。

   **Sharing status**（共享状态）列显示当前账户所创建规则组或者与当前账户所共享规则组的当前共享状态：
   + **未共享**：当前 AWS 账户创建了规则组，但该规则组未与任何其他账户共享。
   + **Shared by me**（由我共享）：当前账户创建了规则组并且已与一个或多个账户共享。
   + **Shared With me**（与我共享）：其它账户创建了规则组并且已与当前账户共享。

1. 选择您要显示共享信息或者您要与其它账户共享的规则组名称。

   在**规则组：*rule group name***页面上，**所有者**下的值显示了创建规则组的账户的 ID。除非 **Sharing status (共享状态)** 的值为 **Shared with me (与我共享)**，否则这是当前账户。在这种情况下，**所有者**是创建规则组并与当前账户共享该规则组的账户。

1. 选择 **Share**（共享）以查看更多信息或与其它账户共享规则组。 AWS RAM 控制台中会显示一个页面，具体取决于**共享状态**的值：
   + **Not shared (未共享)**：显示 **Create resource share (创建资源共享)** 页面。有关如何与其它账户、组织单位 (OU) 或组织共享规则组的信息，请转到此步骤后的步骤。
   + **Shared by me**（由我共享）：**Shared resources**（共享的资源）页面显示由当前账户拥有并与其它账户共享的规则组和其它资源。
   + **Shared with me**（与我共享）：**Shared resources**（共享的资源）页面显示由其它账户拥有并与当前账户共享的规则组和其它资源。

1. 要与其他 AWS 账户、组织单位或组织共享规则组，请指定以下值。
**注意**  
您无法更新共享设置。要更改任何以下设置，您必须使用新设置重新共享规则组，然后删除旧的共享设置。  
**说明**  
输入可以帮助您记住为什么共享规则组的简短说明。  
**资源**  
选中与您要共享的规则组对应的复选框。  
**主体**  
输入 AWS 账号、OU 名称或组织名称。  
**标签**  
指定一个或多个键及对应的值。例如，您可以为 **Key** 指定**成本中心**，为**值**指定 **456**。  
这些是 AWS 账单与成本管理 用于整理 AWS 账单的标签；您也可以将标签用于其他目的。有关对成本分配使用标签的更多信息，请参阅《AWS Billing 用户指南》**中的[使用成本分配标签](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

# 为您的 VPC 启用解析器 DNS 防火墙保护
<a name="resolver-dns-firewall-vpc-protections"></a>

通过将一个或多个规则组与 VPC 关联，您可以为 VPC 启用 DNS Firewall 保护。每当 VPC 与 DNS 防火墙规则组关联时，Route 53 VPC 解析器都会提供以下 DNS 防火墙保护：
+ VPC 解析器通过 DNS 防火墙路由 VPC 的出站 DNS 查询，DNS 防火墙使用关联的规则组筛选查询。
+ VPC 解析器会强制执行 VPC 的 DNS 防火墙配置中的设置。

要为 VPC 提供 DNS Firewall 保护，您可以执行以下操作：
+ 创建和管理 DNS Firewall 规则组和 VPC 之间的关联。有关规则组的信息，请参阅[DNS Firewall 规则组和规则](resolver-dns-firewall-rule-groups.md)。
+ 配置您希望 VPC 解析器在故障期间如何处理 VPC 的 DNS 查询，例如，如果 DNS 防火墙不为 DNS 查询提供响应。

# 管理您的 VPC 和解析器 DNS 防火墙规则组之间的关联
<a name="resolver-dns-firewall-vpc-associating-rule-group"></a>

**要查看规则组的 VPC 关联**

1. 登录 AWS 管理控制台 并打开 Route 53 控制台，网址为[https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)。

   在导航窗格中选择 **DNS 防火墙**，以在 Amazon VPC 控制台上打开 DNS 防火墙**规则组**页面。

   - 或者 - 

   登录到 AWS 管理控制台 并打开 

   下方的亚马逊 VPC 控制台[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)。

1. 在导航窗格中的 **DNS 防火墙**下，选择**规则组**。

1. 在导航栏中，选择规则组的区域。

1. 选择要关联的规则组。

1. 请选择**查看详细信息**。此时将显示规则组页面。

1. 在底部，您可以看到一个选项卡式详细信息区域，其中包含规则和相关 VPCs规则。选择 “关**联**” 选项卡VPCs。

**将规则组与 VPC 关联**

1. 按照[前述程序](resolver-dns-firewall-rule-group-sharing.md)**要查看规则组的 VPC 关联**中的知识找到规则组的 VPC 关联。

1. 在 VPCs “**关联**” 选项卡中，选择 “**关联 VPC**”。

1. 在下拉列表中找到要与规则组关联的 VPC。选择该 VPC，然后选择 **Associate**（关联）。

在规则组页面中，您的 VPC 列在 VPCs “**关联**” 选项卡中。起初，该关联的 **Status**（状态）报告为 **Updating**（正在更新）。在关联完成后，状态将更改为 **Complete**（完成）。

**要删除规则组与 VPC 之间的关联**

1. 按照[前述程序](resolver-dns-firewall-rule-group-sharing.md)**要查看规则组的 VPC 关联**中的知识找到规则组的 VPC 关联。

1. 选择要从列表中移除的 VPC，然后选择**取消关联**。验证，然后确认操作。

在规则组页面上，您的 VPC 将列在 “已**关联 VPCs**” 选项卡中，状态为 “**取消关联**”。操作完成后，DNS Firewall 将更新列表以删除 VPC。

# DNS Firewall VPC 配置
<a name="resolver-dns-firewall-vpc-configuration"></a>

您的 VPC 的 DNS 防火墙配置决定了 Route 53 VPC 解析器是否允许查询或在出现故障时阻止查询，例如，当 DNS 防火墙受损、无响应或在区域中不可用时。只要您有一个或多个 DNS 防火墙规则组与 VPC 关联，VPC 解析器就会强制执行 VPC 的防火墙配置。

您可以将 VPC 配置为失效打开或失效关闭。
+ 默认情况下，故障模式处于关闭状态，这意味着 VPC Resolver 会阻止任何未收到来自 DNS 防火墙的回复的查询，并发送 D ` SERVFAIL` NS 响应。这种方法有利于提升安全性，但会降低可用性。
+ 如果您启用失效打开，VPC 解析器将在未收到 DNS 防火墙的回复时允许通过查询。这种方法有利于提升可用性，但会降低安全性。

**要更改 VPC（控制台）的 DNS Firewall 配置**

1. 登录 AWS 管理控制台 并打开 VPC 解析器控制台，网址为[https://console.aws.amazon.com/route53resolver/](https://console.aws.amazon.com/route53resolver/)。

1. 在导航窗格的 “**解析器**” 下，选择**VPCs**。

1. 在该**VPCs**页面中，找到并编辑 VPC。根据需要将 DNS Firewall 配置更改为失败打开或失败关闭。

**要更改 VPC (API) 的 DNS Firewall 行为**
+ 通过调用[UpdateFirewallConfig](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_UpdateFirewallConfig.html)、启用或禁用来更新 VPC 防火墙配置` FirewallFailOpen`。

您可以通过调用，通过 API 检索您的 VPC 防火墙配置列表[ListFirewallConfigs](https://docs.aws.amazon.com/Route53/latest/APIReference/API_route53resolver_ListFirewallConfigs.html)。