

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

# 解析器 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 查询交易。如果主机上的 DNS 客户端单独查询 DNS 重定向链中出现的域（例如，直接查询重定向目标），则 DNS Firewall 会将其评估为独立查询，与原始查询没有信任上下文。要允许此类查询，请将重定向目标域名添加到您的域名列表中。
有关更多信息，请参阅 [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)。