Czym jest DNSSEC i dlaczego ma znaczenie

Co by było, gdyby ktoś mógł przechwycić odpowiedź, jakiej Twoja domena udziela, gdy odwiedzający próbuje wejść na stronę? DNSSEC istnieje, bo bez niego taki atak jest możliwy. Za każdym razem, gdy przeglądarka sprawdza Twoją domenę, ufa odpowiedzi z systemu…

Wersja robocza

System nazw domen zbudowano tak, żeby był szybki. Nie zbudowano go tak, żeby był bezpieczny. Gdy w latach osiemdziesiątych projektowano DNS, nikt nie zakładał świata, w którym atakujący będą próbować fałszować odpowiedzi DNS, żeby kierować odwiedzających na fałszywe strony. DNSSEC, czyli DNS Security Extensions, powstał, żeby wypełnić tę lukę. Dodaje podpisy cyfrowe do rekordów DNS, dzięki czemu każdą odpowiedź serwera DNS można zweryfikować jako autentyczną, zanim przeglądarka jej zaufa.

Czym jest DNSSEC?

DNSSEC to zestaw rozszerzeń bezpieczeństwa dodanych do protokołu DNS. Działa przez dołączenie podpisu kryptograficznego do każdego rekordu DNS domeny. Gdy resolver sprawdza domenę, przed przyjęciem odpowiedzi weryfikuje, czy podpis się zgadza. Jeśli podpisu brakuje albo się nie zgadza, odpowiedź jest odrzucana. To uniemożliwia atakującym wstrzykiwanie fałszywych odpowiedzi DNS do systemu.

DNSSEC nie zmienia sposobu działania DNS. Proces wyszukiwania jest ten sam. Domena nadal jest zamieniana na adres IP przez łańcuch serwerów DNS. Różnica polega na tym, że każdy krok tego łańcucha można teraz zweryfikować. Resolver nie ufa po prostu odpowiedzi. Sprawdza podpis kryptograficzny, żeby potwierdzić, że odpowiedź pochodzi z autoryzowanego źródła i nie została zmieniona po drodze.

Jaki problem rozwiązuje DNSSEC?

Bez DNSSEC odpowiedzi DNS są przyjmowane na słowo. Nie ma wbudowanego sposobu, żeby sprawdzić, czy odpowiedź pochodzi z właściwego serwera ani czy nie zmieniono jej w drodze. To otwiera drogę dla konkretnego typu ataku, zwanego zatruwaniem pamięci podręcznej DNS (DNS cache poisoning), znanym też jako spoofing DNS.

W ataku z zatruwaniem pamięci podręcznej atakujący wysyła sfałszowane odpowiedzi DNS do resolvera, zanim nadejdzie prawdziwa odpowiedź. Resolver zapisuje fałszywą odpowiedź w pamięci podręcznej i podaje ją każdemu, kto sprawdza tę domenę. Każdy odwiedzający, który wpisze Twoją domenę w przeglądarce, trafia na serwer kontrolowany przez atakującego zamiast na Twoją prawdziwą stronę.

Fałszywa strona może wyglądać identycznie jak Twoja. Odwiedzający mogą wpisać dane logowania, dane płatnicze lub dane osobowe, nie wiedząc, że są na zupełnie innym serwerze. Atak jest niewidoczny dla odwiedzającego, bo adres w przeglądarce nadal pokazuje Twoją domenę.

DNSSEC temu zapobiega, sprawiając, że sfałszowane odpowiedzi można wykryć. Jeśli podpis się nie zgadza, resolver odrzuca odpowiedź, a odwiedzający nie trafia do fałszywego miejsca.

Jak działa DNSSEC?

DNSSEC używa systemu kluczy publicznych i prywatnych do podpisywania rekordów DNS. Oto jak wygląda proces w dużym skrócie.

Gdy włączasz DNSSEC, Twój dostawca DNS generuje parę kluczy kryptograficznych dla domeny. Klucz prywatny służy do tworzenia podpisu cyfrowego każdego rekordu DNS. Klucz publiczny jest publikowany jako sam rekord DNS, żeby resolvery mogły do niego dotrzeć.

