Blog 24/7

SPF / DKIM / DMARC (uwierzytelnianie poczty)

TAB. 1Hasłobez tłumaczenia
Po angielskuSPF / DKIM / DMARC
Którą formą pisaćbez tłumaczenia Skrót, nazwa własna albo nazwa standardu — nie tłumaczymy w ogóle.
Inne formyuwierzytelnianie poczty · mechanizmy anty-spoofingowe · ochrona domeny przed podszywaniem
KategoriaSieć i infrastruktura obronna

SPF, DKIM i DMARC to trzy uzupełniające się mechanizmy uwierzytelniania poczty elektronicznej, publikowane jako rekordy w DNS domeny nadawcy. SPF pozwala właścicielowi domeny wskazać hosty uprawnione do wysyłania poczty w jej imieniu [1]. DKIM pozwala domenie przyjąć odpowiedzialność za wiadomość przez podpis kryptograficzny, sprawdzany kluczem publicznym pobieranym z DNS [2]. DMARC łączy wyniki obu i pozwala domenie wyrazić politykę postępowania z wiadomościami, które weryfikacji nie przeszły, oraz zamówić raporty [3]. Razem utrudniają spoofing domeny w poczcie.

Jak działa

Każdy mechanizm sprawdza coś innego. SPF weryfikuje dwie tożsamości z rozmowy SMTP: adres MAIL FROM (ścieżkę zwrotną) i nazwę podaną w HELO; pyta, czy adres IP łączącego się serwera wolno mu ich używać [1]. DKIM dołącza do wiadomości podpis; znacznik d= wskazuje domenę, która bierze odpowiedzialność za wprowadzenie wiadomości do obiegu, a klucz publiczny leży w rekordzie TXT pod nazwą selektor._domainkey.domena [2]. Selektor pozwala domenie mieć kilka kluczy jednocześnie [2], co ułatwia rotację kluczy.

Żaden z tych dwóch mechanizmów nie sprawdza jednak adresu, który odbiorca widzi w polu „Od”. Robi to dopiero DMARC: wymaga, by domena z nagłówka From była zgodna (ang. alignment) z domeną uwierzytelnioną przez SPF albo DKIM [3]. Zgodność może być ścisła, gdy domeny są identyczne, albo swobodna, gdy należą do tej samej domeny organizacyjnej [3]. Politykę publikuje się w rekordzie TXT pod nazwą _dmarc.example.com [3].

Przebieg sprawdzania wiadomości przez serwer odbiorcy pokazuje schemat poniżej.

RYS. 1Weryfikacja wiadomości od example.com

Przykładowe rekordy dla domeny example.com wyglądają tak:

example.com.                     TXT "v=spf1 ip4:192.0.2.10 include:_spf.example.net -all"
s1._domainkey.example.com.       TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
_dmarc.example.com.              TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

Składniki

MechanizmCo sprawdzaGdzie w DNSNorma
SPFIP serwera wobec MAIL FROM i HELO [1]TXT domenyRFC 7208, kwiecień 2014 [1]
DKIMpodpis nagłówków i treści [2]selektor._domainkey [2]RFC 6376, wrzesień 2011 [2]
DMARCzgodność domeny From z SPF lub DKIM [3]_dmarc [3]RFC 9989, maj 2026 [3]

Wyniki SPF. Norma definiuje siedem wyników: pass, fail, softfail, neutral, none, temperror i permerror [1]. Kwalifikator przed mechanizmem wybiera wynik: + to pass (domyślny), - to fail, ~ to softfail, ? to neutral [1]. Implementacja musi ograniczyć do 10 liczbę mechanizmów i modyfikatorów wymagających zapytań DNS, żeby nie obciążać DNS [1]. Rozbudowany rekord z wieloma include: łatwo przekracza ten limit i kończy się wynikiem permerror.

Polityki DMARC. Znacznik p przyjmuje trzy wartości: none (brak preferencji), quarantine (wiadomość podejrzana) i reject (użycie nieuprawnione) [3]. RFC 9989 z maja 2026 roku zastąpił RFC 7489, podniósł DMARC do ścieżki standardów i usunął znacznik pct, który pozwalał stosować politykę tylko do części poczty [3].

DKIM nie szyfruje wiadomości i sam nie zapobiega jej modyfikacji; potwierdza jedynie, że domena podpisująca bierze za nią odpowiedzialność [2]. Opiera się na kryptografii asymetrycznej, tak jak każdy podpis cyfrowy.

