implementing-zero-trust-dns-with-nextdns skill (Anthropic-Cybersecurity-Skills)
- Install
- SKILL.md (verbatim)
- Overview
- When to Use
- Prerequisites
- Architecture
- Configuration Setup
- NextDNS Profile Configuration
- Security Settings
- Privacy Settings
- Allowlist and Denylist
- Endpoint Deployment
- Linux (systemd-resolved)
- Linux (NextDNS CLI)
- macOS
- Windows
- Router-Level Configuration
- Mobile Devices
- Microsoft Zero Trust DNS (Windows 11)
- Monitoring and Analytics
- Log Analysis
- API Integration
- Zero Trust DNS Policy Framework
- Policy Tiers
- Security Best Practices
- References
- Other files in this skill
- assets/template.md (verbatim)
- Configuration
- Security Settings Checklist
- Privacy Settings Checklist
- Deployment Targets
- Network Controls
- references/api-reference.md (verbatim)
- NextDNS REST API
- Authentication
- Profile Endpoints
- Security Feature Keys
- Log Entry Fields
- References
- references/standards.md (verbatim)
- DNS Security Standards
- RFC 8484: DNS Queries over HTTPS (DoH)
- RFC 7858: DNS over Transport Layer Security (DoT)
- RFC 9250: DNS over Dedicated QUIC Connections (DoQ)
- NIST SP 800-81-2: Secure Domain Name System Deployment Guide
- Zero Trust DNS Standards
- Microsoft ZTDNS (Windows 11)
- CISA ZTMM - Network Pillar
- Compliance Mapping
- NIST SP 800-53
- CIS Controls v8
- references/workflows.md (verbatim)
- Workflow 1: Initial NextDNS Deployment
- Workflow 2: DNS Security Policy Enforcement
- Workflow 3: Incident Response with DNS Logs
What it does. Configure NextDNS as an encrypted (DoH/DoT) zero trust DNS resolver that blocks malicious, phishing, and cryptojacking domains via real-time threat intelligence, detects DNS rebinding and CNAME cloaking, and enforces organizational DNS policy across endpoints. Use when deploying DNS-layer threat blocking and acceptable-use enforcement, or when extending zero trust controls (including Windows 11 Zero Trust DNS) to the DNS resolution path. Part of mukul975/Anthropic-Cybersecurity-Skills (817 security skills) (mukul975/Anthropic-Cybersecurity-Skills).
| Upstream | mukul975/Anthropic-Cybersecurity-Skills |
| Skill file | skills/implementing-zero-trust-dns-with-nextdns/SKILL.md |
| License | Apache-2.0 (skill folder LICENSE) |
| Author | mukul975 |
| Fetched | 2026-09-10 |
Install
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-zero-trust-dns-with-nextdns, or copy the skill folder into~/.claude/skills/implementing-zero-trust-dns-with-nextdns/.- Raw file:
curl -sL https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/HEAD/skills/implementing-zero-trust-dns-with-nextdns/SKILL.md
SKILL.md (verbatim)
3 placeholder credentials were shortened (for example to
api_key=YOUR_KEY) to pass the site's secret filter.
name: implementing-zero-trust-dns-with-nextdns
description: Configure NextDNS as an encrypted (DoH/DoT) zero trust DNS resolver that blocks malicious, phishing, and cryptojacking domains via real-time threat intelligence, detects DNS rebinding and CNAME cloaking, and enforces organizational DNS policy across endpoints. Use when deploying DNS-layer threat blocking and acceptable-use enforcement, or when extending zero trust controls (including Windows 11 Zero Trust DNS) to the DNS resolution path.
domain: cybersecurity
subdomain: zero-trust-architecture
tags:
- zero-trust
- dns
- nextdns
- dns-over-https
- dns-over-tls
- threat-blocking
- dns-filtering
- privacy
- encrypted-dns
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- PR.AA-01
- PR.AA-05
- PR.IR-01
- GV.PO-01
mitre_attack:
- T1078
- T1190
- T1059
- T1573
- T1486
Implementing Zero Trust DNS with NextDNS
Overview
NextDNS is a cloud-based DNS resolver that provides encrypted DNS resolution (DNS-over-HTTPS and DNS-over-TLS), real-time threat intelligence blocking, ad and tracker filtering, and granular DNS policy enforcement. In a zero trust architecture, DNS is a critical control point -- every network connection begins with a DNS query, making DNS filtering an effective layer for blocking malicious domains, preventing data exfiltration via DNS tunneling, enforcing acceptable use policies, and gaining visibility into all network communications. NextDNS processes queries using threat intelligence feeds containing millions of malicious domains updated in real-time, blocks cryptojacking and phishing domains, detects DNS rebinding attacks, and supports CNAME cloaking protection. For enterprise environments, Microsoft's Zero Trust DNS (ZTDNS) feature on Windows 11 extends this concept by enforcing that endpoints can only resolve domains through approved protected DNS servers.
When to Use
- When deploying or configuring implementing zero trust dns with nextdns capabilities in your environment
- When establishing security controls aligned to compliance requirements
- When building or improving security architecture for this domain
- When conducting security assessments that require this implementation
Prerequisites
- NextDNS account (free tier: 300,000 queries/month; Pro: unlimited)
- Network devices supporting DoH or DoT configuration
- Administrative access to endpoint DNS settings
- Understanding of DNS protocol and resolution chain
- Familiarity with organizational acceptable use policies
Architecture
Endpoint Device
|
DNS Query (Encrypted)
|
+----+----+
| DoH/DoT | (DNS-over-HTTPS or DNS-over-TLS)
| Tunnel |
+----+----+
|
+----+----+
| NextDNS |
| Resolver |
+----+----+
|
+----+----+------+--------+
| | | |
Threat Ad/Tracker Privacy Parental
Intel Blocklists Controls Controls
Check Check Check Check
| | | |
+----+----+------+--------+
|
ALLOW or BLOCK
|
Response to Endpoint
Configuration Setup
NextDNS Profile Configuration
Dashboard: https://my.nextdns.io
Configuration ID: abc123 (unique per profile)
Endpoints:
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 (linked to config)
IPv6: 2a07:a8c0::xx, 2a07:a8c1::xx
Security Settings
Security Tab Configuration:
[x] Threat Intelligence Feeds - Block domains from curated threat feeds
[x] AI-Driven Threat Detection - Machine learning-based detection
[x] Google Safe Browsing - Cross-reference with Google's threat database
[x] Cryptojacking Protection - Block crypto mining domains
[x] DNS Rebinding Protection - Prevent DNS rebinding attacks
[x] IDN Homograph Attacks - Block internationalized domain name attacks
[x] Typosquatting Protection - Block common typosquatting domains
[x] DGA Protection - Block domain generation algorithm domains
[x] NRD (Newly Registered Domains) - Block domains < 30 days old
[x] DDNS (Dynamic DNS) - Block dynamic DNS services
[x] Parked Domains - Block parked/unused domains
[x] CSAM - Block child sexual abuse material domains
Privacy Settings
Privacy Tab Configuration:
Blocklists:
[x] NextDNS Ads & Trackers Blocklist
[x] OISD (Full)
[x] EasyPrivacy
[x] AdGuard DNS Filter
Native Tracking Protection:
[x] Block Windows telemetry
[x] Block Apple telemetry
[x] Block Samsung telemetry
[x] Block Xiaomi telemetry
[x] Block Huawei telemetry
[x] Block Roku telemetry
[x] Block Sonos telemetry
[x] Block Disguised Third-Party Trackers (CNAME cloaking)
[x] Allow Affiliate & Tracking Links (optional, for business)
Allowlist and Denylist
Allowlist (domains that bypass all blocking):
- login.microsoftonline.com
- graph.microsoft.com
- *.company.com
Denylist (always blocked regardless of other settings):
- known-malicious-domain.com
- unauthorized-cloud-storage.com
- personal-email-provider.com (if policy requires)
Endpoint Deployment
Linux (systemd-resolved)
# Configure DNS-over-TLS with systemd-resolved
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
# Verify
resolvectl status
resolvectl query example.com
Linux (NextDNS CLI)
# Install NextDNS CLI
sh -c 'sh -e $(curl -sL https://nextdns.io/install)'
# Configure with your profile
sudo nextdns install \
-config abc123 \
-report-client-info \
-auto-activate
# Verify
nextdns status
nextdns log
macOS
# Install via Homebrew
brew install nextdns/tap/nextdns
# Configure
sudo nextdns install \
-config abc123 \
-report-client-info
# Or configure via System Settings > Network > DNS
# Add DNS-over-HTTPS: https://dns.nextdns.io/abc123
Windows
# Install NextDNS CLI for Windows
# Download from: https://nextdns.io/download/windows
# Or configure DoH natively (Windows 11)
# Settings > Network & Internet > Ethernet/Wi-Fi > DNS
# Preferred DNS: 45.90.28.x
# DNS over HTTPS: On (Manual template)
# DoH Template: https://dns.nextdns.io/abc123
# PowerShell: Configure DoH
Set-DnsClientDohServerAddress -ServerAddress "45.90.28.x" `
-DohTemplate "https://dns.nextdns.io/abc123" `
-AllowFallbackToUdp $false `
-AutoUpgrade $true
Router-Level Configuration
# Most routers support custom DNS servers
# For DoH/DoT-capable routers (pfSense, OPNsense, OpenWrt):
# pfSense DNS Resolver (Unbound):
# Services > DNS Resolver > Custom Options:
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 (using 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
Mobile Devices
iOS:
Install NextDNS app from App Store
Or: Settings > General > VPN & Device Management
Install NextDNS configuration profile
Android:
Settings > Network > Private DNS
DNS Provider: abc123.dns.nextdns.io
Or: Install NextDNS app from Play Store
Microsoft Zero Trust DNS (Windows 11)
For enterprise Windows environments, Microsoft's ZTDNS enforces that endpoints can only communicate with domains resolved through approved DNS servers.
# Enable ZTDNS (Windows 11 23H2+)
# Requires Windows Defender Firewall in enforcing mode
# Configure Protected DNS Servers via Group Policy:
# Computer Configuration > Administrative Templates > Network > DNS Client
# > Configure DNS over HTTPS (DoH) name resolution
# > Protected DNS servers: https://dns.nextdns.io/abc123
# Windows Firewall blocks all traffic to domains not resolved
# through the protected DNS server
Monitoring and Analytics
Log Analysis
NextDNS Analytics Dashboard provides:
- Total queries over time
- Blocked queries by category
- Top domains (allowed and blocked)
- Top blocked reasons (threat, ad, tracker)
- Device-level breakdown
- Geographic query distribution
Log Settings:
Retention: 1 hour / 6 hours / 1 day / 1 week / 1 month / 3 months / 1 year / 2 years
Storage Location: US / EU / UK / Switzerland
Logging: [ ] Enable / [ ] Disable
API Integration
# NextDNS API for automated monitoring
# Get analytics data
curl -H "X-Api-Key: YOUR_KEY \
"https://api.nextdns.io/profiles/abc123/analytics/domains?from=-24h"
# Get blocked domains
curl -H "X-Api-Key: YOUR_KEY \
"https://api.nextdns.io/profiles/abc123/analytics/domains?from=-24h&status=blocked"
# Export logs for SIEM integration
curl -H "X-Api-Key: YOUR_KEY \
"https://api.nextdns.io/profiles/abc123/logs?from=-1h" \
| jq '.data[] | select(.status == "blocked")'
Zero Trust DNS Policy Framework
Policy Tiers
Tier 1 - Security (Mandatory for all):
- Threat intelligence blocking
- Cryptojacking protection
- DNS rebinding protection
- DGA detection
- NRD blocking (< 30 days)
Tier 2 - Privacy (Recommended):
- Tracker blocking
- Native telemetry blocking
- CNAME cloaking protection
Tier 3 - Compliance (Organization-specific):
- Category-based blocking
- Custom allowlists/denylists
- Time-based access policies
- Log retention per regulatory requirements
Security Best Practices
- Enforce encrypted DNS: Block plaintext DNS (port 53 UDP/TCP) at the firewall
- Use NextDNS CLI on endpoints: Ensures per-device identification and logging
- Enable NRD blocking: Newly registered domains are overwhelmingly malicious
- Block DNS-over-HTTPS bypass: Ensure browsers use system DNS, not built-in DoH
- Review blocklists quarterly: Remove false positives, add organizational blocks
- Enable CNAME cloaking protection: Prevents tracker evasion via CNAME records
- Set appropriate log retention: Balance privacy with forensic needs (90 days recommended)
- Monitor for DNS tunneling: Watch for unusual query patterns and high entropy domains
- Deploy at router level: Catches all devices including IoT and unmanaged endpoints
- Combine with endpoint DNS: Defense in depth with both router and per-device filtering
References
- NextDNS Documentation
- NextDNS Configuration Guide (GitHub)
- Microsoft Zero Trust DNS
- NIST SP 800-81-2: Secure DNS Deployment Guide
- RFC 8484: DNS Queries over HTTPS (DoH)
- RFC 7858: DNS over TLS (DoT)
Other files in this skill
- LICENSE
- assets/template.md
- references/api-reference.md
- references/standards.md
- references/workflows.md
- scripts/agent.py
- scripts/process.py
assets/template.md (verbatim)
NextDNS Zero Trust DNS Deployment Template
Configuration
- NextDNS Config ID: _______________
- Plan: [ ] Free [ ] Pro [ ] Business [ ] Enterprise
- Log Retention: _____ days
- Log Storage Region: [ ] US [ ] EU [ ] UK [ ] Switzerland
Security Settings Checklist
- Threat Intelligence Feeds enabled
- AI-Driven Threat Detection enabled
- Google Safe Browsing enabled
- Cryptojacking Protection enabled
- DNS Rebinding Protection enabled
- IDN Homograph Attack Protection enabled
- Typosquatting Protection enabled
- DGA Protection enabled
- NRD Protection (< 30 days) enabled
- DDNS Blocking enabled
- Parked Domains blocking enabled
Privacy Settings Checklist
- Blocklists configured (list: ___)
- Native Tracking Protection enabled
- CNAME Cloaking Protection enabled
Deployment Targets
| Target | Method | Status | Config Verified |
|---|---|---|---|
| Router | DoT/DoH | [ ] Complete | [ ] Verified |
| Windows endpoints | NextDNS CLI | [ ] Complete | [ ] Verified |
| macOS endpoints | NextDNS CLI | [ ] Complete | [ ] Verified |
| Linux servers | systemd-resolved | [ ] Complete | [ ] Verified |
| iOS devices | MDM profile | [ ] Complete | [ ] Verified |
| Android devices | Private DNS | [ ] Complete | [ ] Verified |
Network Controls
- Plaintext DNS (port 53) blocked at firewall
- Unauthorized DoH endpoints blocked
- Split DNS configured for internal domains
- Browser DoH disabled in favor of system DNS
references/api-reference.md (verbatim)
1 placeholder credential shortened to pass the site's secret filter.
API Reference: Zero Trust DNS with NextDNS
NextDNS REST API
Authentication
Header: X-Api-Key: YOUR_KEY
Base URL: https://api.nextdns.io
Profile Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /profiles/{id} |
Get profile configuration |
| GET | /profiles/{id}/security |
Get security feature settings |
| GET | /profiles/{id}/denylist |
Get blocked domains list |
| GET | /profiles/{id}/allowlist |
Get allowed domains list |
| GET | /profiles/{id}/logs |
Get DNS query logs |
| GET | /profiles/{id}/analytics/status |
Query volume analytics |
| GET | /profiles/{id}/analytics/domains |
Top queried domains |
| GET | /profiles/{id}/analytics/blockedReasons |
Block reason breakdown |
Security Feature Keys
| Key | Feature |
|---|---|
threatIntelligenceFeeds |
Real-time threat intel blocking |
aiDetection |
AI-based threat detection |
googleSafeBrowsing |
Google Safe Browsing integration |
cryptojacking |
Cryptomining domain blocking |
dnsRebinding |
DNS rebinding attack protection |
idnHomographs |
IDN homograph attack protection |
typosquatting |
Typosquatting domain detection |
dga |
Domain generation algorithm blocking |
nrd |
Newly registered domain blocking |
Log Entry Fields
| Field | Description |
|---|---|
domain |
Queried domain name |
status |
allowed, blocked, or default |
reasons |
Array of block reasons |
clientIp |
Requesting client IP |
timestamp |
Query timestamp (ISO 8601) |
References
- NextDNS API: https://nextdns.github.io/api/
- NextDNS Security: https://nextdns.io/security
references/standards.md (verbatim)
Standards Reference: Zero Trust DNS with NextDNS
DNS Security Standards
RFC 8484: DNS Queries over HTTPS (DoH)
- Encrypts DNS queries over HTTPS on port 443
- Prevents DNS eavesdropping and manipulation
- Browser and OS-level support
RFC 7858: DNS over Transport Layer Security (DoT)
- Encrypts DNS queries over TLS on port 853
- Dedicated port enables network-level policy control
- Supported by Android 9+, systemd-resolved, Unbound
RFC 9250: DNS over Dedicated QUIC Connections (DoQ)
- Lower latency than DoH/DoT
- Multiplexed queries without head-of-line blocking
- Supported by NextDNS and Adguard
NIST SP 800-81-2: Secure Domain Name System Deployment Guide
- DNS infrastructure security requirements
- DNSSEC validation recommendations
- DNS monitoring and logging guidance
Zero Trust DNS Standards
Microsoft ZTDNS (Windows 11)
- Enforces that endpoints only use approved DNS resolvers
- Windows Firewall blocks traffic to domains not resolved through protected DNS
- Integration with Windows Defender for endpoint protection
CISA ZTMM - Network Pillar
- DNS encryption requirement for zero trust compliance
- DNS monitoring for visibility and analytics
- DNS filtering as network security control
Compliance Mapping
NIST SP 800-53
- SC-20: Secure Name/Address Resolution Service (Authoritative Source)
- SC-21: Secure Name/Address Resolution Service (Recursive or Caching Resolver)
- SC-22: Architecture and Provisioning for Name/Address Resolution Service
- SI-4: Information System Monitoring (DNS logging)
CIS Controls v8
- Control 9.2: Use DNS Filtering Services
- Control 9.3: Maintain and Enforce Network-Based URL Filters
- Control 13.3: Deploy Network Intrusion Detection (DNS monitoring)
references/workflows.md (verbatim)
Workflows: Zero Trust DNS with NextDNS
Workflow 1: Initial NextDNS Deployment
Step 1: Create NextDNS Configuration Profile
- Sign up at nextdns.io
- Create configuration profile with unique ID
- Configure security settings (all threat protection enabled)
- Configure privacy settings (blocklists, native tracking)
- Set log retention policy
Step 2: Deploy to Network Infrastructure
- Configure router-level DNS (DoH/DoT)
- Block plaintext DNS (port 53) at firewall for bypass prevention
- Configure split DNS for internal domains
- Test resolution of allowed and blocked domains
Step 3: Deploy to Endpoints
- Install NextDNS CLI on managed endpoints
- Configure mobile devices via app or Private DNS
- Deploy MDM profile for iOS devices
- Verify per-device identification in NextDNS dashboard
Step 4: Monitor and Tune
- Review blocked domains for false positives
- Add necessary allowlist entries
- Monitor query patterns for anomalies
- Adjust blocklists based on organizational needs
Workflow 2: DNS Security Policy Enforcement
Step 1: Define DNS Security Policy
- Mandatory security protections (threat intel, DGA, NRD)
- Privacy protections (tracker blocking, telemetry)
- Compliance-specific blocking categories
- Exception handling process
Step 2: Block Plaintext DNS Bypass
- Firewall rule: Block outbound port 53 UDP/TCP
- Exception: Only NextDNS CLI or approved resolvers
- Block known DoH endpoints not managed by organization
- Disable browser-level DoH in favor of system DNS
Step 3: Implement Monitoring
- Set up API integration for log export
- Forward DNS logs to SIEM
- Create alerts for suspicious DNS patterns
- Monitor for DNS tunneling indicators
Workflow 3: Incident Response with DNS Logs
Step 1: Detect Suspicious Activity
- Alert on high-frequency queries to single domain
- Alert on queries to known C2 domains (auto-blocked)
- Alert on DGA-like domain patterns
- Alert on DNS tunneling indicators (high entropy, long subdomains)
Step 2: Investigate
- Query NextDNS API for device-level DNS logs
- Correlate blocked domains with threat intelligence
- Identify affected devices and users
- Determine scope of potential compromise
Step 3: Respond
- Add malicious domains to denylist for immediate blocking
- Isolate affected endpoints
- Update firewall rules as needed
- Document findings for incident report
Back to mukul975/Anthropic-Cybersecurity-Skills (817 security skills) or Agent skills.