Defaults.Exposed

Defaults.ExposedFixes › DANE (DNS-based Authentication of Named Entities)

How to fix DANE (DNS-based Authentication of Named Entities)

DANE is a way for your domain to publish the fingerprint of your own encryption certificate in DNS, so the other side can check the cert is really yours before trusting it. In practice this is mostly used between mail servers: it stops an attacker (or a rogue certificate authority) from silently intercepting inbound email with a fake-but-valid-looking certificate. DANE only works if DNSSEC is already switched on — without DNSSEC it protects nothing at all.

Bottom line for your business: Without DANE, inbound email to your domain can — in principle — be intercepted by a well-resourced attacker who obtains a mis-issued certificate for your mail server (state actors and a small number of past CA breaches have both done exactly this) and quietly reads or alters messages in transit. Almost no small business has been individually targeted this way, but the reason DANE keeps coming up in tenders and security questionnaires is that larger buyers, regulated sectors and several national governments now expect it as a baseline — its absence is a visible tick in the wrong column on their vendor scorecard. The other real cost is the reverse: DANE done badly (letting the fingerprint drift out of sync with the actual certificate at renewal time) breaks inbound mail from every server that checks it, and you find out from bounced customer emails.

What this can cost you

Why it matters. The public certificate authority system that underpins HTTPS and encrypted email works well most of the time, but it has one structural weakness: any CA anywhere in the world can, in principle, issue a valid certificate for your domain. That has happened — through hacked CAs, mis-issuance and state-level pressure. DANE lets you sidestep that weakness for the traffic you care about most: you publish, in DNS, the fingerprint of the exact certificate the other side should see. If the certificate presented doesn't match, the connection is refused. Because the DNS answer itself is signed with DNSSEC, an attacker can't just forge a different fingerprint. It's the strongest cryptographic guarantee available today that inbound mail is going to your servers and not a well-resourced impostor's — which is why it's increasingly named as an expected control by governments, large enterprises and regulated-sector buyers.

How to fix it, step by step

  1. Confirm DNSSEC is live first. DANE is meaningless without DNSSEC. Verify DNSSEC is enabled and validating on your domain before you publish any TLSA record. If DNSSEC is not yet enabled, fix that first — DANE without DNSSEC gives you zero protection and adds operational risk.
  2. Check your mail server and DNS host support DANE. Most modern mail platforms (Postfix, Exim, Halon, and hosted providers such as Migadu, Mailfence and Posteo) support DANE natively. Confirm your DNS host can publish TLSA records (Cloudflare, Route 53, deSEC and most registrar zones can).
  3. Generate the TLSA record from your live mail certificate. Produce a TLSA record with usage 3, selector 1, matching type 1 (DANE-EE / SPKI / SHA-256) from the certificate your mail server actually presents on port 25. The standard tool is `posttls-finger -t30 -T180 -Lsummary,ssl mail.yourdomain.com` or the online generator at ssl-tools.net.
  4. Publish the TLSA record at the right name. For SMTP, publish the record at `_25._tcp.<mx-hostname>` — for example `_25._tcp.mail.example.com. IN TLSA 3 1 1 <sha256-of-public-key>`. Publish one TLSA record per MX host you list.
  5. Adopt the '2 TLSA' rollover pattern for cert renewals. Before your certificate renews, publish a second TLSA record for the incoming key alongside the current one. Renew the cert. Only after the new cert is live and stable, remove the old TLSA record. Automate this in your renewal script — the single biggest cause of DANE outages is manual rollovers that skip a step.
  6. Validate end-to-end. Verify with Internet.nl and the Sys4 DANE checker. Both should show a green DANE result, a valid DNSSEC chain, and a certificate fingerprint that matches the published TLSA record. Don't consider it done until every MX host on your domain validates cleanly.

DANE, in plain words

When one mail server sends email to another, the sending side asks DNS “which server handles mail for this domain?” and then opens an encrypted connection. That connection is protected by a TLS certificate, exactly like an HTTPS website — and, exactly like an HTTPS website, the receiving server’s certificate is trusted because some certificate authority (CA) somewhere in the world signed it.

