Blog 24/7
ARK. B25Parametr monitoringuBezpieczeństwo · lista 87 parametrów

Rekord DMARC

ważność wysokamierzonysposób dns_integrity

Czy _dmarc.domena niesie politykę reakcji na podszycie. Brak oznacza, że odbiorca nie wie, co zrobić z fałszywką.

Wpis p=none to sama obserwacja, bez ochrony — parametr mierzy obecność rekordu, nie siłę polityki.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 10

Rekord DMARC to parametr monitoringu stron internetowych, który sprawdza, czy pod nazwą _dmarc domeny opublikowany jest rekord TXT z polityką DMARC. W takim rekordzie właściciel domeny mówi odbiorcom, co zrobić z wiadomością, która podaje jego domenę jako nadawcę, ale nie przeszła uwierzytelnienia, i dokąd wysyłać raporty. Pomiar stwierdza obecność rekordu, a nie siłę polityki. DMARC uwierzytelnia domenę z pola From, wymagając, by była zgodna (wyrównana) z identyfikatorem uwierzytelnionym przez SPF lub DKIM [1].

Jak działa

Pole From jest tym, które programy pocztowe pokazują użytkownikowi jako nadawcę, dlatego jest głównym celem nadużyć [1]. SPF uwierzytelnia jednak domenę z polecenia MAIL FROM albo HELO sesji SMTP [4], a DKIM pozwala domenie przyjąć odpowiedzialność za wiadomość przez podpis kryptograficzny, którego klucz publiczny odbiorca pobiera z DNS domeny podpisującej [5]. Ważny podpis może pochodzić z dowolnej domeny, także atakującego, więc sam podpis nie dowodzi autentyczności nadawcy z pola From [1].

Odbiorca musi zapytać DNS o rekord TXT DMARC dla domeny z pola From, a gdy go nie znajdzie — dla domeny organizacyjnej [1]. Pierwszym tagiem rekordu musi być v=DMARC1 [1]. Wiadomość przechodzi DMARC, jeśli co najmniej jeden mechanizm daje wynik pass dla identyfikatora wyrównanego z domeną From [1]. Tagi adkim i aspf wybierają tryb ścisły albo swobodny; w swobodnym wystarczy, że obie domeny mają tę samą domenę organizacyjną [1].

RYS. 1.1Sprawdzenie DMARC i raport

Tag p określa politykę. Wartość none oznacza, że właściciel nie prosi o żadne działanie; quarantine — że wiadomość, która nie przejdzie DMARC, ma być traktowana jako podejrzana, np. trafić do spamu albo zostać oznaczona; reject — że ma zostać odrzucona [1]. Tag sp ustala politykę dla subdomen, a pct odsetek wiadomości, do których polityka ma być stosowana [1]. Tag rua wskazuje adresy raportów zbiorczych, ruf — raportów o pojedynczych porażkach, a ri odstęp między raportami zbiorczymi, domyślnie 86400 sekund [1]. Odbiorca powinien starać się stosować politykę, ale wolno mu od niej odstąpić [1].

RYS. 1.2Decyzja odbiorcy wg DMARC

Standardy i specyfikacje

  • RFC 7489 (marzec 2015) opisuje DMARC: wyrównanie, politykę, wyszukiwanie rekordu i raporty. Dokument ma status informacyjny i nie należy do ścieżki standardów [1].
  • DMARCbis, czyli projekt grupy roboczej IETF, został w maju 2026 r. opublikowany jako RFC 9989 o statusie Proposed Standard; zastępuje RFC 7489 i RFC 9091 [2]. Usuwa tag pct i zamiast samej listy sufiksów publicznych wprowadza wyszukiwanie domeny organizacyjnej przez przejście drzewa DNS [2]. Dodaje flagę testową t=y i stanowi, że przy p=none odbiorcy nie mogą zmieniać dotychczasowej obsługi poczty [3].
  • RFC 7208 i RFC 6376 definiują SPF i DKIM, na których wynikach opiera się DMARC [4] [5].
  • Google od 1 lutego 2024 r. wymaga od nadawców ponad 5000 wiadomości dziennie do kont Gmail DMARC oraz wyrównania domeny From z domeną SPF albo DKIM; polityka może mieć wartość none [6]. Yahoo wymaga od nadawców masowych ważnej polityki co najmniej p=none i wyniku pass DMARC [7].
  • CISA BOD 18-01 z 16 października 2017 r. nakazała agencjom federalnym USA w ciągu 90 dni publikację SPF i DMARC co najmniej z p=none i adresem raportów, a w ciągu roku — politykę reject [8].
  • Ustawa o zwalczaniu nadużyć w komunikacji elektronicznej wymusza na dostawcach poczty dla co najmniej 500 000 użytkowników albo dla podmiotu publicznego stosowanie SPF, DMARC i DKIM [10].

