RSS
RSS

Domena nie działa po przeniesieniu? Problemy z DNSSEC


Kategorie: Administracja, Nowe technologie, Tworzenie stron, Wszystkie

3

Jeśli w firmie, u której domena jest utrzymywana, wdrożone jest zabezpieczenie DNSSEC i wykona się transfer tej domeny do innej firmy hostingowej (np. gdy zmienia się hosting), to domena może przestać działać przy próbie otworzenia strony z niektórych komputerów.

Problem objawia się zwyczajnym błędem sugerującym, że taka domena nie jest zarejestrowana, np.:

  • Witryna jest nieosiągalna
  • ERR_NAME_NOT_RESOLVED
  • Nie udało się znaleźć adresu IP serwera ze stroną

Problem ten występuje w szczególności po przeniesieniu domeny z firmy Nazwa do innej, która nie obsługuje zabezpieczenia DNSSEC (np. Zenbox).

Jednocześnie problem czasami występuje, a czasami nie – nawet odświeżając stronę z tego samego komputera, czasami załaduje się poprawnie, a czasami – wcale.

Aby omówić rozwiązanie problemu, musimy go najpierw wyjaśnić.

Co to jest DNSSEC?

DNSSEC to zabezpieczenie, które uniemożliwia podawanie przez serwery DNS niepoprawnego wskazania lokalizacji komputera (konkretnie jego adresu IP), do którego przypisana jest domena.

Przykładowo i w uproszczeniu: chcemy połączyć się z daną domeną. Nasz komputer odpytuje po kolei inne, by dowiedzieć się, z jakim komputerem ma się docelowo połączyć. Tak działa system DNS. Jeśli jednak po drodze któryś z komputerów celowo lub omyłkowo poda niepoprawną lokalizację, możemy połączyć się z serwerem, który wykradnie wprowadzane przez nas dane logowania.

DNSSEC umożliwia automatyczne sprawdzanie, czy dany serwer faktycznie jest poprawną lokalizacją docelową, w oparciu o zapytania nadrzędnych do niego serwerów. Innymi słowy, sprawdzane jest, czy łączymy się z właściwym serwerem docelowym, a nie z fałszywym i imitującym go.

Jak działa DNSSEC?

Mechanizm działania DNSSEC opiera się na podobnej metodzie działania, co SSL w połączeniu z algorytmem RSA. Mianowicie, serwer nadrzędny (tzw. strefa DNS, np. strefa “.pl” zarządzana przez NASK) posiada rekord (klucz) zwany DS.

Strefy podrzędne drugiego poziomu, np. “blogtimes.pl” dla domen posiadających włączone zabezpieczenie DNSSEC, mają z kolei klucz publiczny DNSKEY i klucz RRSIG, które razem służą sprawdzeniu, czy dana domena faktycznie jest autoryzowana przez strefę nadrzędną “.pl” – czy odpowiada kluczowi DS tej nadrzędnej strefy.

Jeśli domena blogtimes.pl by miała subdomenę, to serwer wskazywany przez DNS dla tej subdomeny by najpierw był weryfikowany w ramach strefy nadrzędnej blogtimes.pl, a później – w ramach strefy .pl.

Rejestratorzy domen, którzy mają włączone zabezpieczenie DNSSEC, wprowadzają do nadrzędnej strefy (np. .pl) rekord DS dla danej domeny, dzięki czemu serwer DNS domeny może podać rekordy DNSKEY i RRSIG w celu zweryfikowania, czy nadrzędna strefa potwierdza poprawność lokalizacji serwera docelowego wskazywanego przez dany rekord DNS (najczęściej A, ale też np. MX, czy inne rekordy).

Rejestrator obsługuje także subdomeny kolejnych rzędów dla tej domeny, tworząc dla nich odpowiednie powiązania DNSKEY, RRSIG i DS.

Dla poprawności informatycznej: strefą najwyższego rzędu jest sama kropka, ale dla uproszczenia przyjmujemy w tym artykule, że strefą najwyższą jest “.pl”.

W czym więc leży problem?

Jeśli dotychczasowy rejestrator domeny (np. Nazwa) używał DNSSEC, to wprowadził do strefy nadrzędnej klucz DS, który służy do weryfikowania, czy dany docelowy serwer nie jest fałszywy. Obowiązkiem rejestratora jest usunięcie tego klucza DS ze strefy nadrzędnej przed wytransferowaniem domeny.

Jeśli bowiem przetransferujemy domenę do rejestratora, który nie obsługuje DNSSEC (np. firmy Zenbox), to komputery odpytywane o lokalizację serwera docelowego będą mogły weryfikować, czy klucz DS zamieszczony w strefie nadrzędnej odpowiada rekordom DNSKEY i RRSIG, które powinien zwracać serwer trzymający poprawne informacje o lokalizacji domeny. Ponieważ jednak ten serwer nie obsługuje DNSSEC, to DNSKEY i RRSIG nie istnieją.

Weryfikacja ma więc z jednej strony rekord DS do sprawdzenia, a z drugiej serwer, który nie posiada rekordu DNSKEY i RRSIG, czyli dokładnie jest to przypadek, który by oznaczał podszywanie się serwera pod docelowy.

Weryfikacja jest negatywna, czego przeglądarki w żaden sposób nie sygnalizują, wyświetlając błąd taki, jak gdyby serwera nie udało się wcale odnaleźć (czyli domena nie była zarejestrowana lub serwer DNS wskazywał na zły adres IP) – bo i faktycznie legalnego, zweryfikowanego serwera nie udało się odnaleźć.

