Słownik

Co to jest DNSSEC?

DNSSEC kryptograficznie podpisuje strefy DNS, dzięki czemu resolver weryfikuje autentyczność i integralność odpowiedzi. Omawiamy RRSIG, DS i łańcuch zaufania.

Ostatnia aktualizacja:

DNSSEC (Domain Name System Security Extensions) to zestaw rozszerzeń protokołu DNS, które dodają do odpowiedzi podpisy kryptograficzne. Dzięki nim resolver może zweryfikować, że dane pochodzą z autorytatywnej strefy i nie zostały po drodze zmienione. DNSSEC nie szyfruje zapytań ani odpowiedzi. Zapewnia uwierzytelnienie pochodzenia danych oraz ich integralność, chroniąc przed zatruwaniem pamięci podręcznej (cache poisoning) i podstawianiem fałszywych odpowiedzi. Standard opisują przede wszystkim dokumenty RFC 4033, RFC 4034 i RFC 4035.

Podpisywanie strefy i nowe rekordy

Wdrożenie DNSSEC zaczyna się od podpisania strefy. Operator generuje pary kluczy i podpisuje każdy zestaw rekordów (RRset), tworząc rekordy podpisu RRSIG. Klucze publiczne publikuje w rekordach DNSKEY. W praktyce stosuje się dwa rodzaje kluczy: KSK (Key Signing Key), który podpisuje rekordy DNSKEY, oraz ZSK (Zone Signing Key), który podpisuje pozostałe dane strefy. Dzięki temu rotacja klucza strefowego nie wymaga zmian w strefie nadrzędnej.

  • DNSKEY: przechowuje klucz publiczny strefy (KSK lub ZSK) używany do weryfikacji podpisów.
  • RRSIG: podpis cyfrowy konkretnego RRset wraz z czasem ważności (inception i expiration).
  • DS (Delegation Signer): skrót klucza KSK umieszczany w strefie nadrzędnej, spinający łańcuch zaufania (RFC 4509 zaleca SHA-256).
  • NSEC/NSEC3: uwierzytelnione potwierdzenie nieistnienia rekordu, chroniące przed fałszywą odpowiedzią NXDOMAIN. NSEC3 utrudnia enumerację strefy (RFC 5155).

Łańcuch zaufania i rekord DS

DNSSEC opiera się na łańcuchu zaufania biegnącym od korzenia DNS w dół hierarchii. Strefa nadrzędna nie publikuje klucza strefy potomnej, lecz jego skrót w rekordzie DS. Walidujący resolver pobiera rekord DS ze strefy nadrzędnej, sprawdza, czy odpowiada on rekordowi DNSKEY (KSK) w strefie potomnej, a następnie tym kluczem weryfikuje podpisy RRSIG złożone na danych. Proces powtarza się na każdym poziomie delegacji, a punktem zaufania (trust anchor) jest klucz strefy root. Jeśli weryfikacja na którymkolwiek etapie się nie powiedzie, resolver zwraca błąd SERVFAIL zamiast podejrzanych danych.

Po co wdrażać DNSSEC

Bez DNSSEC odpowiedź DNS można podrobić. Atakujący kontrolujący ścieżkę lub potrafiący zatruć pamięć podręczną resolvera może skierować użytkownika pod fałszywy adres IP. DNSSEC zamyka tę lukę dzięki kryptograficznej weryfikacji pochodzenia i integralności danych. Jest też fundamentem mechanizmów opartych na DNS, takich jak DANE (rekordy TLSA, RFC 6698), które bezpiecznie publikują informacje o certyfikatach. Operacyjne dobre praktyki, czyli rotację kluczy, ważność podpisów i przekazywanie rekordu DS do rejestru, opisuje RFC 6781.

DNSSEC a AS202520 SkyPass

DNSSEC działa w warstwie aplikacyjnej DNS, ale jego skuteczność zależy od stabilnej łączności o niskim opóźnieniu, po której podróżują podpisane odpowiedzi. AS202520 SkyPass to operator z punktami obecności w Warszawie i Wrocławiu oraz peeringiem na polskich punktach wymiany ruchu (w THINX, TPIX, we WRIX, w 1-IX). Zapewnia tranzyt IP i peering BGP, dzięki którym serwery DNS oraz walidujące resolvery pozostają w krótkiej, przewidywalnej odległości od polskich i europejskich użytkowników. Daje to szybkie i pewne odpowiedzi DNS.

Najczęstsze pytania

Czy DNSSEC szyfruje ruch DNS?

Nie. DNSSEC zapewnia uwierzytelnienie pochodzenia i integralność danych, ale nie poufność. Zapytania i odpowiedzi pozostają jawne. Szyfrowaniem transportu zajmują się osobne mechanizmy, takie jak DoT (DNS over TLS) i DoH (DNS over HTTPS).

Czym różnią się klucze KSK i ZSK?

KSK (Key Signing Key) podpisuje rekordy DNSKEY i to jego skrót trafia do rekordu DS w strefie nadrzędnej. ZSK (Zone Signing Key) podpisuje pozostałe dane strefy. Rozdzielenie ról pozwala rotować ZSK bez interakcji ze strefą nadrzędną.

Co oznacza SERVFAIL przy włączonym DNSSEC?

Walidujący resolver zwraca SERVFAIL, gdy nie uda się zweryfikować podpisów: na przykład gdy podpis RRSIG wygasł, brakuje rekordu DS lub DS nie pasuje do DNSKEY. Najczęstszą przyczyną jest niepoprawna rotacja kluczy lub przeterminowane podpisy.

Do czego służy rekord DS i gdzie się go publikuje?

Rekord DS to skrót klucza KSK strefy potomnej, umieszczany w strefie nadrzędnej (zwykle przez rejestratora lub rejestr). Spina on łańcuch zaufania. Bez prawidłowego DS strefa potomna nie jest weryfikowana, mimo że posiada własne podpisy.

Powiązane artykuły