ARK. B26Parametr monitoringuBezpieczeństwo · lista 50 parametrów

Zdjęcie SPF/DMARC

ważność wysokamierzonysposób dns_integrity

Rekord był w poprzednim skanie, a teraz go nie ma. Sygnał grzebania w DNS albo migracji poczty bez wiedzy agencji.

Pierwszy skan domeny tylko zapisuje wzorzec; ustalenie otwiera dopiero kolejny skan bez rekordu.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 8

Zdjęcie SPF/DMARC to parametr monitoringu stron internetowych, który porównuje bieżące rekordy uwierzytelniania poczty domeny z poprzednim pomiarem i sygnalizuje, że rekord SPF albo DMARC, obecny wcześniej, zniknął z DNS. Mierzy zmianę, nie stan: domena, która nigdy nie miała tych rekordów, takiego sygnału nie daje. Po zdjęciu rekordu SPF sprawdzenie u odbiorcy kończy się wynikiem none [1], a bez rekordu DMARC odbiorca nie powinien stosować mechanizmu DMARC [2].

Jak działa

Wykrywanie zmian konfiguracji (ang. drift detection) polega na porównaniu stanu bieżącego z zapisanym punktem odniesienia. NIST nazywa taki punkt konfiguracją bazową: to udokumentowany zestaw specyfikacji, przejrzany i uzgodniony w danym momencie, który wolno zmieniać tylko w ramach kontroli zmian [3]. Celem zarządzania konfiguracją ukierunkowanego na bezpieczeństwo jest zarządzanie konfiguracjami systemów i ich monitorowanie [4].

Obserwator z zewnątrz widzi tylko bieżące odpowiedzi DNS. Rekord SPF jest rekordem TXT z oznaczeniem v=spf1 w samej domenie [1], a rekord DMARC — rekordem TXT pod nazwą _dmarc domeny [2]. Zmianę widać dopiero po porównaniu z zapisanym wcześniej odczytem.

RYS. 1.1Dwa pomiary i porównanie

Nie każdy brak rekordu jest zdjęciem. SPF odróżnia przejściowy, zwykle DNS-owy błąd weryfikatora (temperror) od braku rekordu (none) [1], więc brak odpowiedzi nie powinien nadpisywać wzorca.

RYS. 1.2Rozstrzygnięcie zmiany

Standardy i specyfikacje

  • RFC 7208 i RFC 7489 określają, gdzie leżą rekordy SPF i DMARC i co oznacza ich brak [1] [2].
  • NIST SP 800-128 opisuje zarządzanie konfiguracją pod kątem bezpieczeństwa, a słownik NIST definiuje konfigurację bazową [4] [3].
  • CISA ED 19-01 z 22 stycznia 2019 r. nakazywała w ciągu 10 dni roboczych audyt publicznych rekordów DNS na wszystkich serwerach autorytatywnych i zapasowych, by sprawdzić, czy wskazują zamierzone miejsce [5].

Zagrożenia i skutki

Migracja poczty lub hostingu. Przy przenoszeniu strefy do nowego dostawcy DNS automatyczne skanowanie nie gwarantuje odnalezienia wszystkich rekordów, dlatego trzeba je przejrzeć, ze szczególnym uwzględnieniem rekordów poczty: MX oraz TXT dla SPF, DKIM i DMARC [6]. Rekord pominięty przy przenosinach znika bez żadnego błędu, a strona nadal działa.

Ingerencja w panel DNS. Według ED 19-01 napastnik zdobywa dane logowania konta, które może zmieniać rekordy DNS, i modyfikuje je, by przekierować i przechwycić ruch WWW i pocztowy [5]. W kampanii opisanej przez Mandiant w styczniu 2019 r. przekierowywano ruch serwera poczty ofiary i zbierano dane logowania, a zalecenia obejmowały uwierzytelnianie wieloskładnikowe w panelu domeny oraz weryfikację zmian rekordów A i NS [7]. Rekordy TXT poczty nie są na tej liście, choć ich zdjęcie także jest zmianą, którą warto potwierdzić.

