Przejdź do treści
Porównanie

SPF vs DKIM vs DMARC - trzy warstwy uwierzytelniania poczty firmowej

SPF, DKIM i DMARC to trzy uzupełniające się standardy uwierzytelniania poczty (RFC 7208, 6376, 7489). SPF mówi, które serwery mogą wysyłać pocztę z waszej domeny. DKIM kryptograficznie podpisuje wiadomości. DMARC łączy obie warstwy i mówi serwerowi odbierającemu, co zrobić z wiadomościami, które nie przechodzą kontroli. Bez wszystkich trzech w polityce reject każdy może wysłać fałszywy mail z waszej domeny.

Tabela porównawcza

Kryterium SPFDKIMDMARC
Co robi Lista IP-ów uprawnionych do wysyłania z waszej domenyKryptograficzny podpis każdej wiadomości kluczem z DNSPolityka egzekwowania + mechanizm raportowania niezgodności
Lokalizacja Rekord DNS TXT na waszej domenie głównejRekord DNS TXT na selector._domainkey.wasza-domena.plRekord DNS TXT na _dmarc.wasza-domena.pl
Co sprawdza odbiorca Czy IP nadawcy jest na liścieCzy podpis kryptograficzny zgadza się z kluczem z DNSCzy SPF lub DKIM przechodzą i są zgodne z domeną w From
Co się dzieje przy niezgodności Sam SPF nie egzekwuje - mówi tylko 'fail' lub 'softfail'Sam DKIM nie egzekwuje - mówi 'fail'DMARC decyduje: nic nie rób / kwarantanna / odrzuć
Trudność konfiguracji Łatwa - 1 rekord DNS, lista dostawcówŚrednia - generacja klucza, konfiguracja u dostawcy pocztyŚrednia - rekord DNS + system zbierający raporty XML
Standard RFC 7208RFC 6376RFC 7489
Czas wdrożenia 30 minut - 2 godziny1-3 godziny (zależnie od dostawcy)30 minut konfiguracji + 4-8 tygodni obserwacji

Co robi każdy z trzech

SPF (RFC 7208). Rekord DNS typu TXT na waszej domenie, mówiący “tylko te serwery mogą wysyłać pocztę z @wasza-domena.pl.” Przykład: v=spf1 include:_spf.google.com include:sendgrid.net ~all. Odbiorca sprawdza, czy IP nadawcy mieści się w tej liście. Jeśli nie - sam SPF nie blokuje, tylko zwraca wynik “fail” lub “softfail” do warstwy DMARC.

DKIM (RFC 6376). Dostawca poczty podpisuje każdą wychodzącą wiadomość kluczem prywatnym. Klucz publiczny jest opublikowany w DNS pod selector._domainkey.wasza-domena.pl. Odbiorca pobiera klucz publiczny, weryfikuje podpis. Jeśli wiadomość była modyfikowana po wysłaniu - podpis się nie zgadza, DKIM zwraca “fail.”

DMARC (RFC 7489). Polityka egzekwowania + raportowanie. Mówi serwerowi odbierającemu: “Jeśli ani SPF ani DKIM nie zgadzają się z domeną w polu From, [nic nie rób / przenieś do spamu / odrzuć].” Dodatkowo wysyła wam raporty XML o każdej wiadomości próbowanej z waszej domeny - widzicie, kto się pod was podszywa.

Dlaczego potrzebne są wszystkie trzy

SPF jeden ma dwie luki: nie chroni przed forwardingiem (przekierowanie maila zmienia IP nadawcy, SPF fails) i nie egzekwuje samodzielnie. DKIM chroni przed modyfikacją treści, ale nie mówi odbiorcy co robić przy fail. Dopiero DMARC łączy obie warstwy i wymusza politykę.

Razem: nikt nie może wysłać legitymnego maila “od was” bez dostępu do waszej infrastruktury. To zamyka główny wektor BEC.

Procedura wdrożenia

Krok 1 - SPF. Inwentaryzacja: kto wysyła pocztę z waszej domeny? Google Workspace / Microsoft 365 / SendGrid / Mailgun / Brevo / system księgowy wysyłający faktury / hosting strony. Każdy dostawca ma własny include w SPF. Skonfigurujcie rekord, zostawiając ~all (softfail) na start.

Krok 2 - DKIM. Włączcie u głównego dostawcy poczty (Google Workspace lub Microsoft 365). Wygeneruje klucz, daje wam wartość do dodania do DNS. Zapisanie rekordu zajmuje 5 minut, propagacja 1-24h.

Krok 3 - DMARC w p=none. Dodajcie rekord _dmarc.wasza-domena.pl z v=DMARC1; p=none; rua=mailto:raporty@wasza-domena.pl; ruf=mailto:raporty@wasza-domena.pl; pct=100. To NIE egzekwuje - tylko zbiera raporty.

Krok 4 - Analiza raportów (4-8 tygodni). Czytajcie cotygodniowe XML-e (lub używajcie narzędzia jak dmarcian / Postmark DMARC). Zidentyfikujcie wszystkich legitymnych nadawców. Naprawcie tych, którzy nie przechodzą SPF/DKIM.

Krok 5 - p=quarantine. Gdy 100% legitymnego ruchu przechodzi, przejdźcie na p=quarantine. Sfałszowane wiadomości trafiają do spamu odbiorcy.

Krok 6 - p=reject. Po dodatkowym miesiącu - finalna polityka. Sfałszowane wiadomości są odrzucane przez serwer odbierający, nawet nie docierają do spam.

Cała procedura - 2-3 miesiące. Większość pracy to monitoring i poprawki w pierwszych 8 tygodniach.

Najczęstszy błąd

Skok od razu na p=reject bez fazy raportów. Konsekwencja: pierwszy mail z nowego dostawcy (np. nowy mailing produkcyjny przez SendGrid) jest natychmiast odrzucany. Klient go nie dostaje, wy nie wiecie, że problem występuje, dopóki ktoś nie zadzwoni z pytaniem “dlaczego nie dostałem faktury.”

Cierpliwość 4-8 tygodni w p=none jest tańsza niż jeden klient nie dostający krytycznej wiadomości.

Powiązane