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
- 270w ostatnim dniu pomiaru
- OK
- 550odczytów
- Fail
- 4odczytów
- Nie dało się sprawdzić
- 0timeout, blokada, limit zapytań
- Udział fail
- 0,7%bez „nie dało się”
- Stron łącznie
- 272choć jeden odczyt
- OK
- 77496odczytów
- Fail
- 332odczytów
- Nie dało się sprawdzić
- 274timeout, blokada, limit zapytań
- Udział fail
- 0,4%bez „nie dało się”
| Dzień | fail | nie dało się sprawdzić | ok |
|---|---|---|---|
| 08.10.2026 | 0 odczytów | 1 odczyt | 1781 odczytów |
| 09.10.2026 | 0 odczytów | 0 odczytów | 1782 odczyty |
| 10.10.2026 | 18 odczytów | 80 odczytów | 1684 odczyty |
| 11.10.2026 | 0 odczytów | 0 odczytów | 1782 odczyty |
| 12.10.2026 | 1 odczyt | 0 odczytów | 1781 odczytów |
| 13.10.2026 | 4 odczyty | 12 odczytów | 1766 odczytów |
| 14.10.2026 | 1 odczyt | 9 odczytów | 1772 odczyty |
| 15.10.2026 | 0 odczytów | 3 odczyty | 1779 odczytów |
| 16.10.2026 | 0 odczytów | 0 odczytów | 1782 odczyty |
| 17.10.2026 | 1 odczyt | 0 odczytów | 1781 odczytów |
| 18.10.2026 | 3 odczyty | 18 odczytów | 1761 odczytów |
| 19.10.2026 | 0 odczytów | 0 odczytów | 1782 odczyty |
| 20.10.2026 | 2 odczyty | 1 odczyt | 1779 odczytów |
| 21.10.2026 | 0 odczytów | 0 odczytów | 1791 odczytów |
| 22.10.2026 | 1 odczyt | 0 odczytów | 1781 odczytów |
| 23.10.2026 | 1 odczyt | 0 odczytów | 1781 odczytów |
| 24.10.2026 | 7 odczytów | 31 odczytów | 1744 odczyty |
| 25.10.2026 | 0 odczytów | 0 odczytów | 1782 odczyty |
| 26.10.2026 | 0 odczytów | 1 odczyt | 1781 odczytów |
| 27.10.2026 | 0 odczytów | 0 odczytów | 1782 odczyty |
| 28.10.2026 | 1 odczyt | 1 odczyt | 1780 odczytów |
| 29.10.2026 | 2 odczyty | 0 odczytów | 1785 odczytów |
| 30.10.2026 | 5 odczytów | 0 odczytów | 1873 odczyty |
| 31.10.2026 | 6 odczytów | 0 odczytów | 1872 odczyty |
| 01.11.2026 | 9 odczytów | 12 odczytów | 1857 odczytów |
| 02.11.2026 | 6 odczytów | 0 odczytów | 1931 odczytów |
| 03.11.2026 | 14 odczytów | 0 odczytów | 1964 odczyty |
| 04.11.2026 | 15 odczytów | 1 odczyt | 2110 odczytów |
| 05.11.2026 | 24 odczyty | 70 odczytów | 1938 odczytów |
| 06.11.2026 | 4 odczyty | 0 odczytów | 550 odczytów |
- Otwarte teraz
- 3stron: 3
- Nowe w ostatnim dniu
- 8005.11.2026
- Otwarte od początku
- 309stron: 129
- Zamknięte
- 306od początku
- Mediana trwania
- 2 h 59 minod wykrycia do zamknięcia
| Ustalenie | Skutek | Otwarte teraz | Łącznie | Zamknięte |
|---|---|---|---|---|
| Rozwiązywanie DNS dns | strona nie odpowiada | 3 | 309 | 306 |
| Dzień | nowe ustalenia |
|---|---|
| 08.10.2026 | 1 ustalenie |
| 09.10.2026 | 0 ustaleń |
| 10.10.2026 | 75 ustaleń |
| 11.10.2026 | 0 ustaleń |
| 12.10.2026 | 1 ustalenie |
| 13.10.2026 | 5 ustaleń |
| 14.10.2026 | 6 ustaleń |
| 15.10.2026 | 3 ustalenia |
| 16.10.2026 | 0 ustaleń |
| 17.10.2026 | 1 ustalenie |
| 18.10.2026 | 20 ustaleń |
| 19.10.2026 | 0 ustaleń |
| 20.10.2026 | 3 ustalenia |
| 21.10.2026 | 0 ustaleń |
| 22.10.2026 | 1 ustalenie |
| 23.10.2026 | 0 ustaleń |
| 24.10.2026 | 25 ustaleń |
| 25.10.2026 | 0 ustaleń |
| 26.10.2026 | 1 ustalenie |
| 27.10.2026 | 0 ustaleń |
| 28.10.2026 | 2 ustalenia |
| 29.10.2026 | 0 ustaleń |
| 30.10.2026 | 1 ustalenie |
| 31.10.2026 | 0 ustaleń |
| 01.11.2026 | 9 ustaleń |
| 02.11.2026 | 0 ustaleń |
| 03.11.2026 | 1 ustalenie |
| 04.11.2026 | 1 ustalenie |
| 05.11.2026 | 80 ustaleń |
| 06.11.2026 | 0 ustaleń |
- Przebiegów
- 60sposób dns
- W 30 dni
- 0przebiegów
- Ostatni
- 19.09.2026start przebiegu
- Stron w przebiegach
- 20461 przebiegów bez liczby stron
CARD
karta z kodu CREATO_PING, odczyt 22.09.2026Jak ten parametr trafia do ClickUpa: wynik sondy to linia w subtasku 2. Pomiar, a usterka, którą otwiera — linia w subtasku 1. Podsumowanie (z identyfikatorem CWE i kategorią OWASP), skąd liczy się wskaźnik zagrożenia i status strony. Projekcja z bazy skanera odświeża oba subtaski co godzinę. Do 22.09 każde ustalenie dostawało własny subtask i status ze starego słownika (PODATNA, WARNING…) — te słowa zostały jeszcze w części opisów pomiaru niżej jako język wewnętrzny sond.
| Obszar i ważność | Dostępność · krytyczna (D02) |
|---|---|
| Workflow i częstotliwość | creato_ping_avail_v2 działa na LAB247Skaner 2.0, rytm „dostepnosc”: premium co 15 min, reszta co 3–12 h · Dawny workflow n8n avail_v2; od 20.09 te same sondy w rytmie kohort skanera. Sposób ssl daje odczyt ssl_expiry (dni do wygaśnięcia certyfikatu); 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 | Surowy pomiar jako NIEZMIENNY wiersz tabeli `odczyty` w bazie skanera (wejście, wyjście, dowody, sha karty sondy i helpera, commit kodu) — trigger odrzuca każdą zmianę. Okno retencji z kohorty: 90 dni premium, 30 dni reszta; poza oknem zostają odczyty z werdyktem problemu, akcją albo etykietą, bo replay reguł ich potrzebuje (`skaner/retencja.py`). Spłaszczony wynik jedzie dodatkowo do tabeli `check_results` bazy LAB247 (skrzynka `state/checks_outbox` → timer co 10 min); tej tabeli kod LAB247 nie czyści. |
| 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 · CREATO_PING/skaner/usterki.toml · CREATO_PING/skaner/ocena.py · odczyt 22.09.2026 |
dns: bramka polityki otwarta (gate=true) → sprawa w skanerze → Domena nie rozwiązuje się na adres — waga 4 → ocena 7–8 (pomarańczowy), status strony „wysoki”, dopóki sprawa jest otwarta. Okres łaski: 1. porażka zakłada sprawę ze statusem IN PROGRESS, której wskaźnik NIE liczy (`ocena.py` pomija sprawy niepotwierdzone), 2. porażka z rzędu potwierdza sprawę i dopiero wtedy usterka wchodzi do oceny. Pierwszy odczyt ok zamyka sprawę. dns jest sprawdzeniem krytycznym; rozbieżność z oczekiwanym adresem idzie tą samą drogą co brak rekordu.
| Kod | Finding | Severity | Pewność | Skutek | Finding / alarm | Waga → ocena | Co zrobić |
|---|---|---|---|---|---|---|---|
| D02.01 | Rozwiązywanie DNSdns | Wysoka | Ewidentne | strona nie odpowiada | tak / tak | waga 4 → ocena 7–8 (pomarańczowy) | Sprawdź rekordy DNS i termin ważności domeny. |
| Kod i klucz | D02.01 · dns · w tabeli typów |
|---|---|
| Co znaczy | Domena nie rozwiązuje się lub wskazuje inny adres niż oczekiwany. |
| Kiedy powstaje | Check pyta o rekord A. Status fail przy wyjątku resolvera (NXDOMAIN, brak odpowiedzi) albo gdy expected_ip jest ustawione i nie ma go wśród zwróconych adresów. Timeout po 2,5 s.Bez expected_ip wystarczy, że zapytanie się uda. Typ krytyczny. |
| Severity · pewność | Wysoka · Ewidentne |
| Skutek dla strony | strona nie odpowiada · zakłada Finding · alarm tak |
| Waga → ocena | waga 4 → ocena 7–8 (pomarańczowy) |
| Klasyfikacja | OCSF 1.9.0: poza klasami Findingu |
| Rekord OCSF | finding_info.analytic.uid = "D02.01" · analytic.name = "dns" · finding_info.types = ["D02 Rozwiązywanie DNS"] |
| Co zrobić | Sprawdź rekordy DNS i termin ważności domeny. |
| Wersje typu |
|
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 |