Gdy resolver sprawdza domenę, dostaje odpowiedź DNS razem z podpisem. Następnie używa klucza publicznego, żeby zweryfikować, że podpis zgadza się z danymi w odpowiedzi. Jeśli wszystko się zgadza, odpowiedzi się ufa. Jeśli podpis jest nieprawidłowy lub go brakuje, resolver uznaje odpowiedź za niewiarygodną i nie przekazuje jej przeglądarce.

Ta weryfikacja działa przez łańcuch zaufania. Klucz publiczny domeny jest przywoływany przez rekord DS (Delegation Signer) w strefie nadrzędnej. Na przykład jeśli domena to twojamarka.com, strefa .com zawiera rekord DS wskazujący klucz publiczny Twojej domeny. Sama strefa .com jest podpisana i weryfikowana przez strefę główną. Każdy poziom łańcucha weryfikuje poziom niższy, aż od strefy głównej do Twojej konkretnej domeny.

Co się dzieje bez DNSSEC?

Bez DNSSEC każda odpowiedź DNS generowana przez domenę jest niepodpisana. Resolvery przyjmują tę odpowiedź, która przyjdzie pierwsza, bez możliwości potwierdzenia, że pochodzi z legalnego źródła. Oznacza to, że dobrze ulokowany atakujący może wsunąć sfałszowane odpowiedzi do systemu i przekierować odwiedzających bez wywołania jakiegokolwiek alarmu.

Dla większości małych stron ryzyko celowanego ataku zatruwania DNS jest niskie. Atakujący zwykle celują w cenne cele, takie jak banki, dostawcy poczty i duże platformy e-commerce. Ale ryzyko nie jest zerowe. Publiczne sieci Wi-Fi, przejęte routery i luki w niektórych programach resolverów mogą stwarzać okazje do spoofingu DNS na mniejszą skalę.

Praktyczne znaczenie braku DNSSEC zależy od sytuacji. Jeśli obsługujesz wrażliwe dane, przyjmujesz płatności albo strona jest głównym punktem kontaktu z klientami, dodatkowa weryfikacja jest warta posiadania.

Czy DNSSEC jest potrzebny dla Twojej domeny?

Szczera odpowiedź brzmi: to zależy. DNSSEC daje realną ochronę, ale nie jest wymogiem dla każdej domeny.

Warto włączyć DNSSEC, jeśli strona obsługuje płatności, zbiera wrażliwe informacje albo działa na domenie o dużej widoczności. Strony rządowe, usługi finansowe i marki z branży zdrowia korzystają z aktywnego DNSSEC. Jeśli bezpieczeństwo domeny jest dla marki priorytetem, DNSSEC to jeszcze jedna warstwa warta dodania.

Możesz go nie potrzebować od razu, jeśli prowadzisz mniejszą stronę informacyjną bez logowania, a rejestrator jeszcze nie obsługuje DNSSEC albo pobiera za niego dopłatę. Wiele stron działa bez niego i nic im nie jest. SSL już szyfruje połączenie między odwiedzającym a serwerem, co chroni dane w tranzycie. DNSSEC rozwiązuje inny problem, a konkretnie integralność samego wyszukiwania DNS.

Jeśli rejestrator go obsługuje, a konfiguracja jest prosta, włączenie go ma bardzo mało wad. Ochrona, którą daje, jest realna, nawet jeśli ryzyko, którego dotyczy, nie występuje jednakowo w każdej domenie.

Jak włączyć DNSSEC?

Włączenie DNSSEC wymaga działań w dwóch miejscach. Pierwsze to dostawca DNS, u którego hostowane są rekordy DNS domeny. Drugie to rejestrator domeny, u którego domena jest zarejestrowana.