W WordPressie

WordPress wysyła pocztę funkcją wp_mail(), opartą na bibliotece PHPMailer [6]. Domyślny nadawca to wordpress@ z domeną witryny [6]. Adres zmienia filtr wp_mail_from, a pełną konfigurację, na przykład wysyłkę przez zewnętrzny serwer SMTP, daje filtr phpmailer_init [6]. Dokumentacja zaznacza, że wartość true zwrócona przez funkcję nie oznacza, że wiadomość dotarła do odbiorcy [6].

Z tego wynikają typowe problemy. Formularz kontaktowy, reset hasła czy powiadomienie sklepu idą z serwera hostingu, którego adresu IP często nie ma w rekordzie SPF domeny. Jeśli domena ma politykę DMARC reject, a poczta z WordPressa nie ma ani zgodnego SPF, ani podpisu DKIM, serwery odbiorców mogą ją odrzucić. Rozwiązaniem jest wysyłka przez serwer pocztowy domeny albo usługę transakcyjną, która podpisuje wiadomości kluczem DKIM tej domeny. Wtyczki formularzy nie powinny też ustawiać w polu „Od” adresu wpisanego przez gościa, bo taka wiadomość z definicji nie przejdzie DMARC.

Nieuwierzytelniona poczta witryny to także ryzyko. Bez polityki DMARC łatwiej podszyć się pod domenę sklepu w phishingu do jego klientów albo w oszustwie BEC wobec kontrahentów.

Wymagania i przepisy

W Polsce art. 24 ust. 1 ustawy o zwalczaniu nadużyć w komunikacji elektronicznej nakłada na dostawcę poczty elektronicznej obsługującego co najmniej 500 000 użytkowników albo podmiot publiczny obowiązek stosowania SPF, DMARC i DKIM [5]. Ust. 2 zobowiązuje podmiot publiczny do korzystania z poczty wykorzystującej te mechanizmy [5]. Szerzej opisuje to hasło ustawa o zwalczaniu nadużyć w komunikacji elektronicznej.

Wymagania stawiają też duzi odbiorcy poczty. Google od 1 lutego 2024 roku wymaga od wszystkich nadawców do Gmaila SPF albo DKIM, a od nadawców ponad 5000 wiadomości dziennie SPF, DKIM i DMARC oraz zgodności domeny From z domeną SPF lub DKIM [4]. Tych samych nadawców dotyczy wymóg odsubskrybowania jednym kliknięciem w wiadomościach marketingowych [4].

Dobre praktyki

  • Zinwentaryzować wszystkie źródła poczty domeny: serwer pocztowy, hosting WordPressa, system newslettera, CRM, fakturowanie.
  • Zakończyć rekord SPF mechanizmem -all albo ~all i pilnować limitu 10 zapytań DNS [1].
  • Podpisywać DKIM każdą usługę wysyłającą w imieniu domeny i wymieniać klucze przez nowy selektor [2].
  • Opublikować DMARC z adresem raportów zbiorczych. Polityka p=none nie wyraża preferencji co do postępowania z pocztą [3], więc pozwala najpierw zebrać raporty i znaleźć pominięte źródła, a dopiero potem przejść do quarantine i reject.
  • Chronić samą strefę DNS: przejęcie DNS pozwala podmienić rekordy SPF i klucze DKIM. Integralność odpowiedzi DNS wzmacnia DNSSEC.

Mechanizmy te nie chronią przed domenami łudząco podobnymi do prawdziwej. Taki typosquatting ma własne, poprawne rekordy, więc wiadomość przejdzie weryfikację. Pozostaje uważność odbiorcy i szkolenia pracowników.

TAB. 2

Przypisy

6
  1. [1] RFC 7208: Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1 · IETF
  2. [2] RFC 6376: DomainKeys Identified Mail (DKIM) Signatures · IETF
  3. [3] RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance (DMARC) · IETF
  4. [4] Email sender guidelines — requirements for all senders and bulk senders · Google
  5. [5] Ustawa z dnia 28 lipca 2023 r. o zwalczaniu nadużyć w komunikacji elektronicznej (Dz.U. 2023 poz. 1703) · Dziennik Ustaw RP
  6. [6] wp_mail() — Function Reference · WordPress.org
TAB. 3

Hasła w tym artykule

11
TAB. 4

Linkują tutaj

13

Wszystkie kategorie → · Hasło w słowniku →

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