Here’s the uncomfortable part of that arrangement: there are hundreds of trusted CAs, and any of them can — in principle — issue a valid certificate for any domain. It has happened. CAs have been hacked. CAs have been coerced. CAs have simply made mistakes. When it happens, the fake certificate looks completely legitimate to the mail server checking it, and encrypted mail can be quietly intercepted by whoever holds the fake.

DANE closes that loophole. Instead of trusting “any certificate signed by any of hundreds of CAs,” DANE lets you publish, in DNS, the fingerprint of the exact certificate that your mail server is supposed to present. Any mail server that supports DANE will refuse to deliver mail if the certificate it sees doesn’t match the fingerprint you published. A rogue-CA certificate — even one that’s cryptographically perfect — fails the check and gets thrown away.

The mechanism is a special DNS record called TLSA. It carries the fingerprint of your certificate’s public key, published at a name that includes the port and protocol (for mail: _25._tcp.mail.yourdomain.com). The whole thing only works because the DNS answer itself is protected by DNSSEC — without DNSSEC an attacker could just forge a different TLSA record and the check would trust their forgery. This is why DNSSEC is a hard prerequisite for DANE. There is no partial answer here: no DNSSEC, no DANE.

Today DANE is used almost exclusively for server-to-server email over SMTP. It exists in the standards for websites too, but no major browser ever shipped support for it and none realistically will — so this page, and our check, is about DANE for mail.

What this can cost you

These are realistic, aggregate patterns — not any one named business.

What it actually is

DANE stands for DNS-based Authentication of Named Entities. In plain terms, it lets a domain publish — in its own DNS — the fingerprint of the TLS certificate that its servers are supposed to present.

The record that carries the fingerprint is called a TLSA record. Every TLSA record has four things in it:

Put together, a typical TLSA record for a mail server looks like this:

_25._tcp.mail.example.com.  IN TLSA  3 1 1  4a5c9d...e2b7

The name on the left has three parts that all matter: _25 is the TCP port (25 is SMTP), _tcp is the protocol, and mail.example.com is the MX host — the actual mail server you told the world about in your MX records. A TLSA record has to exist for every MX host you publish, and it has to sit at the correct port/protocol name in front of that host.

For the whole thing to actually protect you, three separate pieces have to line up at the same time:

If any of those three drift out of sync — DNSSEC lapses, a TLSA record points at the wrong host, a cert renews but the fingerprint isn’t updated — every DANE-checking sender on the internet will refuse to deliver mail to you. That’s a feature, not a bug: it’s what makes DANE a real cryptographic guarantee. It’s also what makes rolling certificates the single most important operational discipline for anyone running DANE.

The senders that will actually check the record and refuse mail on a mismatch are a small but heavy list: every major German ISP, DE-CIX-adjacent operators, the German federal government (which mandates DANE for .gov.de and related zones), Comcast in the US, Google for inbound Gmail, and Microsoft/Outlook (which rolled out inbound DANE validation in 2024). If you exchange B2B mail internationally, you almost certainly send to and receive from that list already.

What “good” looks like, in one line: DNSSEC live and valid, a TLSA 3 1 1 record published at _25._tcp.<mx-host> for every MX host on your domain, and every fingerprint matches the public key of the certificate the corresponding mail server presents right now.

How to fix it (assumes DNSSEC is already live)

Hand this section to whoever manages your mail server and your DNS zone. DANE is genuinely powerful and genuinely unforgiving of sloppiness. If nobody in the loop has done it before, the honest answer is to start with MTA-STS (easier, no DNSSEC dependency, catches most of the same attackers) and come back to DANE once the automation is in place. The single most important rule below is the rollover pattern in step 5 — skipping it is how DANE outages happen.

Step 0 — DNSSEC first. Do not publish a single TLSA record until DNSSEC on your domain is enabled and validating end-to-end. See the DNSSEC fix page for the checklist. If DNSSEC isn’t live, DANE gives you nothing except future breakage.

Step 1 — Confirm your mail platform supports DANE.

Step 2 — Generate the TLSA record from your live certificate.

Step 3 — Publish the TLSA record at the correct name.

Step 4 — Wait 24–48 hours and validate.

Step 5 — Set up the rollover pattern for cert renewals (the important one).