Zagrożenia i skutki

Brak rekordu. Gdy odbiorca nie znajdzie rekordu, nie powinien stosować mechanizmu DMARC [1]. O losie podszytej wiadomości decydują wtedy osobne wyniki SPF i DKIM oraz lokalne reguły odbiorcy, a SPF samodzielnie nie sprawdza pola From widocznego w programie pocztowym [9].

Dlaczego p=none nie chroni. Według RFC 7489 polityka none służy zbieraniu raportów bez wpływu na dotychczasową obsługę poczty [1], a RFC 9989 nazywa taki stan trybem monitorowania, w którym właściciel nie wyraża preferencji co do wiadomości niespełniających DMARC [3]. CISA wprost zaznacza, że p=none nie opóźnia ani nie zatrzymuje doręczenia nieuwierzytelnionej poczty i powinien być stanem przejściowym; dopiero reject całkowicie blokuje jej doręczenie [8]. Wymagania Google i Yahoo akceptują p=none [6] [7], więc spełnienie ich nie oznacza, że domena jest chroniona przed podszyciem. CERT Polska rekomenduje quarantine albo reject z włączonymi raportami [9].

Granice mechanizmu. DMARC nie rozwiązuje wszystkich problemów z fałszywą pocztą: nie obejmuje domen łudząco podobnych ani nadużyć nazwy wyświetlanej przy adresie [1].

Subdomeny i odstępstwa. Polityka sp może złagodzić ochronę subdomen względem domeny głównej [1], a odbiorca może z własnych powodów nie zastosować polityki [1].

Przykłady

Rekord w _dmarcWiadomość bez wyrównanego wyniku passUwagi
brak rekorduDMARC nie jest stosowany [1]decydują SPF, DKIM i reguły lokalne
v=DMARC1; p=none; rua=mailto:…obsługa bez zmian [3]tylko raporty [1]
v=DMARC1; p=quarantinespam, dokładniejsza kontrola lub oznaczenie [1]rekomendowane minimum [9]
v=DMARC1; p=rejectodrzucenie [1]cel BOD 18-01 [8]
v=DMARC1; p=reject; sp=nonedomena odrzuca, subdomeny bez działania [1]słabsze subdomeny
v=DMARC1; p=reject; pct=20polityka dla części wiadomości [1]tag usunięty w RFC 9989 [2]
v=DMARC1; p=reject; adkim=s; aspf=s w domenie bez pocztyodrzucenie [1]razem z v=spf1 -all [9]
TAB. 1.1Przypisy10
  1. [1] RFC 7489 — Domain-based Message Authentication, Reporting, and Conformance (DMARC) · IETF
  2. [2] draft-ietf-dmarc-dmarcbis — status dokumentu (RFC 9989) · IETF Datatracker
  3. [3] RFC 9989 — Domain-Based Message Authentication, Reporting, and Conformance (DMARC) · IETF
  4. [4] RFC 7208 — Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 · IETF
  5. [5] RFC 6376 — DomainKeys Identified Mail (DKIM) Signatures · IETF
  6. [6] Email sender guidelines · Google Workspace Admin Help
  7. [7] Sender Best Practices · Yahoo
  8. [8] BOD 18-01 — Enhance Email and Web Security · CISA
  9. [9] Mechanizmy weryfikacji nadawcy wiadomości · CERT Polska
  10. [10] 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
0przebiegów
Ostatni
19.09.2026start przebiegu
Stron w przebiegach
—33 przebiegów bez liczby stron
ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 22.09.2026

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

RYS. 3.1Droga parametru przez system: Rekord DMARC
TAB. 3.1Pomiarpliki: 6
Obszar i ważnośćBezpieczeństwo · wysoka (B25)
Workflow i częstotliwośćcreato_ping_security_v2 · P3 działa na LAB247Skaner 2.0, rytm „p3” / „bezpieczenstwo”: premium co 6 h, reszta co 24 h (tier 1–3), co 9 dni (tier 4) · 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; domena bez rekordu A pominięta na wstępie.
  2. Zapytanie TXT o _dmarc.domena razem z NS, MX i TXT domeny; do 20 domen naraz.
  3. DMARC = pierwszy rekord TXT zaczynający się od v=DMARC1; tagi p, sp, pct, rua i ruf nie są czytane.
  4. Reguła działa tylko przy niepustej odpowiedzi NS i co najmniej jednym rekordzie MX.
  5. Pytana jest wyłącznie nazwa _dmarc przed nazwą z listy stron — bez przejścia do domeny organizacyjnej.
