A DNSSEC hitelesítés (validáció) az a folyamat, amellyel egy DNS-feloldó ellenőrzi, hogy a kapott DNS-válasz valóban a domain zónájából származik, és útközben senki nem módosította. Az ellenőrzést nem a böngésző vagy a számítógép végzi, hanem az a rekurzív feloldó, amelyet a gép használ (például az internetszolgáltatóé vagy egy nyilvános feloldó).
A DNSSEC rekordjai
A szokásos DNS rekordok mellett az aláírt zónában néhány új rekordtípus jelenik meg:
- DNSKEY: a zóna nyilvános kulcsai. Általában kettő van: a kulcsaláíró kulcs (KSK), amely a kulcsokat írja alá, és a zónaaláíró kulcs (ZSK), amely a többi rekordot.
- RRSIG: az aláírás. Minden rekordcsoporthoz (például a domain összes A rekordjához) tartozik egy, érvényességi idővel együtt.
- DS (Delegation Signer): a domain kulcsaláíró kulcsának lenyomata, amely nem a domain saját zónájában, hanem a szülőzónában, vagyis a TLD zónájában szerepel. Ezt a regisztrátor juttatja el a nyilvántartóhoz.
- NSEC vagy NSEC3: ezekkel igazolja a zóna aláírt módon, hogy egy keresett név vagy rekord nem létezik.
A bizalmi lánc
A feloldó egyetlen kulcsban bízik meg előre: a gyökérzóna kulcsában (trust anchor), amely be van építve a feloldó szoftverébe. Innen lépésről lépésre halad lefelé:
- A gyökérzóna aláírt DS rekordja igazolja a TLD (például a
.hu) kulcsát. - A TLD zónájában lévő, a TLD kulcsával aláírt DS rekord igazolja a domain (például
pelda.hu) kulcsaláíró kulcsát. - A domain kulcsaláíró kulcsa aláírja a DNSKEY rekordokat, így a zónaaláíró kulcs is hiteles.
- A zónaaláíró kulcs aláírása (RRSIG) igazolja a kért rekordot, például a domain A vagy MX rekordját.
Ha a lánc bármelyik láncszeme hiányzik vagy nem egyezik, a hitelesítés sikertelen.
A hitelesítés lehetséges eredményei
- Biztonságos (secure): a lánc a gyökértől a rekordig hibátlan. A feloldó a válasz fejlécében beállítja az
ad(authenticated data) jelzőt. - Nem védett (insecure): a domainhez nincs DS rekord, vagyis a domain nem használ DNSSEC-et. A feloldó a választ hitelesítés nélkül adja tovább, a domain ugyanúgy működik, mint DNSSEC nélkül.
- Hibás (bogus): van DS rekord, de az aláírás érvénytelen, lejárt vagy nem egyezik. A feloldó nem adja tovább a választ, hanem SERVFAIL hibát jelez, a domain tehát az adott feloldón keresztül elérhetetlen.
Az aláírásokat a zóna kezelője előre, a rekordok módosításakor készíti el, nem minden lekérdezéskor. Ezért kell a zónát rendszeresen újra aláírni: ha az aláírások lejárnak, a zóna hibássá válik. A tipikus hibákat a DNSSEC okozta problémákról szóló cikk gyűjti össze.
Hogyan ellenőrizheti?
- Parancssor nélkül az ingyenes DNSSEC ellenőrző eszközünkkel nézheti végig a fent leírt bizalmi láncot: zónánként, a gyökértől a domainig mutatja a DNSKEY és DS rekordokat és az aláírásokat, és megjelöli, melyik láncszemnél szakad meg a hitelesítés.
dig +dnssec pelda.hu A: a válaszban az A rekord mellett az RRSIG rekord is megjelenik, a fejlécben pedig azadjelző, ha a használt feloldó hitelesít.dig DS pelda.hu: megmutatja, van-e DS rekord a TLD zónájában.delv pelda.hu: a BIND csomag eszköze maga is elvégzi a hitelesítést, és kiírja, hogy a válasz „fully validated” volt-e.- A DNSViz (
dnsviz.net) ábrán rajzolja ki ugyanezt a láncot.
Mit nem tesz a hitelesítés?
A DNSSEC a válaszok hitelességét és sértetlenségét igazolja, de nem titkosítja a lekérdezéseket: aki a hálózati forgalmat látja, továbbra is látja, milyen domaineket kérdez le. A feloldó és az eszköz közötti forgalom titkosítására a DNS over TLS (DoT) és a DNS over HTTPS (DoH) szolgál, ezek a DNSSEC-et kiegészítik, nem helyettesítik.