SPF, DKIM i DMARC: kontrole, polityki i ograniczenia

Management Summary
Kontrole nadawcy ograniczają pocztę podszywającą się pod domenę firmy, czyli nazwę po znaku @. SPF sprawdza dozwolone źródła wysyłki, DKIM podpis elektroniczny, a DMARC powiązanie tych kontroli z widocznym nadawcą. Artykuł wyjaśnia współpracę mechanizmów chroniących firmową tożsamość pocztową. Nie potwierdzają one bezpieczeństwa treści. Wszystkie uprawnione usługi wysyłkowe muszą być uwzględnione, aby ostrzejsze reguły nie blokowały prawidłowej korespondencji biznesowej.
Przejdź do interaktywnego przykładu ↓
Spis treści
Widoczny adres nadawcy wiadomości e-mail można sfałszować. SPF, DKIM i DMARC pomagają sprawdzić użyte domeny. Poprawne uwierzytelnienie nie dowodzi jednak bezpieczeństwa treści ani tożsamości konkretnej osoby.
SPF sprawdza uprawnienie adresu IP do wysyłki, DKIM sprawdza podpis cyfrowy, a DMARC dodatkowo powiązanie z widoczną domeną nadawcy. O przyjęciu, filtrowaniu lub odrzuceniu wiadomości decyduje system odbiorczy. Wynik SPF fail może uzasadniać odrzucenie również bez DMARC.

SPF: czy adres IP pasuje do domeny koperty?
SMTP używa technicznego adresu koperty (MAIL FROM) obok widocznego nagłówka From. SPF zwykle sprawdza domenę koperty; przy pustym nadawcy koperty podstawą jest domena HELO. Sam wynik SPF pass nie uwierzytelnia więc widocznej domeny From.
Rekord DNS opisuje dozwolone źródła wysyłki. Dla pozostałych źródeł -all daje wynik fail, a ~all wynik softfail. Fail oznacza brak uprawnienia według danej reguły SPF, a nie pewny dowód fałszerstwa: także legalne przekazanie poczty może spowodować błąd SPF. Istnieją również wyniki neutral, none oraz błędy tymczasowe i trwałe.
Limit dziesięciu dotyczy ocenianych elementów SPF
Łącznie można ocenić najwyżej dziesięć elementów wywołujących zapytania DNS: include, a, mx, ptr, exists i redirect, wraz z zagnieżdżonymi sprawdzeniami. Nie jest to ogólny limit dziesięciu pakietów DNS. Dla niektórych zapytań obowiązują dodatkowe ograniczenia.
ip4, ip6 i all nie zużywają tego limitu. Wcześniejsze dopasowanie kończy ocenę, więc późniejsze odwołania nie są liczone. Przekroczenie limitu daje permerror dla konkretnego sprawdzenia. Zmiana u zewnętrznego dostawcy wysyłki może wywołać taki błąd, ale nie musi unieważniać każdej możliwej ścieżki oceny.

