Direct naar de inhoud

TLSA-records uitgelegd

Dennis Postma23 september 2026
Leestijd4 minuten
DNS-basis

TLSA-records leggen het certificaat van een server vast in DNS voor DANE. Wat de drie getallen betekenen, waarom je DNSSEC nodig hebt en hoe je er een toevoegt.

DNSense handleiding-cover: een TLSA-record met usage, selector, matching type en een certificaat-hash

Een TLSA-record publiceert een vingerafdruk van het certificaat of de publieke sleutel van een server in DNS. Een client die DANE ondersteunt vergelijkt wat de server toont met wat DNS zegt en weigert de verbinding bij een verschil. Het wordt vooral gebruikt om e-mail tussen servers te beveiligen, waar geen browser en geen mens is die een waarschuwing wegklikt.

DNSSEC is niet optioneel

Een TLSA-record is alleen betrouwbaar als het antwoord onderweg niet vervalst kan worden. Dat is wat DNSSEC regelt. Zonder dat negeert een client die DANE ondersteunt je TLSA-records, of erger, jij denkt veiliger te zitten dan je zit. Onderteken eerst de zone.

De naam

TLSA-records staan op een naam die is opgebouwd uit de poort en het protocol van de dienst: _25._tcp.mail.example.com voor SMTP op poort 25 van mail.example.com. Eerst de poort, dan het protocol, dan de host.

De drie getallen en de data

_25._tcp.mail.example.com.  IN  TLSA  3 1 1 2bb1...9f0c
Het TLSA-record opgesplitst in usage 3, selector 1, matching type 1 en de hash
  • Usage. Wat wordt vastgelegd. 3 (DANE-EE) legt het eigen certificaat of de sleutel van de server vast. 2 (DANE-TA) legt een CA vast die je voor die dienst vertrouwt. 0 en 1 koppelen aan het publieke CA-systeem en zijn zeldzaam.
  • Selector. 0 hasht het hele certificaat, 1 alleen de publieke sleutel. 1 overleeft verlengingen zolang je de sleutel houdt.
  • Matching type. 0 is de exacte data, 1 is SHA-256, 2 is SHA-512.
  • Data. De hexadecimale digest.

De gebruikelijke keuze is 3 1 1, DANE-EE met de publieke sleutel en SHA-256. DNSense vult die waarden standaard in.

Lengtecontroles

De data moet hexadecimaal zijn en bij matching type 1 uit 64 tekens bestaan, bij type 2 uit 128. DNSense controleert beide, omdat clients een hash met de verkeerde lengte stilletjes negeren.

De hash genereren

Met OpenSSL, voor een certificaat in cert.pem:

openssl x509 -in cert.pem -noout -pubkey | openssl pkey -pubin -outform DER | openssl dgst -sha256

Publiceer een record voor de nieuwe sleutel voordat je ernaar overschakelt. Anders weigeren DANE-clients de server tijdens de overgang.

Toevoegen in DNSense

Klik op Create record, kies TLSA, vul de naam in en plak de hash bij Certificate data (hex). Usage, Selector en Matching type zijn keuzelijsten waarin de betekenis staat uitgeschreven. Ze beginnen op de gebruikelijke 3 - DANE-EE, 1 - Public key en 1 - SHA-256.

Het dialoogvenster New record met een TLSA-record voor _25._tcp.mail2

Op de zonepagina kun je filteren op TLSA om ze allemaal te zien.

De zone gefilterd op TLSA-records

Ondersteuning per provider

TLSA is niet overal beschikbaar. GoDaddy en Namecheap kunnen geen TLSA-records bewaren via hun API, dus DNSense biedt het type niet aan voor zones daar. Elke andere ondersteunde provider accepteert het.