Zmiana adresu IP
ważność wysokamierzonysposób ip_change
Porównanie aktualnego IP z poprzednim skanem DNS. Nieoczekiwana zmiana to przejęcie domeny lub migracja bez wiedzy agencji.
Pierwszy skan domeny tylko zapisuje wzorzec; ustalenie otwiera dopiero kolejny skan z innym adresem.
WIKI
artykuł z 16.09.2026 · źródeł 8Zmiana adresu IP to parametr monitoringu stron internetowych, który porównuje adresy IPv4 zwrócone dla domeny w bieżącym zapytaniu DNS z adresami zapamiętanymi przy poprzednim pomiarze. Możliwe wyniki to: adresy bez zmian, inny zbiór adresów niż poprzednio, pierwszy pomiar, który tylko zapisuje punkt odniesienia, albo brak odpowiedzi, przy którym porównania nie da się wykonać. Adres IPv4 hosta przechowuje rekord A z 32-bitowym adresem internetowym, a host z kilkoma adresami ma kilka rekordów A [2].
Jak działa
Pomiar zestawia dwie migawki. Pierwsza odpowiedź dla domeny staje się wzorcem, a każdą kolejną porównuje się z nim jako zbiór adresów. Kolejność rekordów nie powinna mieć znaczenia: RFC 1794 zauważa, że protokół DNS nie gwarantuje kolejności, a wczesne mechanizmy równoważenia obciążenia celowo rotowały rekordy adresowe metodą round-robin [3]. Po wykryciu różnicy nowy zbiór zwykle zastępuje wzorzec, żeby ta sama zmiana nie była zgłaszana w każdym kolejnym pomiarze.
Na wynik wpływa czas życia rekordu. TTL to limit czasu, przez który rekord może leżeć w pamięci podręcznej; ustala go administrator strefy [1]. RFC 1034 zaleca, by przed zapowiedzianą zmianą obniżyć TTL, a po zmianie przywrócić dawną wartość, co ogranicza niespójność w okresie przejścia [1]. Dwa kolejne pomiary mogą więc przez pewien czas widzieć raz stary, raz nowy adres, zależnie od tego, co pamięta pytany resolver.
Sama różnica adresów nie mówi, co się stało. Tę samą obserwację daje dostawca CDN, zaplanowana przeprowadzka serwera i przejęcie konta DNS, dlatego pomiar jest punktem wyjścia do rozróżnienia, a nie rozstrzygnięciem.
Standardy i specyfikacje
- RFC 1034 i RFC 1035 definiują pole TTL i rekord A: 32-bitowy adres w danych rekordu, wiele rekordów A dla hosta z wieloma adresami oraz czas przechowywania w pamięci podręcznej [1] [2].
- RFC 1794 (1995, dokument informacyjny) opisuje równoważenie obciążenia przez DNS. Odpowiedź zawiera wiele adresów, a w opisanym wdrożeniu adresy losowo przestawiano co 300 sekund. W takiej zmiennej strefie TTL rekordów musi być bardzo niski [3].
- RFC 4786 definiuje anycast jako udostępnianie tego samego adresu usługi w wielu odrębnych lokalizacjach, tak że pakiety trafiają do jednej z nich [4].
- NIST SP 800-128 definiuje konfigurację bazową (ang. baseline configuration) jako zestaw specyfikacji przejrzany i uzgodniony w danym momencie, który można zmieniać tylko przez procedury kontroli zmian [8]. Monitorowanie konfiguracji ma wykrywać, kiedy stan faktyczny odbiega od zatwierdzonego wzorca, czyli nieautoryzowaną zmianę [8].
Zagrożenia i skutki
Przejęcie DNS. Dyrektywa CISA ED 19-01 z 22 stycznia 2019 r. opisywała kampanię, w której napastnik po zdobyciu danych logowania zmieniał rekordy A, MX lub NS i kierował ruch na własną infrastrukturę [7]. Dyrektywa nakazywała sprawdzić, czy publiczne rekordy DNS wskazują zamierzone miejsca; CISA zamknęła ją 8 stycznia 2026 r. [7]. Szerzej o przejęciu domeny pisze artykuł Rozwiązywanie DNS.
Migracja poza kontrolą zmian. NIST SP 800-128 wśród przyczyn nieautoryzowanych zmian wymienia zmiany przypadkowe, działania osób, które nie znają procesu kontroli zmian albo uważają, że ich nie dotyczy, oraz opóźnienie między wprowadzeniem zmiany a aktualizacją wzorca [8]. Nieautoryzowana zmiana może świadczyć o ataku albo o tym, że procedury nie są przestrzegane, dlatego NIST zaleca analizować jej przyczynę [8]. Przeniesienie strony na inny serwer bez wiedzy osób, które ją utrzymują, wygląda z zewnątrz tak samo jak zmiana wprowadzona przez napastnika.
Fałszywe alarmy przy CDN. Dla rekordu obsługiwanego przez proxy Cloudflare zapytanie DNS zwraca adresy anycast Cloudflare zamiast adresu serwera źródłowego [5]. Zakresy tych adresów są wspólne dla wszystkich hostów za proxy [6]. TTL takich rekordów wynosi 300 sekund i nie da się go zmienić; krótki czas ma sprawić, że zmiana przypisanego adresu anycast szybko zacznie obowiązywać [5]. Inny adres w odpowiedzi nie oznacza wtedy zmiany serwera ani hostingu. Podobnie przy równoważeniu obciążenia przez DNS: jeśli zawartość puli rekordów zmienia się co kilka minut [3], porównanie pełnych zbiorów zgłosi zmianę przy każdej takiej rotacji.
Zmiana niewidoczna. Proxy działa też w drugą stronę i ukrywa przeprowadzkę: odwiedzający dostaje adres Cloudflare zamiast prawdziwego adresu serwera źródłowego [6]. Migracja serwera za CDN nie zmienia więc odpowiedzi DNS, a porównanie rekordów A jej nie wykryje.
Przykłady
| Obserwacja | Wynik porównania | Typowa przyczyna |
|---|---|---|
| Te same adresy w innej kolejności | bez zmian | rotacja round-robin [3] |
| Jeden adres zastąpiony innym, TTL wcześniej obniżony | zmiana | zapowiedziana migracja serwera [1] |
| Adresy z zakresów CDN zamiast adresu serwera | zmiana | włączenie proxy, adresy anycast [5] [6] |
| Inny adres CDN przy niezmienionej konfiguracji | zmiana | dostawca zmienił przydział adresu anycast [5] |
| Nowy adres i zmienione rekordy NS lub MX | zmiana | przejęcie konta DNS [7] |
| Nowy adres, którego nikt nie zatwierdził | zmiana | migracja poza procesem kontroli zmian [8] |
| Migracja serwera schowanego za proxy | bez zmian | adres źródłowy ukryty za CDN [6] |
| Brak odpowiedzi albo nazwa nie istnieje | nie da się porównać | awaria DNS, wygaśnięcie domeny — patrz Rozwiązywanie DNS |
- [1] RFC 1034 — Domain Names: Concepts and Facilities · IETF
- [2] RFC 1035 — Domain Names: Implementation and Specification · IETF
- [3] RFC 1794 — DNS Support for Load Balancing · IETF
- [4] RFC 4786 — Operation of Anycast Services · IETF
- [5] Proxy status — Cloudflare DNS docs · Cloudflare
- [6] Cloudflare IP addresses — Cloudflare Fundamentals docs · Cloudflare
- [7] Emergency Directive 19-01 — Mitigate DNS Infrastructure Tampering · CISA
- [8] SP 800-128 — Guide for Security-Focused Configuration Management of Information Systems · NIST
STATS
wyniki z systemu · tylko liczby zbiorczeTen parametr nie zapisuje odczytu per strona — przebieg zostawia tylko ustalenia, więc liczby sprawdzonych stron i wyników „ok” system nie ma. Pojawią się po wdrożeniu zapisu przebiegów per strona per parametr.
Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.
- Przebiegów
- 33sposób ip_change
- W 30 dni
- 33przebiegów
- Ostatni
- 19.09.2026start przebiegu
- Stron w przebiegach
- —33 przebiegów bez liczby stron
CARD
karta z kodu CREATO_PING, odczyt 16.09.2026| Obszar i ważność | Bezpieczeństwo · wysoka (B15) |
|---|---|
| Workflow i częstotliwość | creato_ping_security_v2 · P3 działa na LAB247cron co 24 h, T1–T3; T4 raz po anomalii · Dokładny skan. dns_integrity porównuje NS, MX, SPF i DMARC z wzorcem z poprzedniego przebiegu. |
| Sonda i helper | sposób ip_change · CREATO_PING/helpers/ip_change.py |
| Testy |
|
| Typ wyniku | 0 albo 1 ustalenie ip_changed na stronę w przebiegu; w szczegółach stary i nowy zbiór adresów, w dowodzie obie listy |
| Jednostka | brak — wynik jakościowy (zbiór adresów IPv4 z rekordów A względem wzorca z poprzedniego przebiegu) |
| Próg i reguła | Timeout zapytania 3,0 s — stała w helperze, poza config.py. Reguła: posortowane listy adresów różne = zmiana; wystarczy jeden adres dodany albo usunięty z puli. |
| Gdzie leżą pokrętła | CREATO_PING/helpers/ip_change.py → diff_ips, _resolve_a (timeout 3,0 s), check_batch (concurrency 20), _BASELINE_FILENAMECREATO_PING/helpers/security_runner.py → _TASK_SEVERITIES (dalej idą tylko urgent i high)CREATO_PING/config/incident_policy.toml → [finding] ip_changedCREATO_PING/config/wyjatki_falszywych_alarmow.toml → wąskie wyjątki per strona |
| Retencja odczytów | Nic w bazie LAB247 (2026-09-16: 0 ustaleń ip_changed; ślad tylko przez ręczny import z ClickUp). Plik wzorca trzyma ostatni zbiór per domena i nadpisuje go przy zmianie — poprzedni adres zostaje tylko w opisie subtaska w ClickUp. Replay niemożliwy. |
| Znane rozbieżności |
|
| Karta przepisana z | CREATO_PING/helpers/ip_change.py · CREATO_PING/helpers/security_runner.py · CREATO_PING/config/incident_policy.toml · CREATO_PING/helpers/clickup_writer_v2.py · CREATO_PING/helpers/tests/test_ip_change.py · odczyt 16.09.2026 |
Helper zgłasza powagę wysoką, więc ustalenie przechodzi filtr przebiegu. Polityka: wysoka, niepewna, do weryfikacji, gate=true, bez alertu — subtask DO WERYFIKACJI pod stroną; status strony DO WERYFIKACJI, jeśli nic ważniejszego nie jest otwarte. Kolejna zmiana przy otwartym subtasku aktualizuje jego opis. Helper nigdy nie wysyła zamknięcia, więc subtask zamyka człowiek.
| Ustalenie | Powaga | Pewność | Skutek | Subtask / alarm | Co zrobić |
|---|---|---|---|---|---|
| Zmiana adresu IPip_changed | Wysokie | Niepewne | DO WERYF. | tak / nie | Potwierdź migrację i zaktualizuj oczekiwany IP. |
LOOP
bez pętliTrafnoś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.
Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.