implementing-zero-trust-dns-with-nextdns
将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。
Best use case
implementing-zero-trust-dns-with-nextdns is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。
Teams using implementing-zero-trust-dns-with-nextdns should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/implementing-zero-trust-dns-with-nextdns/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How implementing-zero-trust-dns-with-nextdns Compares
| Feature / Agent | implementing-zero-trust-dns-with-nextdns | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
将 NextDNS 实施为零信任 DNS 过滤层,提供加密解析、威胁情报阻断、隐私保护,以及跨所有端点的组织策略执行。
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 使用 NextDNS 实施零信任 DNS
## 概述
NextDNS 是一种基于云的 DNS 解析器,提供加密 DNS 解析(DNS-over-HTTPS 和 DNS-over-TLS)、实时威胁情报阻断、广告和追踪器过滤,以及细粒度 DNS 策略执行。在零信任架构中,DNS 是关键控制点——每个网络连接都从 DNS 查询开始,这使 DNS 过滤成为阻断恶意域名、防止 DNS 隧道数据泄露、执行可接受使用策略,以及获取所有网络通信可见性的有效层次。NextDNS 使用包含数百万个实时更新恶意域名的威胁情报源处理查询,阻断加密货币挖矿和钓鱼域名,检测 DNS 重绑定攻击,并支持 CNAME 伪装保护。对于企业 Windows 环境,Microsoft 在 Windows 11 上的零信任 DNS(ZTDNS)功能通过强制端点只能通过批准的受保护 DNS 服务器解析域名来扩展这一概念。
## 前置条件
- NextDNS 账户(免费版:每月 300,000 次查询;Pro:无限制)
- 支持 DoH 或 DoT 配置的网络设备
- 端点 DNS 设置的管理员访问权限
- 了解 DNS 协议和解析链
- 熟悉组织可接受使用策略
## 架构
```
端点设备
|
DNS 查询(加密)
|
+----+----+
| DoH/DoT | (DNS-over-HTTPS 或 DNS-over-TLS)
| 隧道 |
+----+----+
|
+----+----+
| NextDNS |
| 解析器 |
+----+----+
|
+----+----+------+--------+
| | | |
威胁情报 广告/追踪 隐私 家长
检查 拦截 控制 控制
| | | |
+----+----+------+--------+
|
允许或阻断
|
响应返回端点
```
## 配置设置
### NextDNS 配置文件设置
```
仪表板:https://my.nextdns.io
配置 ID:abc123(每个配置文件唯一)
端点:
DNS-over-HTTPS: https://dns.nextdns.io/abc123
DNS-over-TLS: abc123.dns.nextdns.io
DNS-over-QUIC: quic://abc123.dns.nextdns.io
IPv4: 45.90.28.x, 45.90.30.x(绑定到配置)
IPv6: 2a07:a8c0::xx, 2a07:a8c1::xx
```
### 安全设置
```
安全选项卡配置:
[x] 威胁情报源 - 阻断来自精选威胁源的域名
[x] AI 驱动威胁检测 - 基于机器学习的检测
[x] Google Safe Browsing - 与 Google 威胁数据库交叉验证
[x] 加密货币挖矿保护 - 阻断加密货币挖矿域名
[x] DNS 重绑定保护 - 防止 DNS 重绑定攻击
[x] IDN 同形异义词攻击 - 阻断国际化域名攻击
[x] 仿冒域名保护 - 阻断常见仿冒域名
[x] DGA 保护 - 阻断域名生成算法域名
[x] NRD(新注册域名)- 阻断注册不足 30 天的域名
[x] DDNS(动态 DNS)- 阻断动态 DNS 服务
[x] 停车域名 - 阻断停车/未使用域名
[x] CSAM - 阻断儿童性虐待材料域名
```
### 隐私设置
```
隐私选项卡配置:
拦截列表:
[x] NextDNS 广告和追踪器拦截列表
[x] OISD(完整版)
[x] EasyPrivacy
[x] AdGuard DNS 过滤器
原生追踪防护:
[x] 阻断 Windows 遥测
[x] 阻断 Apple 遥测
[x] 阻断 Samsung 遥测
[x] 阻断 Xiaomi 遥测
[x] 阻断 Huawei 遥测
[x] 阻断 Roku 遥测
[x] 阻断 Sonos 遥测
[x] 阻断伪装第三方追踪器(CNAME 伪装)
[x] 允许联盟和追踪链接(可选,用于商业需求)
```
### 允许列表和拒绝列表
```
允许列表(绕过所有阻断的域名):
- login.microsoftonline.com
- graph.microsoft.com
- *.company.com
拒绝列表(无论其他设置始终阻断):
- known-malicious-domain.com
- unauthorized-cloud-storage.com
- personal-email-provider.com(如策略要求)
```
## 端点部署
### Linux(systemd-resolved)
```bash
# 使用 systemd-resolved 配置 DNS-over-TLS
sudo tee /etc/systemd/resolved.conf << 'EOF'
[Resolve]
DNS=45.90.28.x#abc123.dns.nextdns.io
DNS=45.90.30.x#abc123.dns.nextdns.io
DNS=2a07:a8c0::xx#abc123.dns.nextdns.io
DNS=2a07:a8c1::xx#abc123.dns.nextdns.io
DNSOverTLS=yes
Domains=~.
EOF
sudo systemctl restart systemd-resolved
# 验证
resolvectl status
resolvectl query example.com
```
### Linux(NextDNS CLI)
```bash
# 安装 NextDNS CLI
sh -c 'sh -e $(curl -sL https://nextdns.io/install)'
# 使用您的配置文件配置
sudo nextdns install \
-config abc123 \
-report-client-info \
-auto-activate
# 验证
nextdns status
nextdns log
```
### macOS
```bash
# 通过 Homebrew 安装
brew install nextdns/tap/nextdns
# 配置
sudo nextdns install \
-config abc123 \
-report-client-info
# 或通过系统设置 > 网络 > DNS 配置
# 添加 DNS-over-HTTPS:https://dns.nextdns.io/abc123
```
### Windows
```powershell
# 安装 Windows 版 NextDNS CLI
# 从以下地址下载:https://nextdns.io/download/windows
# 或在 Windows 11 上原生配置 DoH
# 设置 > 网络和 Internet > 以太网/Wi-Fi > DNS
# 首选 DNS:45.90.28.x
# HTTPS 加密 DNS:开启(手动模板)
# DoH 模板:https://dns.nextdns.io/abc123
# PowerShell:配置 DoH
Set-DnsClientDohServerAddress -ServerAddress "45.90.28.x" `
-DohTemplate "https://dns.nextdns.io/abc123" `
-AllowFallbackToUdp $false `
-AutoUpgrade $true
```
### 路由器级配置
```
# 大多数路由器支持自定义 DNS 服务器
# 对于支持 DoH/DoT 的路由器(pfSense、OPNsense、OpenWrt):
# pfSense DNS 解析器(Unbound):
# 服务 > DNS 解析器 > 自定义选项:
server:
forward-zone:
name: "."
forward-tls-upstream: yes
forward-addr: 45.90.28.x@853#abc123.dns.nextdns.io
forward-addr: 45.90.30.x@853#abc123.dns.nextdns.io
# OpenWrt(使用 https-dns-proxy):
opkg update && opkg install https-dns-proxy
uci set https-dns-proxy.default.resolver_url='https://dns.nextdns.io/abc123'
uci commit https-dns-proxy
/etc/init.d/https-dns-proxy restart
```
### 移动设备
```
iOS:
从 App Store 安装 NextDNS 应用
或:设置 > 通用 > VPN 与设备管理
安装 NextDNS 配置描述文件
Android:
设置 > 网络 > 私人 DNS
DNS 提供商:abc123.dns.nextdns.io
或:从 Play Store 安装 NextDNS 应用
```
## Microsoft 零信任 DNS(Windows 11)
对于企业 Windows 环境,Microsoft 的 ZTDNS 强制端点只能与通过批准 DNS 服务器解析的域名通信。
```powershell
# 启用 ZTDNS(Windows 11 23H2 及以上)
# 需要 Windows Defender 防火墙处于强制执行模式
# 通过组策略配置受保护 DNS 服务器:
# 计算机配置 > 管理模板 > 网络 > DNS 客户端
# > 配置 DNS over HTTPS (DoH) 名称解析
# > 受保护 DNS 服务器:https://dns.nextdns.io/abc123
# Windows 防火墙阻断所有未通过受保护 DNS 服务器
# 解析的域名的流量
```
## 监控和分析
### 日志分析
```
NextDNS 分析仪表板提供:
- 随时间变化的总查询量
- 按类别分类的阻断查询
- 热门域名(允许和阻断)
- 热门阻断原因(威胁、广告、追踪器)
- 设备级细分
- 查询的地理分布
日志设置:
保留期:1 小时 / 6 小时 / 1 天 / 1 周 / 1 月 / 3 月 / 1 年 / 2 年
存储位置:美国 / 欧盟 / 英国 / 瑞士
日志记录:[ ] 启用 / [ ] 禁用
```
### API 集成
```bash
# NextDNS API 用于自动化监控
# 获取分析数据
curl -H "X-Api-Key: your-api-key" \
"https://api.nextdns.io/profiles/abc123/analytics/domains?from=-24h"
# 获取阻断域名
curl -H "X-Api-Key: your-api-key" \
"https://api.nextdns.io/profiles/abc123/analytics/domains?from=-24h&status=blocked"
# 导出日志用于 SIEM 集成
curl -H "X-Api-Key: your-api-key" \
"https://api.nextdns.io/profiles/abc123/logs?from=-1h" \
| jq '.data[] | select(.status == "blocked")'
```
## 零信任 DNS 策略框架
### 策略层级
```
第 1 层 - 安全(所有人强制):
- 威胁情报阻断
- 加密货币挖矿保护
- DNS 重绑定保护
- DGA 检测
- NRD 阻断(< 30 天)
第 2 层 - 隐私(推荐):
- 追踪器阻断
- 原生遥测阻断
- CNAME 伪装保护
第 3 层 - 合规(组织特定):
- 基于类别的阻断
- 自定义允许/拒绝列表
- 基于时间的访问策略
- 按法规要求的日志保留
```
## 安全最佳实践
1. **强制加密 DNS**:在防火墙处阻断明文 DNS(UDP/TCP 53 端口)
2. **在端点使用 NextDNS CLI**:确保每设备识别和日志记录
3. **启用 NRD 阻断**:新注册域名绝大多数是恶意的
4. **阻断 DNS-over-HTTPS 绕过**:确保浏览器使用系统 DNS 而非内置 DoH
5. **每季度审查拦截列表**:消除误报,添加组织特定阻断
6. **启用 CNAME 伪装保护**:防止追踪器通过 CNAME 记录逃避
7. **设置适当的日志保留期**:平衡隐私与取证需求(建议 90 天)
8. **监控 DNS 隧道**:观察异常查询模式和高熵域名
9. **在路由器级部署**:捕获包括物联网和非托管端点在内的所有设备
10. **与端点 DNS 结合**:通过路由器和每设备过滤实现纵深防御
## 参考资料
- [NextDNS 文档](https://nextdns.io/)
- [NextDNS 配置指南(GitHub)](https://github.com/yokoffing/NextDNS-Config)
- [Microsoft 零信任 DNS](https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/zero-trust-dns/)
- [NIST SP 800-81-2:安全 DNS 部署指南](https://csrc.nist.gov/publications/detail/sp/800-81/2/final)
- [RFC 8484:HTTPS 上的 DNS 查询(DoH)](https://tools.ietf.org/html/rfc8484)
- [RFC 7858:TLS 上的 DNS(DoT)](https://tools.ietf.org/html/rfc7858)Related Skills
performing-active-directory-forest-trust-attack
使用 impacket 枚举和审计 Active Directory 林信任关系,进行 SID 过滤分析、信任密钥提取、跨林 SID 历史滥用检测和跨域 Kerberos 票据评估。
implementing-zero-trust-with-hashicorp-boundary
使用 HashiCorp Boundary 实现具备动态凭据代理、会话录制和 Vault 集成的身份感知零信任基础设施访问管理。
implementing-zero-trust-with-beyondcorp
使用身份感知代理(IAP,Identity-Aware Proxy)、上下文感知访问策略、设备信任验证和 Access Context Manager,部署 Google BeyondCorp Enterprise 零信任访问控制,对 GCP 资源和内部应用强制执行基于身份和安全态势的访问。
implementing-zero-trust-network-access
通过配置身份感知代理、微分段、基于条件访问策略的持续验证,以及在 AWS、Azure 和 GCP 环境中以 BeyondCorp 风格的架构替代传统 VPN 访问,在云环境中实施零信任网络访问(ZTNA)。
implementing-zero-trust-network-access-with-zscaler
使用 Zscaler 实施零信任网络访问(Zero Trust Network Access,ZTNA),通过 Zscaler Private Access(ZPA)配置应用分段、访问策略和连接器,替代传统 VPN 架构
implementing-zero-trust-in-cloud
本技能指导组织按照 NIST SP 800-207 和 Google BeyondCorp 原则在云环境中实施零信任(Zero Trust)架构,涵盖以身份为中心的访问控制、微分段(Micro-Segmentation)、持续验证、设备信任评估,以及部署身份感知代理(Identity-Aware Proxy)以消除 AWS、Azure 和 GCP 环境中的隐式网络信任。
implementing-zero-trust-for-saas-applications
使用 CASB、SSPM、条件访问策略、OAuth 应用治理和会话控制,为 SaaS 应用实施零信任访问控制, 对云托管服务强制执行身份验证、设备合规性检查和数据保护。
implementing-zero-standing-privilege-with-cyberark
部署 CyberArk Secure Cloud Access,通过基于时间、权限和审批控制的即时访问,在混合云和多云环境中消除常设权限。
implementing-zero-knowledge-proof-for-authentication
零知识证明(ZKP)允许证明者在不泄露秘密本身的情况下证明对某个秘密(如密码或私钥)的了解。本技能实现 Schnorr 身份识别协议和使用离散对数问题的简化 ZKPP,使服务器永远不需要获取用户密码即可完成认证。
implementing-web-application-logging-with-modsecurity
配置带有 OWASP 核心规则集(CRS)的 ModSecurity WAF,实现 Web 应用程序日志记录, 调整规则以减少误报,分析审计日志进行攻击检测,并为应用程序特定威胁实现自定义 SecRules。 分析师配置 SecRuleEngine、SecAuditEngine 和 CRS 偏执级别,以在安全覆盖范围和运营稳定性之间取得平衡。 适用于涉及 WAF 配置、ModSecurity 规则调整、Web 应用审计日志或 CRS 部署的场景。
implementing-vulnerability-sla-breach-alerting
为漏洞修复 SLA 违规构建自动化告警,包含基于严重程度的时间线、升级工作流和合规性报告仪表板。
implementing-vulnerability-remediation-sla
漏洞修复 SLA(服务级别协议)根据严重程度、资产重要性和漏洞利用可用性定义修补或缓解已识别漏洞的强制时限。有效的 SLA 计划推动责任落实、确保一致的修复时间线,并为漏洞管理成熟度提供可衡量的 KPI。