Typ wyniku0 albo 1 ustalenie dns_dmarc_missing
Jednostkabrak — wynik jakościowy (obecność rekordu TXT v=DMARC1 pod _dmarc)
Próg i regułaTimeout 5,0 s na zapytanie. Reguła: MX niepusty i brak TXT v=DMARC1 = dns_dmarc_missing; rekord z p=none = ok.
Gdzie leżą pokrętłaCREATO_PING/helpers/dns_integrity_check.py → _LIFETIME, _pick, missing_findingsCREATO_PING/helpers/security_runner.py → do_writera (bramka gate z polityki; sito powagi zniknęło 18.09)CREATO_PING/config/incident_policy.toml → [finding] dns_dmarc_missing
Retencja odczytówSurowy 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`). Do LAB247 ten kanał nie idzie (do bazy serwisu jadą dziś tylko sprawdzenia dostępności), więc poza odczytem zostaje werdykt w tabeli `werdykty` i sprawa w tabeli `sprawy`.
Znane rozbieżności
  1. Subdomena z własnym MX, gdy polityka DMARC stoi tylko w domenie organizacyjnej, dostaje fałszywe ustalenie — RFC 7489 każe odbiorcy sięgnąć do domeny organizacyjnej.
  2. Polityka nie jest czytana: poza p=none przechodzą też sp=none i rekord z błędną wartością po v=DMARC1.
  3. Brak trzeciego stanu: timeout albo błąd zapytania TXT daje „brak DMARC”.
  4. Pusty rekord MX liczy się jako istniejący MX, więc domena deklarująca brak poczty dostaje ustalenie.
  5. Reguła opiera się na RFC 7489, a od maja 2026 obowiązuje RFC 9989 (DMARCbis): bez tagu pct, z nowym wyszukiwaniem domeny organizacyjnej.
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/skaner/klasyfikacja.py · CREATO_PING/skaner/usterki.toml · CREATO_PING/skaner/ocena.py · odczyt 22.09.2026
TAB. 3.2Co oznacza failtypów Findingów: 1

dns_dmarc_missing: bramka polityki zamknięta (gate=false) — zostaje odczyt i werdykt „bez_subtaska” w bazie skanera, sprawa nie powstaje, więc usterka „Brak rekordu DMARC przy działającej poczcie” (waga 1) nie wchodzi do wskaźnika strony. Zniknięcie rekordu, który wcześniej był, to osobna usterka `dns_mail_auth_removed` o wadze 3 — patrz parametr Wzorzec uwierzytelniania poczty.

KodFindingSeverityPewnośćSkutekFinding / alarmWaga → ocenaCo zrobić
B25.01Brak rekordu DMARCdns_dmarc_missingNiskaEwidentnebez wpływunie / niewaga 1 → ocena 2 (zielony)Dodaj rekord _dmarc, zaczynając od p=none z adresem raportów.
TAB. 3.3B25.01 · Brak rekordu DMARCwersja 1 · 01.10.2026
Kod i kluczB25.01 · dns_dmarc_missing · w tabeli typów
Co znaczyBrak polityki _dmarc — odbiorca nie wie, co zrobić z podszytą wiadomością.
Kiedy powstajeDomena ma rekordy MX i brak TXT v=DMARC1 na _dmarc.domena (przy niepustej odpowiedzi NS).
Severity · pewnośćNiska · Ewidentne
Skutek dla stronybez wpływu · tylko statystyka (gate=false) · alarm nie
Waga → ocenawaga 1 → ocena 2 (zielony)
KlasyfikacjaCWE: CWE-290 (Authentication Bypass by Spoofing)OWASP Top 10:2025: A07:2025 Authentication FailuresOCSF 1.9.0: Compliance Finding (class_uid 2003)
Rekord OCSFfinding_info.analytic.uid = "B25.01" · analytic.name = "dns_dmarc_missing" · finding_info.types = ["B25 Rekord DMARC"]
Co zrobićDodaj rekord _dmarc, zaczynając od p=none z adresem raportów.
Wersje typu
  1. v1 · 01.10.2026 — kod B25.01 nadany (finding-codes.ts)
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
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com