Skutek zdjęcia. SPF, DMARC i DKIM działając wspólnie mogą uniemożliwić wykorzystanie domeny do podszywania się [8]. Po zdjęciu rekordów odbiorca nie ma deklaracji SPF [1] ani polityki DMARC [2].

Wartość wzorca. Pomiar samej obecności nie odróżnia domeny, która nigdy nie miała SPF, od domeny, której go właśnie usunięto. Porównanie z poprzednim stanem wskazuje moment zmiany, a więc okno, w którym warto szukać przyczyny. Porównanie samej obecności nie wykryje jednak zmiany treści, np. zamiany -all na ~all albo p=reject na p=none.

Przykłady

Poprzedni pomiarBieżący pomiarInterpretacja
SPF i DMARCSPF i DMARCbez zmian
SPFbrak rekordu v=spf1zdjęcie; odbiorca dostaje wynik none [1]
DMARCbrak rekordu pod _dmarczdjęcie; DMARC przestaje być stosowany [2]
SPFbłąd DNS lub brak odpowiedzinierozstrzygnięte, jak temperror [1]
brakbraknie zdjęcie, tylko stały brak deklaracji
MX i SPF starego dostawcynowe MX, brak SPFmigracja z pominiętym rekordem [6]
SPF, NS bez zmianbrak SPFzmiana w panelu DNS do potwierdzenia [5]
TAB. 1.1Przypisy8
  1. [1] RFC 7208 — Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 · IETF
  2. [2] RFC 7489 — Domain-based Message Authentication, Reporting, and Conformance (DMARC) · IETF
  3. [3] Glossary — baseline configuration · NIST CSRC
  4. [4] SP 800-128 — Guide for Security-Focused Configuration Management of Information Systems · NIST
  5. [5] Emergency Directive 19-01 — Mitigate DNS Infrastructure Tampering · CISA
  6. [6] Full setup — Change your nameservers · Cloudflare Docs
  7. [7] Global DNS Hijacking Campaign: DNS Record Manipulation at Scale · Mandiant (FireEye)
  8. [8] Ustawa o zwalczaniu nadużyć w komunikacji elektronicznej · CERT Polska
ARK. 2

STATS

wyniki z systemu · tylko liczby zbiorcze
TAB. 2.1Odczyty per strona

Ten 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.

TAB. 2.3Ustalenia

Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.

TAB. 2.4Przebiegi z tym sposobem sprawdzeniaod 09.09.2026
Przebiegów
33sposób dns_integrity
W 30 dni
33przebiegów
Ostatni
19.09.2026start przebiegu
Stron w przebiegach
33 przebiegów bez liczby stron
ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 16.09.2026
RYS. 3.1Droga parametru przez system: Zdjęcie SPF/DMARC
TAB. 3.1Pomiarpliki: 4
Obszar i ważnośćBezpieczeństwo · wysoka (B26)
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 helpersposób dns_integrity · CREATO_PING/helpers/dns_integrity_check.py
Testy
  1. Tylko przebieg P3; „poprzedni skan” to poprzedni przebieg P3 tej strony.
  2. Odczyt NS, MX, TXT domeny i TXT _dmarc.domena przez resolver systemowy; SPF i DMARC = pierwszy rekord TXT zaczynający się od v=spf1 albo v=DMARC1.
  3. Wzorzec: plik dns_baseline.json w katalogu stanu serwera monitoringu, per domena NS, MX, SPF i DMARC z ostatniego odczytu.
  4. Pierwszy odczyt domeny tylko zapisuje wzorzec; pusta odpowiedź NS = odczyt pominięty bez nadpisania wzorca.
  5. Po każdym odczycie z niepustymi NS wzorzec jest nadpisywany bieżącym stanem, także gdy SPF lub DMARC właśnie zniknęły.
