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.
WIKI
artykuł z 16.09.2026 · źródeł 10Rekord 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].
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].
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
pcti zamiast samej listy sufiksów publicznych wprowadza wyszukiwanie domeny organizacyjnej przez przejście drzewa DNS [2]. Dodaje flagę testowąt=yi stanowi, że przyp=noneodbiorcy 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 najmniejp=nonei 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=nonei 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 _dmarc | Wiadomość bez wyrównanego wyniku pass | Uwagi |
|---|---|---|
| brak rekordu | DMARC 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=quarantine | spam, dokładniejsza kontrola lub oznaczenie [1] | rekomendowane minimum [9] |
v=DMARC1; p=reject | odrzucenie [1] | cel BOD 18-01 [8] |
v=DMARC1; p=reject; sp=none | domena odrzuca, subdomeny bez działania [1] | słabsze subdomeny |
v=DMARC1; p=reject; pct=20 | polityka dla części wiadomości [1] | tag usunięty w RFC 9989 [2] |
v=DMARC1; p=reject; adkim=s; aspf=s w domenie bez poczty | odrzucenie [1] | razem z v=spf1 -all [9] |
- [1] RFC 7489 — Domain-based Message Authentication, Reporting, and Conformance (DMARC) · IETF
- [2] draft-ietf-dmarc-dmarcbis — status dokumentu (RFC 9989) · IETF Datatracker
- [3] RFC 9989 — Domain-Based Message Authentication, Reporting, and Conformance (DMARC) · IETF
- [4] RFC 7208 — Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 · IETF
- [5] RFC 6376 — DomainKeys Identified Mail (DKIM) Signatures · IETF
- [6] Email sender guidelines · Google Workspace Admin Help
- [7] Sender Best Practices · Yahoo
- [8] BOD 18-01 — Enhance Email and Web Security · CISA
- [9] Mechanizmy weryfikacji nadawcy wiadomości · CERT Polska
- [10] Ustawa o zwalczaniu nadużyć w komunikacji elektronicznej · CERT Polska
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 dns_integrity
- W 30 dni
- 0przebiegów
- Ostatni
- 19.09.2026start przebiegu
- Stron w przebiegach
- —33 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ść | 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 helper | sposób dns_integrity · CREATO_PING/helpers/dns_integrity_check.py |
| Testy |
|
| Typ wyniku | 0 albo 1 ustalenie dns_dmarc_missing |
| Jednostka | brak — wynik jakościowy (obecność rekordu TXT v=DMARC1 pod _dmarc) |
| Próg i reguła | Timeout 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ła | CREATO_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ó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`). 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 |
|
| Karta przepisana z | CREATO_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 |
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.
| Kod | Finding | Severity | Pewność | Skutek | Finding / alarm | Waga → ocena | Co zrobić |
|---|---|---|---|---|---|---|---|
| B25.01 | Brak rekordu DMARCdns_dmarc_missing | Niska | Ewidentne | bez wpływu | nie / nie | waga 1 → ocena 2 (zielony) | Dodaj rekord _dmarc, zaczynając od p=none z adresem raportów. |
| Kod i klucz | B25.01 · dns_dmarc_missing · w tabeli typów |
|---|---|
| Co znaczy | Brak polityki _dmarc — odbiorca nie wie, co zrobić z podszytą wiadomością. |
| Kiedy powstaje | Domena ma rekordy MX i brak TXT v=DMARC1 na _dmarc.domena (przy niepustej odpowiedzi NS). |
| Severity · pewność | Niska · Ewidentne |
| Skutek dla strony | bez wpływu · tylko statystyka (gate=false) · alarm nie |
| Waga → ocena | waga 1 → ocena 2 (zielony) |
| Klasyfikacja | CWE: CWE-290 (Authentication Bypass by Spoofing)OWASP Top 10:2025: A07:2025 Authentication FailuresOCSF 1.9.0: Compliance Finding (class_uid 2003) |
| Rekord OCSF | finding_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 |
|
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.