W dodatku jeśli odpytywane o serwer docelowy komputery akurat nie weryfikują DNSSEC (bo to dosyć nowa technologia), to połączenie będzie poprawnie nawiązane.

Winę za ten stan rzeczy ponosi oczywiście rejestrator domen, który wdrożył DNSSEC, ale nie chciało mu się lub nie chciał celowo wdrożyć automatycznego usuwania rekordu DS przy próbie wytransferowania domeny. Mało tego, firma Nazwa nie pozwala nawet ręcznie wyłączyć DNSSEC i włącza je automatycznie wszystkim klientom. Nie chce także na napomnienie ze strony klienta ani ze strony NASKu usunąć rekordu DS, nijako wymuszając powrót klienta do niej, by domena znowu działała poprawnie.

NASK w korespondencji zignorował sprawę (informując jednak dumnie na swojej witrynie, że Nazwa wprowadziła zabezpieczenie dla blisko połowy miliona domen – tyle domen jest dotkniętych tym problemem).

Jak sprawdzić, czy problem mnie dotyczy?

Bardzo niewiele narzędzi potrafi zdiagnozować problemy z DNSSEC. Jednym z nich jest DNS Check firmy Pingdom, który w zakładce Advanced View pokaże w sekcji DNSSEC, jeśli strefa nadrzędna ma rekord DS, a serwer domeny nie ma rekordu DNSKEY i RRSIG.

Podobne sprawdzenie wykonuje CloudFlare, jeśli do niego spróbujemy podłączyć domenę, która ma pozostawiony rekord DS – nie będzie niestety mógł nadpisać rekordu i zwróci się do nas e-mailowo z instrukcją, by ten rekord usunęła poprzednia firma hostingowa.

Trzecia, najbardziej zaawansowana opcja to DNS Viz, które pokaże powiązania DNSSEC dla danej domeny. Jeśli w przedostatnim prostokącie widzimy rekord NSEC3 lub NSEC, oznacza to, że na danym poziomie DNSSEC nie jest włączone w strefie nadrzędnej (w podrzędnej więc zapewne też). Jest to poprawne (o ile chcemy mieć DNSSEC wyłączone).

Jeśli jednak jest tam rekord DS, oznacza to, że DNSSEC było włączone. Aby domena działała poprawnie, w ostatnim prostokącie musi być widoczny rekord DNSKEY – inaczej zachodzi problem opisany w artykule.

Jak naprawić niedziałającą domenę?

Można domagać się od starego rejestratora domen usunięcia rekordu DS, który wprowadził do strefy nadrzędnej.

Można wysłać email na info@dns.pl (czyli do NASK), opisując sytuację i prosząc o “usunięcie rekordu DS dla swojej domeny ze strefy nadrzędnej lub zmuszenie poprzedniego rejestratora do usunięcia tego rekordu” (samo “usunięcie strefy DNS z serwerów DNS starego rejestratora domeny” nie wystarczy, co sugerowała Nazwa). My tym sposobem poszliśmy i choć ani poprzedni rejestrator, ani NASK nie przyznali się, że to wykonają, to po około 10 dniach rekord DS został usunięty.

NASK deklaruje także e-mailowo, że każdy rejestrator domen ma możliwość usunięcia rekordu DS dla domeny, nad którą ma panowanie. Podobno nie trzeba do tego wiedzy specjalistycznej, co sugeruje, że istnieje jakiś panel administracyjny lub kontakt rejestratora z pomocą NASK, która to realizuje. Można więc prosić nowego rejestratora o załatwienie sprawy, choć jeśli DNSSEC nie ma wdrożonego, to może nie wiedzieć, o co chodzi.

W razie wątpliwości i chęci skorzystania z odpłatnej pomocy, zachęcamy do kontaktu.

Komentarze

Trochę się pogubiłem. Problem jest jak po stronie samego hostingu starej/nowej firmy, czy serwera DNS?

A co jeśli od razu, odelegowało się (np. w nazwa.pl) domenę na inne serwery DNS – ale domeny nie przenosiło się do innego rejestratora.

Problem nie leży po stronie serwera hostingowego. Problem leży dokładnie po stronie firmy, gdzie przed przeniesieniem delegowane były serwery DNS (czyli firmy, której adresy NS wpisujemy w panelu zarządzania domeną).

Zazwyczaj ta sama firma jest jednocześnie dostawcą serwera hostingowego, serwerów nazw NS DNS i rejestratorem domeny (u którego się NS DNS wprowadza).

Jeśli serwery DNS zmieniło się przed wprowadzeniem przez Nazwę DNSSEC (czyli przed marcem 2018), to DNSSEC nie powinno być włączone dla domeny od strony Nazwy (ale wciąż może być włączone poprawnie lub niepoprawnie u firmy obsługującej serwery nazw NS). Należy to więc sprawdzić powyższymi narzędziami, zwłaszcza przed migracją domeny lub zmianą DNSów. Jeśli zmianę serwerów NS DNS wprowadziło się w Nazwie po marcu 2018, problem zapewne występuje (chyba, że Nazwa go naprawiła / naprawi).

OK, to mi wyjaśnia. Najczęściej nie trzymam w tym samym miejscu hostingi i DNS’a – dla niego preferuję od początku Cloudfrale.

Komentuj

Subscribe without commenting