Hogyan működik a DNSSEC hitelesítés?

Domain 2 perc olvasás

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é:

  1. A gyökérzóna aláírt DS rekordja igazolja a TLD (például a .hu) kulcsát.
  2. 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.
  3. A domain kulcsaláíró kulcsa aláírja a DNSKEY rekordokat, így a zónaaláíró kulcs is hiteles.
  4. 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 az ad jelző, 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.

Vissza: Domain leírások (31)