Kako deluje overjanje DNSSEC?

Domene Branje: 2 min

Overjanje (validacija) DNSSEC je postopek, s katerim razreševalnik DNS preveri, ali prejeti odgovor DNS res izvira iz cone domene in ga med potjo nihče ni spremenil. Preverjanja ne izvaja brskalnik ali računalnik, temveč rekurzivni razreševalnik, ki ga računalnik uporablja (na primer razreševalnik ponudnika internetnih storitev ali javni razreševalnik).

Zapisi DNSSEC

Poleg običajnih zapisov DNS se v podpisani coni pojavi nekaj novih vrst zapisov:

  • DNSKEY: javni ključi cone. Običajno sta dva: ključ za podpisovanje ključev (KSK), ki podpisuje ključe, in ključ za podpisovanje cone (ZSK), ki podpisuje druge zapise.
  • RRSIG: podpis. Vsaka skupina zapisov (na primer vsi zapisi A domene) ima enega, skupaj z rokom veljavnosti.
  • DS (Delegation Signer): prstni odtis ključa za podpisovanje ključev domene, ki ni v lastni coni domene, temveč v nadrejeni coni, torej v coni vrhnje domene. Registru ga posreduje registrar.
  • NSEC ali NSEC3: z njima cona na podpisan način dokaže, da iskano ime ali zapis ne obstaja.

Veriga zaupanja

Razreševalnik vnaprej zaupa enemu samemu ključu: ključu korenske cone (trust anchor), ki je vgrajen v programsko opremo razreševalnika. Od tod se korak za korakom spušča navzdol:

  1. Podpisani zapis DS korenske cone potrdi ključ vrhnje domene (na primer .hu).
  2. Zapis DS v coni vrhnje domene, podpisan s ključem vrhnje domene, potrdi ključ za podpisovanje ključev domene (na primer pelda.hu).
  3. Ključ za podpisovanje ključev domene podpiše zapise DNSKEY, tako je verodostojen tudi ključ za podpisovanje cone.
  4. Podpis ključa za podpisovanje cone (RRSIG) potrdi zahtevani zapis, na primer zapis A ali MX domene.

Če kateri koli člen verige manjka ali se ne ujema, overjanje ne uspe.

Možni rezultati overjanja

  • Varno (secure): veriga od korena do zapisa je brezhibna. Razreševalnik v glavi odgovora nastavi zastavico ad (authenticated data).
  • Nezaščiteno (insecure): domena nima zapisa DS, torej ne uporablja DNSSEC. Razreševalnik odgovor posreduje brez overjanja, domena deluje enako kot brez DNSSEC.
  • Napačno (bogus): zapis DS obstaja, vendar je podpis neveljaven, potekel ali se ne ujema. Razreševalnik odgovora ne posreduje, temveč javi napako SERVFAIL, zato je domena prek tega razreševalnika nedosegljiva.

Podpise upravljavec cone pripravi vnaprej, ob spremembi zapisov, ne ob vsaki poizvedbi. Zato je treba cono redno znova podpisovati: če podpisi potečejo, cona postane napačna. Tipične napake zbira članek o težavah, ki jih povzroča DNSSEC.

Kako preveriš?

  • Brez ukazne vrstice lahko zgoraj opisano verigo zaupanja pregledaš z našim brezplačnim orodjem za preverjanje DNSSEC: za vsako cono od korena do domene pokaže zapise DNSKEY in DS ter podpise in označi, pri katerem členu se overjanje pretrga.
  • dig +dnssec pelda.hu A: v odgovoru se poleg zapisa A prikaže tudi zapis RRSIG, v glavi pa zastavica ad, če uporabljeni razreševalnik overja.
  • dig DS pelda.hu: pokaže, ali je v coni vrhnje domene zapis DS.
  • delv pelda.hu: orodje paketa BIND samo izvede overjanje in izpiše, ali je bil odgovor „fully validated”.
  • DNSViz (dnsviz.net) isto verigo nariše na diagramu.

Česa overjanje ne naredi?

DNSSEC potrjuje verodostojnost in celovitost odgovorov, ne šifrira pa poizvedb: kdor vidi omrežni promet, še vedno vidi, katere domene poizveduješ. Za šifriranje prometa med razreševalnikom in napravo sta namenjena DNS over TLS (DoT) in DNS over HTTPS (DoH), ki DNSSEC dopolnjujeta, ne nadomeščata.

Nazaj: Domene – članki (31)