Rozwiązywanie DNS
ważność krytycznamierzonysposób dns
Czy domena rozwiązuje się do adresu IP. Wykrywa wygaśnięcie domeny, błędną konfigurację DNS, przejęcie domeny.
WIKI
artykuł z 16.09.2026 · źródeł 10Rozwiązywanie DNS to parametr monitoringu stron internetowych, który sprawdza, czy nazwę domeny da się zamienić na adres IP serwera. Pomiar kończy się jednym z kilku wyników: nazwa rozwiązana do adresu, odpowiedź negatywna (nazwa nie istnieje albo nie ma rekordu żądanego typu), błąd serwera nazw albo brak odpowiedzi w wyznaczonym czasie. Adres IPv4 hosta przechowuje rekord A, zawierający 32-bitowy adres internetowy [2], a adres IPv6 — osobny rekord AAAA [4].
Jak działa
DNS jest rozproszoną bazą danych: przestrzeń nazw dzieli się na strefy, a serwer, który zna dane strefy, jest dla niej autorytatywny [1]. Rekord NS wskazuje serwery autorytatywne domeny, a rekord SOA oznacza początek strefy [1]. Strefa podrzędna powstaje przez delegację, czyli dodanie zbioru rekordów NS w strefie nadrzędnej [3].
Program, który zadaje pytanie, jest zwykle resolverem pośredniczącym (ang. stub resolver): sam nie przeprowadza rozwiązywania, tylko zleca je resolverowi rekurencyjnemu [3]. RFC 1034 opisuje dwa tryby: rekurencyjny, w którym serwer sam szuka odpowiedzi u innych serwerów, i iteracyjny, w którym odsyła klienta do innego serwera [1]. Odesłanie (ang. referral) oznacza, że serwer nie jest autorytatywny dla odpowiedzi i wskazuje inne miejsce, do którego należy wysłać zapytanie [3]. Resolver rekurencyjny zapamiętuje otrzymane odpowiedzi [3].
Odpowiedź niesie kod RCODE: 0 oznacza brak błędu, 2 błąd serwera (SERVFAIL), 3 błąd nazwy, a 5 odmowę wykonania operacji [2]. Błąd nazwy, nazywany NXDOMAIN, znaczy, że nazwa z zapytania nie istnieje [3], i ma znaczenie tylko wtedy, gdy pochodzi od serwera autorytatywnego [2]. Osobny przypadek to NODATA: nazwa istnieje, ale nie ma rekordów żądanego typu [5]. NODATA jest pseudokodem — odpowiedź nie niesie osobnej wartości RCODE, a stan trzeba wywnioskować z pustej sekcji odpowiedzi [3].
Każdy rekord ma TTL, czyli czas, przez który wolno go przechowywać w pamięci podręcznej, zanim trzeba ponownie zapytać źródło [2]. Resolver, który zapamiętał rekord, może więc podawać starą wartość aż do upływu TTL [1] — to, co potocznie nazywa się propagacją zmian w DNS. Pamięć podręczna obejmuje też odpowiedzi negatywne: ich czas życia to mniejsza z wartości pola MINIMUM rekordu SOA i TTL samego SOA, a serwer autorytatywny musi dołączyć SOA do odpowiedzi NXDOMAIN i NODATA [5]. Błąd serwera wolno zapamiętać najwyżej na 5 minut [5].
Standardy i specyfikacje
- RFC 1034 i RFC 1035 opisują koncepcję i implementację DNS: strefy, autorytatywność, rekurencję, rekordy A, NS i SOA oraz kody odpowiedzi [1] [2]. Komunikaty UDP trafiają na port serwera 53 [2].
- RFC 3596 definiuje rekord AAAA o typie 28, przechowujący jeden adres IPv6; zapytanie o AAAA zwraca wszystkie rekordy AAAA nazwy [4]. To osobny typ rekordu, pytany niezależnie od A.
- RFC 2308 definiuje NXDOMAIN i NODATA oraz zasady przechowywania odpowiedzi negatywnych i błędów serwera w pamięci podręcznej [5].
- RFC 8499 porządkuje terminologię: resolver pośredniczący i rekurencyjny, serwer autorytatywny, delegacja, odesłanie [3].
- RFC 4033 wprowadza DNSSEC, który dodaje uwierzytelnienie pochodzenia i integralność danych, ale nie zapewnia poufności ani ochrony przed odmową usługi [6]. Resolver sprawdzający podpisy ocenia dane jako bezpieczne, niezabezpieczone, fałszywe (ang. bogus) albo nieokreślone; o danych fałszywych informuje resolver bez walidacji kodem RCODE 2, czyli SERVFAIL [6].
Zagrożenia i skutki
Wygaśnięcie domeny. Polityka ICANN ERRP dla domen gTLD wymaga od rejestratora co najmniej dwóch przypomnień: około miesiąca i około tygodnia przed wygaśnięciem [9]. Po wygaśnięciu rejestrator musi przerwać dotychczasową ścieżkę rozwiązywania nazwy, ustaloną przez abonenta: do usunięcia rejestracji, a gdy usunięcie następuje później niż osiem dni po wygaśnięciu — co najmniej przez ostatnie osiem kolejnych dni, w których domenę można jeszcze odnowić [9]. Jeśli kieruje wtedy ruch na własną stronę, musi ona wyraźnie informować o wygaśnięciu i podawać instrukcję odnowienia [9]. Nazwa może więc nadal się rozwiązywać, tylko do innego serwera. Po usunięciu rejestracji rejestry gTLD dają 30 dni okresu odkupienia (ang. Redemption Grace Period) [9].
Przejęcie domeny. Raport SSAC SAC007 definiuje przejęcie jako bezprawne odebranie kontroli nad domeną prawowitemu abonentowi przez stronę trzecią [8]. Wśród skutków wymienia odmowę i kradzież usług, strony phishingowe, podsłuch ruchu oraz szkody wizerunkowe przez podmianę witryny, a wśród przyczyn wady procesów rejestracji, nieprzestrzeganie zasad transferu i słabą higienę bezpieczeństwa [8]. Dyrektywa CISA ED 19-01 z 22 stycznia 2019 r. opisywała ataki, w których napastnik zdobywał dane logowania do konta zarządzającego rekordami DNS i zmieniał rekordy A, MX lub NS, podstawiając adres pod swoją kontrolą [7]. Mógł też uzyskać ważne certyfikaty dla nazw ofiary [7]. Dyrektywa nakazywała m.in. audyt rekordów, zmianę haseł, uwierzytelnianie wieloskładnikowe i śledzenie dzienników Certificate Transparency [7]. Po takiej zmianie nazwa rozwiązuje się bez błędu — różni się tylko adres.
Błędna delegacja. Delegacja jest wadliwa (ang. lame delegation), gdy rekordy NS wskazują serwer, który nie obsługuje danej strefy [3].
Nieudana walidacja DNSSEC. Gdy podpisy strefy nie przechodzą walidacji, resolver walidujący zwraca SERVFAIL [6], a dla jego użytkowników domena przestaje się rozwiązywać. Taki błąd resolver może zapamiętać na najwyżej 5 minut [5].
Pamięć podręczna. Odpowiedź NXDOMAIN zostaje zapamiętana na czas wynikający z rekordu SOA [5], a zmieniony rekord A — na czas swojego TTL [2]. Pomiar przez jeden resolver rekurencyjny widzi zatem jego zapamiętane odpowiedzi [3], a nie zawsze bieżący stan serwerów autorytatywnych.
Przykłady
W październiku 2021 r. Cloudflare odnotował o 15:58 UTC, że Facebook przestał ogłaszać trasy do prefiksów swoich serwerów DNS [10]. Resolvery zwracały dla tej domeny SERVFAIL, a nazwa była niedostępna od około 15:50 do 21:20 UTC; liczba zapytań do resolvera 1.1.1.1 wyraźnie wtedy wzrosła [10].
| Obserwacja | Odpowiedź | Typowa przyczyna |
|---|---|---|
| Adres jak dotąd | NOERROR, rekord A [2] | domena działa |
| Adres inny niż dotąd | NOERROR, inny rekord A [2] | migracja serwera, zmiana rekordów po przejęciu konta [7], strona rejestratora po wygaśnięciu [9] |
| Nazwa nie istnieje | NXDOMAIN z rekordem SOA [5] | literówka w nazwie, rejestracja usunięta |
| Brak rekordu A | NODATA [3] | host tylko z adresem IPv6 [4], błąd w strefie |
| Błąd serwera | SERVFAIL [2] | nieudana walidacja DNSSEC [6], nieosiągalne serwery nazw [10] |
| Odmowa | RCODE 5 [2] | serwer odmawia wykonania zapytania |
| Brak odpowiedzi | limit czasu bez kodu | przeciążony lub nieosiągalny resolver, zablokowany port 53 [2] |
- [1] RFC 1034 — Domain Names: Concepts and Facilities · IETF
- [2] RFC 1035 — Domain Names: Implementation and Specification · IETF
- [3] RFC 8499 — DNS Terminology · IETF
- [4] RFC 3596 — DNS Extensions to Support IP Version 6 · IETF
- [5] RFC 2308 — Negative Caching of DNS Queries (DNS NCACHE) · IETF
- [6] RFC 4033 — DNS Security Introduction and Requirements · IETF
- [7] Emergency Directive 19-01 — Mitigate DNS Infrastructure Tampering · CISA
- [8] SAC007 — Executive Summary for Domain Name Hijacking: Incidents, Threats, Risks, and Remedial Actions · ICANN SSAC
- [9] Expired Registration Recovery Policy (ERRP) · ICANN
- [10] Understanding how Facebook disappeared from the Internet · Cloudflare
STATS
wyniki z systemu · tylko liczby zbiorcze- Stron zmierzonych
- 204w ostatnim dniu pomiaru
- OK
- 331odczytów
- Fail
- 13odczytów
- Nie dało się sprawdzić
- 0timeout, blokada, limit zapytań
- Udział fail
- 3,8%bez „nie dało się”
- Stron łącznie
- 206choć jeden odczyt
- OK
- 1887odczytów
- Fail
- 79odczytów
- Nie dało się sprawdzić
- 0timeout, blokada, limit zapytań
- Udział fail
- 4,0%bez „nie dało się”
| Dzień | fail | nie dało się sprawdzić | ok |
|---|---|---|---|
| 23.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 24.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 25.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 26.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 27.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 28.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 29.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 30.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 31.08.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 01.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 02.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 03.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 04.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 05.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 06.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 07.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 08.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 09.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 10.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 11.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 12.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 13.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 14.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 15.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 16.09.2026 | 0 odczytów | 0 odczytów | 0 odczytów |
| 17.09.2026 | 14 odczytów | 0 odczytów | 192 odczyty |
| 18.09.2026 | 13 odczytów | 0 odczytów | 193 odczyty |
| 19.09.2026 | 26 odczytów | 0 odczytów | 604 odczyty |
| 20.09.2026 | 13 odczytów | 0 odczytów | 567 odczytów |
| 21.09.2026 | 13 odczytów | 0 odczytów | 331 odczytów |
- Otwarte teraz
- 18stron: 18
- Nowe w ostatnim dniu
- 617.09.2026
- Otwarte od początku
- 42stron: 40
- Zamknięte
- 24od początku
- Mediana trwania
- 5 h 59 minod wykrycia do zamknięcia
| Ustalenie | Skutek | Otwarte teraz | Łącznie | Zamknięte |
|---|---|---|---|---|
| Rozwiązywanie DNS dns | DOWN | 18 | 42 | 24 |
| Dzień | nowe ustalenia |
|---|---|
| 23.08.2026 | 1 ustalenie |
| 24.08.2026 | 0 ustaleń |
| 25.08.2026 | 1 ustalenie |
| 26.08.2026 | 1 ustalenie |
| 27.08.2026 | 0 ustaleń |
| 28.08.2026 | 0 ustaleń |
| 29.08.2026 | 0 ustaleń |
| 30.08.2026 | 0 ustaleń |
| 31.08.2026 | 0 ustaleń |
| 01.09.2026 | 0 ustaleń |
| 02.09.2026 | 0 ustaleń |
| 03.09.2026 | 0 ustaleń |
| 04.09.2026 | 0 ustaleń |
| 05.09.2026 | 0 ustaleń |
| 06.09.2026 | 12 ustaleń |
| 07.09.2026 | 0 ustaleń |
| 08.09.2026 | 0 ustaleń |
| 09.09.2026 | 7 ustaleń |
| 10.09.2026 | 0 ustaleń |
| 11.09.2026 | 0 ustaleń |
| 12.09.2026 | 0 ustaleń |
| 13.09.2026 | 0 ustaleń |
| 14.09.2026 | 0 ustaleń |
| 15.09.2026 | 0 ustaleń |
| 16.09.2026 | 0 ustaleń |
| 17.09.2026 | 6 ustaleń |
| 18.09.2026 | 0 ustaleń |
| 19.09.2026 | 0 ustaleń |
| 20.09.2026 | 0 ustaleń |
| 21.09.2026 | 0 ustaleń |
- Przebiegów
- 60sposób dns
- W 30 dni
- 60przebiegów
- Ostatni
- 19.09.2026start przebiegu
- Stron w przebiegach
- 20461 przebiegów bez liczby stron
CARD
karta z kodu CREATO_PING, odczyt 16.09.2026| Obszar i ważność | Dostępność · krytyczna (D02) |
|---|---|
| Workflow i częstotliwość | creato_ping_avail_v2 działa na LAB247cron co 24 h, osobno T1–T4 · Strony w stanie DOWN i WARNING dostają dodatkowy odczyt co 6 h (timer availability_recheck poza n8n). Od 2026-09-16 sposób ssl daje odczyt ssl_expiry (dni do wygaśnięcia certyfikatu); od 2026-09-17 odczyty trafiają do check_results. |
| Sonda i helper | sposób dns · CREATO_PING/helpers/dns_check.py |
| Testy |
|
| Typ wyniku | enum: ok / fail / timeout + adresy IPv4 z odpowiedzi, oczekiwany adres, czas w ms |
| Jednostka | ms (czas rozwiązania nazwy); zgodność adresu jakościowa |
| Próg i reguła | Timeout 2,0 s (+0,5 s marginesu wyłącznika). Reguła adresu: oczekiwany adres należy do zwróconych rekordów A — jeden adres, porównanie dokładnego napisu. |
| Gdzie leżą pokrętła | CREATO_PING/helpers/config.py → TIMEOUTS["dns"]CREATO_PING/helpers/site_params.py → CRITICAL_CHECK_TYPESexpected_ip per strona — w opisie zadania strony w ClickUp |
| Retencja odczytów | Każdy odczyt w tabeli check_results bazy LAB247; kod LAB247 tej tabeli nie czyści. Polityki retencji nikt jeszcze nie ustalił. |
| Znane rozbieżności |
|
| Karta przepisana z | CREATO_PING/helpers/dns_check.py · CREATO_PING/helpers/config.py · CREATO_PING/helpers/site_params.py · CREATO_PING/helpers/availability_recheck.py · CREATO_PING/tools/avail_writer_input.py · LAB247/site/src/lib/ingest/apply.ts · odczyt 16.09.2026 |
1. fail = ustalenie w okresie łaski (IN PROGRESS, bez alertu). 2. fail z rzędu = ustalenie otwarte i status strony DOWN — sprawdzenie należy do krytycznych (tcp, dns, http, ssl). Wyjątki bijące DOWN: BLOKADA (strona odpowiada z innych lokalizacji, zablokowane jest IP monitoringu) i CONFIG (działa tylko jedna forma adresu). Pierwszy odczyt ok zamyka ustalenie.
| Ustalenie | Powaga | Pewność | Skutek | Subtask / alarm | Co zrobić |
|---|---|---|---|---|---|
| Rozwiązywanie DNSdns | Wysokie | Ewidentne | DOWN | tak / tak | Sprawdź rekordy DNS i termin ważności domeny. |
LOOP
pętli: 1Trafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.
Sygnał: Adres bez www odpowiadał 200, a forma z www miała certyfikat samopodpisany — silnik eskalował to do DOWN. · dotyczy też: Połączenie TCP, Kod odpowiedzi HTTP, SSL: ważność certyfikatu, Przekierowanie www ↔ bez www
- 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
- 2. Werdyktręcznieużytkownicy widzą sprawną stronę, więc alarm był fałszywy
- 3. Miarabrakliczników trafności wtedy nie było
- 4. Kartabrakkarta parametru powstała 2026-09-16
- 5. Zmianazrobionesprawdzenie częściowej dostępności i status CONFIG
- 6. Replaybrakbrak zapisanych odczytów do replayu
| Data | Zmiana | Powód | Wpływ na system | Commit · replay |
|---|---|---|---|---|
| 2026-08-04 | Częściowa dostępność (jedna forma 200, druga zepsuta) daje status CONFIG, który bije DOWN.helpers/site_params.py · helpers/partial_availability_check.py | Błąd konfiguracji do naprawy to nie awaria; realny DOWN zostaje, gdy nie odpowiada żadna forma. | cały system Nowy status strony nad DOWN; dotyczy wszystkich sprawdzeń krytycznych (tcp, dns, http, ssl). | 091e318bez replayubez zapisu zatwierdzenia |