在本实验中,我们将使用 Route 53 Resolver DNS Firewall 和 AWS Network Firewall 实施分层出口安全。
上一节我们访问了Egress test URL, 验证来自 DEV 和 PROD 环境的出站互联网连接。它测试:

我们的目标是:在本实验中配置每个安全控制后,刷新测试脚本以验证恶意连接现在已被阻止,而合法流量继续正常工作。
Amazon Route 53 Resolver DNS Firewall 通过在域名解析发生之前过滤 DNS 查询,在建立连接之前在 DNS 级别阻止恶意域名,从而提供第一道防线。
AWS通过托管域列表(Managed Domain Lists)持续更新已知的恶意域名。通过阻止对这些域名的DNS解析,我们可以在连接建立之前阻止连接,在攻击链的最早可能点阻止威胁。
AWS提供多个Managed Domain Lists,为不同类别提供威胁情报,包括恶意软件域名、僵尸网络命令和控制服务器以及已知威胁行为者。AWSManagedDomainsAggregateThreatList包含来自其他AWS Managed Domain Lists的所有域名,在单个列表中提供全面保护,该列表由AWS根据威胁情报维护并定期更新。

输入名称 dns-fw-rule-group,选择 Create rule group

选择 Add rule

输入名称 AggregateThreatList并使用以下设置进行配置:

dns-firewall-block0点击 Add rule

上面三种block类型的区别:
| 选项 | 返回结果 | 客户端看到 |
|---|---|---|
| NODATA | 空响应(成功但无数据) | 域名存在但无记录 |
| NXDOMAIN | 域名不存在 | “域名不存在"错误 |
| OVERRIDE | 自定义响应 | 重定向到你指定的地址 |
例如对于上面的override类型:
用户请求:恶意域名.com
│
▼
DNS Firewall 检查
│
│ 匹配阻止列表
▼
返回 CNAME: dns-firewall-block
│
▼
用户浏览器解析 dns-firewall-block
│
▼
显示阻止页面
选中我们的规则组后,点击 Associated VPCs 选项卡, 点击 Associate VPC

同时选择 dev-vpc-template和prod-vpc-template, 点击 Associate

将规则组与我们的VPC关联后,DNS Firewall规则完全传播并生效可能需要大约1-3分钟:

等待大约1-2分钟,让DNS Firewall规则传播, 刷新egress test脚本, 验证对恶意域名的DNS查询现在已被阻止

自定义域名列表(Custom Domain Lists)允许我们根据组织的特定安全策略和风险承受能力来封锁域名。某些顶级域名(TLD)由于注册成本低且验证要求极少,经常被威胁行为者用于网络钓鱼、恶意软件分发和命令控制基础设施。通过封锁这些高风险TLD,我们可以在不影响正常业务运营的情况下减少攻击面。

使用以下设置配置规则:
Rule name: block-commonly-abused-top-level-domains
Domain list: 选择 Custom domain list,然后选择 Create new domain list
Domain list name: commonly-abused-top-level-domains
Domains: 添加以下常见被滥用的TLD:
*.ru
*.cn
*.xyz
*.cyou
*.pw
*.ws
*.gq
*.surf
*.cf
*.ml

dns-firewall-block点击 Add rule

刷新egress test脚本, 验证自定义域名列表测试现在显示 BLOCKED

虽然静态域名列表在阻止已知恶意域名方面很有效,但在检测高级基于DNS的威胁(如DNS隧道和域名生成算法(DGA))时存在局限性。静态列表只能阻止已知且已编录的域名,这意味着它们无法检测新生成的域名或隐藏在看似合法的DNS查询中的恶意流量。DNS Firewall Advanced 使用机器学习通过实时分析DNS查询模式来识别这些复杂威胁。
在实验4中,我们将获得使用DNS Firewall Advanced阻止DNS隧道命令和控制服务器流量的实践。
DNS Firewall Advanced 为每种检测类型提供三个置信度级别:
AWS建议从ALERT模式开始,以监控潜在的误报。一旦我们验证规则不会干扰合法流量,我们就可以放心地将其切换到BLOCK模式以进行主动保护。
在实施DNS Firewall Advanced时:
我们已成功使用Route 53 Resolver DNS Firewall实施了全面的DNS层安全控制:
这些DNS层控制通过在连接建立之前阻止恶意域名,提供我们的第一道防线,减少攻击面并在流量流中尽可能早地阻止威胁。
现在DNS层保护已就位,我们将配置AWS Network Firewall,为通过DNS过滤的流量提供深度包检测。