Step 6 — Turn on continuous monitoring.

Common mistakes

Where this sits in your grade

DANE sits in the TLS section of your grade as an advanced control — one that meaningfully raises your security floor and your credibility with regulated and enterprise buyers, but only when the prerequisite (DNSSEC) is in place and the certificate-rollover discipline is real. Our check is deliberately careful about this: a domain with no DNSSEC and no DANE is scored as “hasn’t started the stack yet,” a domain with DNSSEC but no DANE as “solid foundation, DANE would be the next step,” and a domain with TLSA records but missing or invalid DNSSEC gets flagged specifically — because that combination is the one that looks secure and isn’t. See also the DNSSEC fix page (hard prerequisite) and, if you’re on Microsoft 365 or Google Workspace and can’t publish DANE for your inbound MX, the MTA-STS fix page (the pragmatic alternative that catches most of the same attackers and requires no DNSSEC).

FAQ

I'm not technical — is this something I actually need?

For most small businesses, DANE is a 'nice to have that becomes a must-have when a specific customer asks.' If you sell into regulated sectors, the German market, public sector, healthcare, or larger enterprise buyers, expect it in the security questionnaire and turn it on. If you don't, you can safely leave it off — but only after DNSSEC is enabled first, because a broken half-configured DANE setup is worse than none. The technical work belongs with whoever runs your mail server and DNS.

How is this different from having HTTPS or a padlock on my mail server?

The padlock proves the mail server presented a certificate that some CA somewhere in the world signed. DANE proves the mail server presented *the specific certificate you told the world to expect*. It closes the loophole where an attacker convinces (or compromises) any of the hundreds of trusted CAs to issue them a fresh, technically-valid certificate for your domain. Without DANE, that fresh certificate would pass every normal check. With DANE, it fails because its fingerprint isn't the one you published.

Doesn't MTA-STS already do this for email?

MTA-STS and DANE solve overlapping problems and are often deployed together. MTA-STS is simpler — it publishes a policy over HTTPS saying 'always use TLS to my mail servers' — and doesn't require DNSSEC, which is why more organisations run it. DANE is stronger: it cryptographically pins the exact certificate, and because the pin lives in DNSSEC-signed DNS it can't be stripped by an attacker who controls the network. The serious answer to 'which one?' is: MTA-STS if you don't have DNSSEC and want the easier win, DANE if you have DNSSEC and want the stronger guarantee, and both if you can.

What about DANE for our website — will browsers check it?

In practice, no. The idea existed and was standardised, but the major browsers (Chrome, Firefox, Safari, Edge) never shipped support for it and there is no realistic prospect they will. If someone tells you to publish TLSA records for your website to protect visitors, they're wrong — nothing on the web actually reads them. DANE today is a mail-server (SMTP) technology. That's where it's checked and where it matters.

Will turning DANE on break my email?

Not on the day you turn it on — the danger comes at *certificate renewal time*. If your TLS certificate is replaced but the TLSA fingerprint in DNS still points at the old one, every mail server that checks DANE will refuse to deliver mail to you. The standard fix is the '2 TLSA record' rollover pattern: before renewing the cert, publish a second TLSA record for the new key alongside the old one; renew the cert; then remove the old TLSA record. Any competent mail platform (or a well-written renewal script) handles this automatically. Doing it manually with the wrong runbook is where most DANE outages come from.

Who actually checks DANE for email today?

The set is small but growing and includes some heavy hitters: every major German ISP and hoster, DE-CIX and other European exchanges, the German federal government (which mandates it for gov.de domains), Comcast in the US, Google for inbound Gmail, and Microsoft/Outlook (rolled out for inbound in 2024). If you exchange email with any of these — and most B2B businesses do without realising — a broken DANE setup on your side means real, silent mail delivery failures.

How long until it's working, and how do I confirm it?

Once DNSSEC is already live, publishing the TLSA record and having it recognised takes 24–48 hours to propagate. Confirm with a public DANE validator (Internet.nl and the Sys4 DANE checker are the standard tools) — both will show green when the TLSA record, the DNSSEC chain and the mail server's live certificate all agree. We can also monitor it continuously so a future certificate renewal that quietly desyncs the fingerprint gets caught the day it happens.