DKIM chroni podpisane części, nie każdy bajt
System wysyłający podpisuje wiadomość kluczem prywatnym. Odbiorca sprawdza podpis publicznym kluczem z DNS. Ochrona obejmuje podpisane nagłówki i objętą podpisem treść po określonej normalizacji. Wybrane reguły mogą pomijać niektóre różnice formatowania, na przykład zmiany części odstępów. Podpis może obejmować nawet tylko część treści. DKIM pass nie oznacza zatem, że każdy znak całej wiadomości pozostał niezmieniony.
Dla RSA dokument RFC 8301 wymaga co najmniej 1024 bitów i zaleca co najmniej 2048 bitów. Klucz 1024-bitowy nie jest według tej normy automatycznie nieważny, ale dla nowych konfiguracji RSA lepszą podstawą jest 2048 bitów. Ed25519 używa innych długości kluczy; bezpośrednie porównanie liczb z RSA byłoby mylące.
Długi klucz może zajmować jeden rekord TXT zawierający kilka ciągów po najwyżej 255 bajtów. Kilka ciągów w jednym rekordzie nie oznacza kilku osobnych rekordów TXT. Interfejs dostawcy DNS może automatycznie obsłużyć ten podział.
Właściwy selektor znajduje się jako s= w rzeczywistym nagłówku DKIM-Signature; d= wskazuje domenę podpisującą. Nazwa DNS ma postać selektor._domainkey.domena. Zgadywanie popularnych selektorów nie zastępuje tego sprawdzenia. Brak wyniku oznacza wyłącznie brak klucza pod sprawdzonymi nazwami.
DMARC wiąże uwierzytelnienie z widoczną domeną From
DMARC przechodzi, gdy co najmniej jeden poprawny wynik SPF lub DKIM jest zgodny z widoczną domeną From. Ta zgodność to alignment. Tryb ścisły wymaga identycznych domen; tryb łagodny wymaga tej samej domeny organizacyjnej zgodnie z zasadami wykrywania domen DMARC. Podobieństwo nazw domen nie wystarcza.
p=none: brak żądania szczególnego traktowania na podstawie opublikowanej polityki DMARC.p=quarantine: wiadomości z niepoprawnym wynikiem DMARC powinny być traktowane jako podejrzane.p=reject: żądanie odrzucenia takich wiadomości.
Żadne ustawienie nie gwarantuje dostarczenia ani odrzucenia. Decydują lokalne reguły filtrowania. Żądanie raportów zbiorczych wymaga odpowiedniego adresu rua; samo p=none nie konfiguruje odbioru raportów. Nawet poprawny adres nie gwarantuje raportów od każdego systemu odbiorczego.
Rozsądne wdrożenie zaczyna się od spisu usług wysyłkowych oraz reprezentatywnych testów i raportów. Dotyczy to również faktur miesięcznych i rzadko używanych ścieżek. Następnie można dobrać bardziej rygorystyczną politykę. Protokół nie narzuca konkretnej liczby tygodni ani obowiązkowego etapu quarantine.
Co rzeczywiście pokazuje sprawdzenie DNS?
Kontroler uwierzytelniania poczty przedstawia stan rekordów DNS. Obecny licznik SPF analizuje odwołania statycznie zamiast symulować konkretną wiadomość i wysyłający adres IP. Rekordy MX nie dowodzą dostępności SMTP. Dla subdomeny może obowiązywać nadrzędna polityka DMARC, dlatego brak bezpośredniego rekordu nie dowodzi braku polityki.
Wiarygodny test wysyłki wymaga dodatkowo wiadomości z każdego legalnego systemu oraz wyników uwierzytelnienia w zaufanym systemie odbiorczym. Jednorazowy odczyt DNS nie przewidzi, czy każda sfałszowana wiadomość zostanie odrzucona.
Pytania i odpowiedzi
Dlaczego SPF może przejść, a DMARC nie?
Usługa wysyłkowa może przejść SPF dla domeny koperty, podczas gdy widoczny nagłówek From zawiera inną domenę. Bez alignment taki wynik SPF nie liczy się dla DMARC. Poprawny, zgodny podpis DKIM nadal może zapewnić wynik DMARC pass.
Co dzieje się przy przekazywaniu poczty?
Inny łączący się adres IP może spowodować niepowodzenie SPF. DKIM może pozostać poprawny, jeśli podpisane części nie zmienią się po zastosowaniu właściwej normalizacji. Modyfikacje list dyskusyjnych mogą naruszyć podpis. Zgodny DKIM zwiększa odporność, ale nie zastępuje testów rzeczywistych ścieżek dostarczania.
Jak zabezpieczyć domenę bez wysyłki poczty?
Po sprawdzeniu wszystkich aplikacji i subdomen odpowiednie mogą być v=spf1 -all oraz polityka DMARC reject. Nie jest to rozwiązanie bezwarunkowo pozbawione ryzyka: zapomniane systemy wysyłkowe mogą zostać dotknięte zmianą. SPF nie jest ogólnie dziedziczony przez subdomeny. Null MX dodatkowo oznacza brak przyjmowania poczty; brak wysyłki i brak odbioru to różne właściwości.
Źródła
RFC 9989 zastąpił RFC 7489 w maju 2026 r.; raporty zbiorcze opisuje RFC 9990.
Zrozum przez eksperyment
SPF poprawny. Ale czy DMARC też?
From pozostaje shop.example.com. Zmień wyniki i domeny, aby zobaczyć, czy co najmniej jedna poprawna ścieżka jest też zgodna.
From: shop.example.com
Stałe przykładowe domeny, jeden podpis DKIM, zwykłe przypadki SPF pass/fail. Bez zapytań DNS i wysyłania poczty. Zgodność domen i uwierzytelnienie są odrębne. Żądana polityka nie zastępuje decyzji odbiorcy ani nie gwarantuje folderu odebrane.
Ten moduł działa w przeglądarce i nie wysyła ani nie zapisuje wpisanych danych.
Zrozum przez eksperyment
Jedna minuta: znajdziesz błąd?
From: shop.example.com. SPF poprawny dla mail.example.net, DKIM błędny. Czy DMARC przechodzi?
Poprawny SPF dotyczy innej domeny organizacyjnej i nie jest zgodny z From. Bez poprawnej, zgodnej ścieżki DKIM daje to DMARC fail. p=none zmienia żądaną obsługę, nie wynik testu.