Jak działa DNSSEC i czy warto je włączyć?
Jak działa DNSSEC? Operator DNS podpisuje kryptograficznie rekordy domeny, a resolver użytkownika sprawdza podpis przed zwróceniem adresu strony. Dzięki temu wykrywa dane zmienione po podpisaniu i może odrzucić fałszywą odpowiedź. Warto włączyć DNSSEC, gdy Twój operator DNS oraz rejestrator domeny je obsługują. Zrób to jednak w odpowiedniej kolejności i sprawdź rekord DS, bo przerwany łańcuch zaufania może unieruchomić domenę dla części użytkowników.
DNSSEC nie szyfruje pytań o domeny i nie zastępuje HTTPS. Jego zadaniem jest potwierdzenie pochodzenia oraz integralności danych DNS. To ważne rozróżnienie pozwala dobrać zabezpieczenie do konkretnego zagrożenia.
Jak działa DNSSEC krok po kroku
Zwykły DNS tłumaczy nazwę, na przykład sklep.pl, na adres IP. Szczegółową drogę od przeglądarki do serwera opisuje przewodnik o tym, jak działa DNS. Klasyczny protokół powstał bez mechanizmu, który pozwalałby odbiorcy kryptograficznie sprawdzić autora odpowiedzi. Napastnik próbujący zatruć pamięć podręczną resolvera może więc podsunąć fałszywy adres i skierować użytkownika do podstawionej usługi.
DNSSEC, czyli Domain Name System Security Extensions, dodaje podpisy cyfrowe do zestawów rekordów. RFC 4033 opisuje cztery podstawowe typy rekordów:
DNSKEYpublikuje klucz publiczny strefy;RRSIGzawiera podpis danego zestawu rekordów;DSw strefie nadrzędnej wskazuje klucz podpisanej domeny;NSECpozwala uwierzytelnić informację, że poszukiwanego rekordu nie ma.
Gdy resolver pyta o rekord A, otrzymuje również podpis RRSIG. Pobiera DNSKEY i sprawdza podpis. Sam klucz domeny wymaga jeszcze potwierdzenia, dlatego resolver porównuje go z rekordem DS opublikowanym poziom wyżej, na przykład w strefie .pl. Weryfikacja przechodzi dalej aż do zaufanego klucza strefy głównej DNS.
Powstaje łańcuch zaufania: strefa główna potwierdza domenę najwyższego poziomu, a ta potwierdza domenę użytkownika. ICANN podaje, że strefa główna DNS jest podpisana od 2010 roku. Ciągłość tego łańcucha decyduje, czy odpowiedź uzyska status bezpiecznej.
Przed czym DNSSEC chroni, a czego nie zapewnia
Prawidłowo walidujący resolver wykryje rekord zmieniony po jego podpisaniu albo podpis niepasujący do danych. Odrzuci również odpowiedź, której nie potrafi połączyć z właściwym punktem zaufania. Ogranicza to skuteczność fałszowania odpowiedzi i zatruwania pamięci podręcznej DNS. IETF w RFC 9364 określa uwierzytelnianie danych DNS przy użyciu DNSSEC jako bieżącą dobrą praktykę.
Zakres ochrony kończy się na danych DNS. DNSSEC nie ukrywa nazwy domeny przed operatorem sieci ani resolverem. Poufność zapytań zapewnia szyfrowany transport DoH lub DoT, którego działanie i konfigurację znajdziesz w poradniku o szyfrowanym DNS. Oba mechanizmy mogą działać równocześnie: transport chroni połączenie do resolvera, a podpis pozwala resolverowi zweryfikować dane otrzymane z autorytatywnych serwerów.
DNSSEC nie potwierdza też uczciwości właściciela witryny, nie skanuje strony pod kątem złośliwego kodu i nie szyfruje ruchu HTTP. Nadal potrzebujesz HTTPS, aktualnego serwera, bezpiecznego panelu rejestratora oraz uwierzytelniania wieloskładnikowego. Sam podpis DNS nie powstrzyma również napastnika, który przejmie konto operatora i legalnie zmieni klucze lub rekordy.
Jak włączyć DNSSEC bez przerwy w działaniu domeny
Najpierw ustal, kto utrzymuje autorytatywne serwery DNS. Może to być rejestrator, firma hostingowa albo osobny operator. W jego panelu znajdź funkcję DNSSEC i sprawdź, czy operator automatycznie przekazuje dane do rejestru. W prostym wariancie procedura wygląda tak:
- Włącz podpisywanie strefy u operatora DNS.
- Odczytaj wygenerowane dane rekordu
DS: tag klucza, algorytm, typ skrótu i skrót. - Przekaż te wartości rejestratorowi domeny, jeśli nie robi tego automatycznie operator.
- Poczekaj na publikację
DSw strefie nadrzędnej. - Sprawdź cały łańcuch z co najmniej dwóch niezależnych sieci lub resolverów.
Nie kopiuj samego rekordu DNSKEY do pola przeznaczonego na DS, chyba że panel wyraźnie przyjmuje format klucza i sam oblicza skrót. Nazwy pól różnią się między dostawcami. Każdą wartość porównaj znak po znaku przed zapisaniem.
Podczas zmiany operatora DNS zachowaj szczególną ostrożność. Stary DS wskazujący nieaktualny klucz sprawi, że walidujące resolvery uznają nowe odpowiedzi za błędne. Dokumentacja dostawcy powinna opisywać migrację z DNSSEC, okresy TTL i ewentualną obsługę wielu podpisujących. Jeśli przy okazji przenosisz witrynę za sieć pośredniczącą, osobno zaplanuj zmianę DNS oraz mechanizm opisany w artykule o tym, jak działa CDN.
Jak sprawdzić, czy DNSSEC działa
Po publikacji uruchom w terminalu:
dig DS twoja-domena.pl
dig +dnssec A twoja-domena.pl
Pierwsze polecenie powinno zwrócić rekord DS z poziomu domeny nadrzędnej. Drugie prosi o dane związane z DNSSEC; w odpowiedzi szukaj między innymi RRSIG. Sama obecność podpisu jeszcze nie dowodzi poprawnej walidacji. Narzędzie delv twoja-domena.pl z pakietu BIND potrafi przeprowadzić ją i wskazać problem z łańcuchem.
Sprawdź też domenę w internetowym analizatorze DNSSEC, najlepiej niezależnym od operatora DNS. Wynik powinien potwierdzać zgodność rekordów DS, DNSKEY i RRSIG oraz ważność podpisów. Wykonaj test ponownie po upływie TTL, aby ominąć stare dane w pamięci podręcznej. Jeśli domena działa na IPv4 i IPv6, przetestuj oba warianty sieci; podstawy podwójnego stosu wyjaśnia tekst IPv6: co to jest.
Objawem przerwanego łańcucha bywa SERVFAIL zwracany przez walidujący resolver. Domenę może wtedy otwierać osoba korzystająca z resolvera bez walidacji, podczas gdy inni widzą błąd. Nie wyłączaj pospiesznie podpisywania strefy, pozostawiając aktywny DS u rejestratora. Najpierw ustal, które klucze wskazuje rodzic i jakie klucze publikuje aktualny operator.
Czy warto włączyć DNSSEC na małej stronie
Włącz DNSSEC, jeśli oba elementy obsługi domeny oferują tę funkcję, potrafisz zachować dostęp do paneli i masz możliwość sprawdzenia konfiguracji po zmianie. Wielkość strony nie zmienia sposobu działania ataku na DNS. Mały blog, sklep i panel klienta korzystają z tego samego mechanizmu rozwiązywania nazw.
Przed aktywacją zapisz aktualne serwery nazw, wartości TTL i procedurę awaryjną operatora. Zabezpiecz konta rejestratora oraz DNS silnym, unikalnym hasłem i drugim składnikiem. Ustal też, kto odpowiada za odnowienie kluczy oraz migrację domeny, gdy zmienisz dostawcę.
Najbezpieczniejsza kolejność obejmuje podpisanie strefy, publikację właściwego DS, kontrolę łańcucha i ponowny test po wygaśnięciu pamięci podręcznej. DNSSEC daje resolverowi dowód kryptograficzny, lecz wymaga zgodności danych po obu stronach delegacji. Kilka minut przeznaczonych na weryfikację chroni przed sytuacją, w której poprawnie działający mechanizm bezpieczeństwa odrzuca błędnie skonfigurowaną domenę.
Najczęściej zadawane pytania
Jak działa DNSSEC w prostych słowach?
DNSSEC dodaje podpisy kryptograficzne do danych DNS. Resolver sprawdza podpis i łańcuch zaufania, dzięki czemu może wykryć odpowiedź podmienioną lub uszkodzoną po jej podpisaniu.
Czy DNSSEC szyfruje zapytania o domeny?
Nie, DNSSEC potwierdza pochodzenie i integralność danych, ale nie ukrywa treści zapytania. Do szyfrowania połączenia z resolverem służą DoH lub DoT.
Czy warto włączyć DNSSEC dla małej strony?
Tak, jeśli operator DNS i rejestrator obsługują DNSSEC, a Ty możesz przetestować rekord DS po aktywacji. Mechanizm ogranicza ryzyko zaakceptowania sfałszowanej odpowiedzi DNS, ale błędna konfiguracja może uniemożliwić otwarcie domeny.