Ogólne kroki wyglądają tak.

  1. Zaloguj się u dostawcy DNS i włącz DNSSEC dla domeny. To generuje klucze kryptograficzne i zaczyna podpisywać rekordy DNS.
  2. Skopiuj rekord DS, który podaje dostawca DNS. Ten rekord zawiera odniesienie do klucza publicznego domeny.
  3. Zaloguj się u rejestratora domeny i dodaj rekord DS w ustawieniach domeny. To łączy klucze DNSSEC domeny ze strefą nadrzędną.
  4. Poczekaj na propagację. Jak każda zmiana rekordu DNS, nowy rekord DS może potrzebować kilku godzin, żeby rozejść się po internecie.
  5. Przetestuj konfigurację za pomocą narzędzia online do walidacji DNSSEC, żeby potwierdzić, że wszystko działa.

Jeśli rejestrator i dostawca DNS to ta sama firma, proces jest prostszy. Niektórzy dostawcy obsługują oba kroki z jednego panelu. Inni wymagają kopiowania rekordów między dwoma osobnymi kontami.

Najczęstszy błąd przy konfiguracji to nieprawidłowe wpisanie rekordu DS. Dwukrotnie sprawdź key tag, numer algorytmu, typ skrótu i wartość skrótu przed zapisaniem. Błędna cyfra w którymkolwiek z tych pól zerwie łańcuch zaufania i może sprawić, że domena stanie się nieosiągalna, dopóki błąd nie zostanie poprawiony.

Czego DNSSEC nie robi?

DNSSEC rozwiązuje jeden konkretny problem: weryfikuje, że odpowiedzi DNS są autentyczne. Ważne, żeby rozumieć, co leży poza jego zakresem.

DNSSEC nie szyfruje zapytań DNS. Treść każdego wyszukiwania DNS nadal jest widoczna dla każdego, kto monitoruje sieć. Jeśli zależy Ci na prywatności zapytań DNS, to osobny problem, który rozwiązują DNS over HTTPS (DoH) lub DNS over TLS (DoT), a nie DNSSEC.

DNSSEC nie szyfruje ruchu między odwiedzającym a Twoją stroną. To zadanie certyfikatu SSL, który tworzy szyfrowane połączenie przez HTTPS. DNSSEC i SSL chronią różne rzeczy na różnych etapach połączenia.

DNSSEC nie zapobiega wszystkim rodzajom ataków na domenę. Nie powstrzyma kogoś przed kradzieżą danych logowania do rejestratora i przeniesieniem domeny. Nie chroni przed e-mailami phishingowymi podszywającymi się pod markę. I nie blokuje ataków DDoS na serwery DNS. Na te zagrożenia potrzebne są osobne zabezpieczenia, takie jak uwierzytelnianie dwuskładnikowe, blokada domeny i ochrona przed DDoS.

Czym DNSSEC różni się od SSL?

DNSSEC i SSL to warstwy bezpieczeństwa, ale chronią różne części połączenia między odwiedzającym a Twoją stroną.

SSL (i jego następca TLS) szyfruje dane przepływające między przeglądarką odwiedzającego a serwerem WWW. Po nawiązaniu połączenia wszystko, co odwiedzający wysyła i odbiera, jest chronione przed podsłuchem. SSL weryfikuje też, że serwer, z którym rozmawia odwiedzający, ma ważny certyfikat dla Twojej domeny.

DNSSEC chroni krok, który dzieje się przed uruchomieniem SSL. Gdy odwiedzający wpisuje domenę, przeglądarka najpierw szuka adresu IP przez DNS. DNSSEC dba o to, żeby to wyszukiwanie zwróciło poprawny adres IP. Bez niego atakujący mógłby przekierować odwiedzającego na zupełnie inny serwer, taki, który mógłby mieć nawet własny certyfikat SSL dla domeny łudząco podobnej.

Obie warstwy mają swoje zadanie. SSL chroni rozmowę. DNSSEC chroni kierunek, w którym odwiedzający idzie, żeby ją rozpocząć. Użycie obu daje odwiedzającym najsilniejszą pewność, że są na Twojej prawdziwej stronie i że ich dane są bezpieczne.

Jak WEMASY obsługuje DNSSEC