Typ wyniku0 albo 1 ustalenie dns_mail_auth_removed na przebieg; w szczegółach, które rekordy zniknęły, w dowodzie ich poprzednia treść
Jednostkabrak — wynik jakościowy (zniknięcie rekordu względem wzorca z poprzedniego przebiegu)
Próg i regułaTimeout 5,0 s na zapytanie. Reguła: rekord niepusty we wzorcu i pusty teraz = dns_mail_auth_removed (jedno ustalenie na oba rekordy). Porównywana tylko obecność.
Gdzie leżą pokrętłaCREATO_PING/helpers/dns_integrity_check.py → diff_snapshot, _LIFETIME, _BASELINE_FILENAMECREATO_PING/helpers/security_runner.py → _TASK_SEVERITIES (dalej idą tylko urgent i high)CREATO_PING/config/incident_policy.toml → [finding] dns_mail_auth_removed
Retencja odczytówŻadna dla ustalenia. Plik wzorca trzyma tylko ostatni stan i po zdjęciu nadpisuje poprzednią treść rekordu wartością pustą — już po jednym przebiegu nie ma z czym porównać.
Znane rozbieżności
  1. Katalog mówi, że ustalenie otwiera kolejny skan bez rekordu, a w produkcji nie otwiera się nic: powaga normalna z helpera odpada na filtrze, choć polityka ma gate=true.
  2. Sygnał jednorazowy: wzorzec jest nadpisywany zaraz po zdjęciu, więc kolejny przebieg bez rekordu nic nie zgłasza; po przywróceniu nie ma sygnału zamknięcia.
  3. Timeout albo błąd zapytania TXT przy odpowiadających NS daje fałszywe zdjęcie i nadpisuje wzorzec pustą wartością.
  4. Porównywana jest tylko obecność: złagodzenie -all do +all albo p=reject do p=none nie jest wykrywane.
  5. Ten sam helper emituje dns_ns_changed i dns_mx_changed z powagą wysoką — jedyne jego ustalenia, które przechodzą filtr — a katalog parametrów nie ma dla nich parametru.
kandydaci do pętli: kod a opis parametru albo specyfikacja
Karta przepisana zCREATO_PING/helpers/dns_integrity_check.py · CREATO_PING/helpers/security_runner.py · CREATO_PING/config/incident_policy.toml · CREATO_PING/workflows/_prod/creato_ping_security_v2.json · odczyt 16.09.2026
TAB. 3.2Co oznacza failtypów ustaleń: 1

Helper zgłasza powagę normalną, a filtr przebiegu przepuszcza tylko pilną i wysoką — ustalenie odpada przed zapisem. Polityka (normalna, niepewna, do weryfikacji, gate=true) przewiduje subtask do sprawdzenia przez człowieka, ale nigdy nie zostaje zastosowana. W produkcji zdjęcie SPF lub DMARC nie zostawia śladu poza nadpisanym wzorcem.

UstaleniePowagaPewnośćSkutekSubtask / alarmCo zrobić
Zniknął SPF lub DMARCdns_mail_auth_removedNormalneNiepewneDO WERYF.tak / niePotwierdź zmianę u klienta i przywróć rekord.
ARK. 4

LOOP

bez pętli
RYS. 4.1Pętla parametru — sześć etapów
TAB. 4.1Trafność, 30 dnialarmy · prawdziwe · fałszywe · bez rozstrzygnięcia

Trafnoś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.

TAB. 4.2Pętle

Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.

Blog 24/7
20.09Zastrzeżony PESEL: zmiana raz na 30 minut, blokada przy wypłaciedobreprogramy.pl20.09Fałszywe SMS-y od GITD o mandacie za autostradę wyłudzają dane kartyinstalki.pl20.09Pakiet npm indexed-btree omija blokadę skryptów instalacyjnychbleepingcomputer.com19.09SolarWinds łata CVE-2026-28326 w Access Rights Manager, zdalny kod bez logowaniathehackernews.com19.09Orkes Conductor: luka CVE-2026-58138 atakowana w sieci, poprawka w wersji 3.30.2thehackernews.com19.09Trzy luki jądra Linux w katalogu CISA KEV, Red Hat potwierdza aktywne atakithehackernews.com18.09Publiczne exploity na cztery luki jądra Linux dają lokalnie uprawnienia rootthehackernews.com18.09Brevo: skradziony klucz API Cloudflare i skrypty ClickFix na stronach klientówbleepingcomputer.com18.09WaterPlum z Korei Północnej zainfekowała 30 000 urządzeń w 100 krajachtherecord.media18.09Jedna zgoda OAuth daje napastnikowi dostęp do poczty i plików mimo MFAdarkreading.com