Learn DNS security

DNS is the most useful log you're probably not reading.

These notes exist to teach DNS security properly, not to sell a project. Read them and you should understand protective DNS well enough to evaluate any implementation of it — including this one, critically.

01

How DNS actually resolves a name

Almost every connection a device makes starts with a question: what address belongs to this name? The device asks a resolver, and the resolver either answers from cache or works down the hierarchy — root, then the top-level domain's servers, then the domain's authoritative servers — until something authoritative answers.

Two roles matter here and get conflated constantly. A recursive resolver does the walking on your behalf. A forwarder does no walking at all; it hands the question to another resolver and relays the answer. Both look identical to a client, but they differ enormously in what they control, cache and can be held responsible for.

Answers carry a TTL — how long they may be cached. TTLs are why a change can take hours to be seen everywhere, and why the ability to purge a cache entry immediately is more valuable operationally than it sounds.

How DNS Daddy approaches this

DNS Daddy is a forwarder, not a recursive resolver. It answers your clients, applies policy, and forwards what it allows to an upstream resolver over DNS-over-TLS. When you allow-list a domain it purges that entry from the cache straight away rather than making you wait out the TTL.

02

What protective DNS is — and what it is not

Protective DNS means evaluating the name before answering it. If the domain is known to serve malware, host a phishing kit, act as command-and-control infrastructure, or mine cryptocurrency in a browser tab, the resolver refuses to hand back a usable answer. The connection never gets made, because the address never gets learned.

The appeal is leverage. One control point sees every device on the network, needs no agent on the endpoint, and works for the printer and the IoT sensor and the contractor's laptop equally. The cost is that it is name-based: it stops nothing that connects directly to a hard-coded IP address, and it knows only what its feeds know.

It is a layer, not a perimeter. Protective DNS meaningfully reduces exposure to commodity threats and gives you a record of what your network asked for. It does not detect a compromised host by itself, and any vendor claiming otherwise is selling something.

How DNS Daddy approaches this

DNS Daddy blocks on matches against public and community-maintained threat feeds — malware, phishing, C2 and cryptomining by default — and records a plain-English reason for every block. It does not attempt to be an endpoint agent or a full detection platform.

03

How attackers use DNS

Command and control is the common case. Malware needs to reach an operator, and DNS is the one protocol that works nearly everywhere, so beaconing to an attacker-controlled domain is a well-worn path. Domain generation algorithms make it resilient: the malware computes thousands of candidate names, the operator registers one, and blocking a single domain achieves nothing.

Phishing depends on names too — a lookalike domain registered hours ago, sent in an email, clicked before any reputation exists. Newly registered domains are disproportionately malicious for exactly this reason, which is why filtering them as a category is a real control rather than a gimmick.

Then there is the infrastructure itself: cache poisoning to make a resolver believe a forged answer, hijacking a registrar account to repoint a whole domain, and abuse of resolvers as amplifiers in reflection attacks against third parties.

How DNS Daddy approaches this

Feed-based blocking covers known malicious and newly registered domains. It does not cover DGA behaviour that has not yet appeared on a feed — DNS Daddy has no behavioural or entropy-based detection engine, and does not claim one.

04

DNS tunnelling and exfiltration

DNS was designed to carry small answers to small questions, but a query name is attacker-controlled data and a TXT record can carry a payload back. Encode data into subdomain labels, send it to a domain whose authoritative server you own, and you have a bidirectional channel out of a network that blocks almost everything else.

It is slow and noisy, which is precisely why it is used where nothing else works — captive portals, segmented networks, egress-filtered environments. The traffic looks like DNS because it is DNS.

Detecting it means looking at behaviour rather than reputation: unusually long or high-entropy labels, an abnormal volume of unique subdomains under one parent domain, sustained TXT queries, or NXDOMAIN patterns that do not match how humans browse.

That is detection engineering, and it is a genuinely harder problem than blocklist matching. Baselines differ per network, and false positives land on content delivery networks and telemetry endpoints that legitimately use long random subdomains.

How DNS Daddy approaches this

DNS Daddy does not currently detect tunnelling. Its query logs contain the raw material an analyst would use, but there is no built-in detection, scoring or alerting for it. If the project ever ships this, it will appear here as a capability with evidence — not as a promise.

05

DoH, DoT and the bypass problem

Classic DNS is plaintext UDP, readable and modifiable by anything on the path. DNS-over-TLS wraps it in TLS on a dedicated port, and DNS-over-HTTPS makes it indistinguishable from ordinary web traffic. Both are real privacy improvements against network observers.

They also cut both ways. Encryption between your resolver and its upstream protects your users. Encryption between a browser and a resolver you do not run removes your visibility and your control entirely — the browser simply stops asking you.

The distinction that matters is who terminates the encryption. Encrypted DNS to infrastructure you operate is a gain. Encrypted DNS around your infrastructure is a bypass, and it is the single largest practical weakness of any network-level DNS control.

Mitigations exist — blocking known DoH endpoints, disabling browser DoH by policy, blocking outbound port 853 and 53 to anything but your resolver — but every one of them is manual configuration you have to maintain.

How DNS Daddy approaches this

DNS Daddy serves DoH and DoT to your clients and uses DoT upstream by default, so the encrypted path can terminate on infrastructure you own. It cannot stop a browser configured to use its own resolver; the integrations documentation covers the firewall-side mitigations.

06

DNSSEC: what it does and does not solve

DNSSEC signs DNS records so a resolver can verify that an answer genuinely came from the zone's owner and was not altered in transit, with a chain of trust running from the root down to the domain.

It solves authenticity, not confidentiality and not safety. A DNSSEC-signed answer is verifiably authentic; it is not verifiably harmless. A phishing domain can be signed perfectly.

Validation is also a choice about where. A validating recursive resolver checks signatures itself. A forwarder that passes signatures through without validating provides no guarantee of its own, whatever the records contain — which is a distinction worth confirming about any resolver you deploy.

How DNS Daddy approaches this

DNS Daddy does not validate DNSSEC. Signatures pass through untouched, so validation must happen at the upstream resolver or on the client. This is documented as a limitation in the repository, and it is the honest answer rather than an ambiguous one.

07

Designing defensible DNS in a small network

Start by making resolution deliberate. Every client should use resolvers you chose, distributed by DHCP, with outbound DNS to anything else blocked at the firewall. Networks that skip this step find half their devices talking to hard-coded resolvers and never learn.

Then segment policy to match risk. A guest network, a production VLAN and a server subnet do not need identical rules, and the difference between them is often where the useful signal lives.

Log with intent. Query logs are personal data about what people looked at, so decide retention before you collect, and know what you would actually search for during an incident. Data you cannot search is cost without benefit.

Finally, plan for the resolver being down. A DNS control point is also a single point of failure, and a security layer that takes the network with it when it falls over will be removed by whoever is on call — correctly.

How DNS Daddy approaches this

DNS Daddy supports per-network policy by client CIDR or per-client DoH URL, and documents what it logs and retains. It has no clustering or anycast support, so availability has to be designed around it at the network level rather than assumed from it.

Reading is one thing. Watching it happen is better.

The separate interactive demo lets you explore these ideas against simulated DNS activity in your browser — no installation, no real traffic, nothing to sign up for.