WEMASY zarządza DNS każdej domeny podłączonej do platformy. Gdy budujesz stronę w WEMASY, DNS domeny jest obsługiwany przez infrastrukturę WEMASY, która obejmuje certyfikaty SSL, zarządzanie serwerami nazw i konfigurację rekordów DNS. Jeśli domena i rejestrator obsługują DNSSEC, możesz go włączyć, dodając rekord DS u rejestratora i kierując go na DNS WEMASY. Szczegóły tego, co obejmuje każdy plan, znajdziesz w cenniku.

Podsumowanie Modułu 6

Ten rozdział zamyka moduł o bezpieczeństwie domen. W poprzednich rozdziałach pojawił się pełny obraz. Wiesz już, co oznacza bezpieczeństwo domeny, jak blokada domeny, ochrona prywatności i pilnowanie odnowień utrzymują domenę pod Twoją kontrolą oraz jakie konkretne zagrożenia, takie jak przejęcie, squatting i oszustwa z odnowieniem, celują we właścicieli domen. DNSSEC dodaje ostatnią warstwę, chroniąc samo wyszukiwanie DNS, czyli jedyny krok, który łączy nazwę domeny z prawdziwą stroną. Gdy wszystkie te zabezpieczenia są na miejscu, domena jest objęta ochroną od rejestracji po rozwiązanie nazwy.

Najczęstsze pytania o DNSSEC

Czy DNSSEC może zepsuć moją stronę, jeśli zostanie źle ustawiony?

Tak. Jeśli rekord DS u rejestratora nie zgadza się z kluczami u dostawcy DNS, resolvery weryfikujące DNSSEC odrzucą odpowiedzi DNS domeny w całości. Może to sprawić, że strona będzie nieosiągalna dla odwiedzających, których resolvery wymuszają walidację DNSSEC. Zawsze testuj konfigurację narzędziem do walidacji DNSSEC po włączeniu i pilnuj zgodności kluczy, jeśli kiedyś zmienisz dostawcę DNS. W kreatorze stron WEMASY możesz to ustawić bezpośrednio na swojej stronie.

Czy DNSSEC spowalnia moją stronę?

Wpływ na szybkość jest minimalny. DNSSEC dodaje niewielką ilość danych do odpowiedzi DNS z powodu podpisów, a resolvery wykonują dodatkowy krok weryfikacji. W praktyce dodaje to tylko kilka milisekund do wyszukiwania DNS. Odwiedzający nie zauważą różnicy w czasie ładowania strony.

Czy wszyscy rejestratorzy obsługują DNSSEC?

Nie wszyscy. Większość dużych rejestratorów obsługuje DNSSEC, ale niektórzy mniejsi lub budżetowi jeszcze go nie oferują. Zanim spróbujesz włączyć DNSSEC, sprawdź dokumentację lub stronę pomocy rejestratora, żeby potwierdzić, że pozwala dodawać rekordy DS. Jeśli nie, być może trzeba będzie przenieść domenę do rejestratora, który to umożliwia.

Co dzieje się z DNSSEC, jeśli zmienię dostawcę DNS?

Jeśli zmieniasz dostawcę DNS, trzeba zaktualizować konfigurację DNSSEC. Nowy dostawca wygeneruje nowe klucze, a rekord DS u rejestratora trzeba zastąpić nowym. W okresie przejściowym jest okno, w którym stary rekord DS nie zgadza się już z nowymi kluczami. Zaplanuj zmianę starannie. Najpierw usuń stary rekord DS, poczekaj na propagację, przenieś DNS, włącz DNSSEC u nowego dostawcy, a potem dodaj nowy rekord DS.

Czy DNSSEC to to samo co DNS over HTTPS?

Nie. Rozwiązują różne problemy. DNSSEC weryfikuje, że odpowiedź DNS jest autentyczna i nie została zmieniona. DNS over HTTPS (DoH) szyfruje samo zapytanie DNS, żeby nikt monitorujący sieć nie widział, jakie domeny sprawdzasz. DNSSEC chroni integralność. DoH chroni prywatność. Można ich używać razem, ale jedno nie zastępuje drugiego.

Wykorzystaj to od razu
na własnej stronie.

Zacznij za darmo z WEMASY i zbuduj stronę w kilka minut.