SPF, DKIM i DMARC to trzy rekordy DNS, które rozstrzygają dwie kwestie: czy wysyłane przez Ciebie e-maile trafiają do skrzynki odbiorczej i czy ktoś inny może wysyłać wiadomości, które wyglądają, jakby pochodziły od Ciebie. Gmail, Yahoo i Outlook.com wymagają dziś wszystkich trzech od każdego, kto prowadzi wysyłkę masową, a wiadomości bez nich częściej trafiają do spamu także u pozostałych nadawców.
Rekordy są krótkie, ale łatwo popełnić w nich subtelny błąd, a do tego psują się bez ostrzeżenia, gdy nowe narzędzie zaczyna wysyłać pocztę w Twoim imieniu. Z tego poradnika dowiesz się, co robi każdy z nich, jak skonfigurować je we właściwej kolejności i jak utrzymać je w dobrym stanie.
Jak to wszystko się łączy
Każdy e-mail ma dwa adresy nadawcy: nadawcę koperty, którego serwery pocztowe używają do zwracania odbić, oraz adres From widoczny dla odbiorcy. Oszuści wykorzystują lukę między nimi: każdy może wpisać dowolny adres From. Te trzy rekordy zamykają tę lukę.
SPF (Sender Policy Framework) wskazuje serwery, które mogą wysyłać pocztę w imieniu Twojej domeny.
DKIM (DomainKeys Identified Mail) dodaje do każdej wiadomości podpis kryptograficzny, który odbiorcy weryfikują za pomocą klucza publicznego w Twoim DNS.
DMARC (Domain-based Message Authentication, Reporting and Conformance) wiąże je z widocznym adresem From i mówi odbiorcom, co zrobić z pocztą, która nie przejdzie weryfikacji.
SPF: kto może wysyłać
Rekord SPF to rekord TXT w Twojej domenie. Wymienia usługi i serwery, które wysyłają za Ciebie pocztę, a na końcu określa, co zrobić z całą resztą:
example.com. TXT „v=spf1 include:_spf.google.com include:sendgrid.net ip4:203.0.113.25 ~all”
include: dołącza rekord SPF innej domeny – to standardowy sposób na dopuszczenie usługi pocztowej.
ip4: i ip6: dopuszczają konkretne adresy, na przykład Twojego własnego serwera pocztowego.
~all (soft fail) lub -all (fail) określa, co dzieje się z wszystkimi spoza listy. Nigdy nie używaj +all, które dopuszcza cały internet.
Na dwóch zasadach potyka się większość domen:
Tylko jeden rekord. Domena musi mieć dokładnie jeden rekord SPF. Gdy są dwa, odbiorcy zwracają błąd trwały i SPF nie przechodzi dla żadnej wiadomości. Gdy nowa usługa każe Ci „dodać ten rekord SPF”, dopisz jej include do istniejącego rekordu.
Najwyżej 10 zapytań DNS. Każde include, a, mx i redirect to jedno zapytanie, a include zagnieżdżone w innych include też się liczą. Powyżej 10 SPF nie przechodzi. Rekord z Google Workspace, narzędziem do newsletterów, CRM-em i helpdeskiem może przekroczyć limit, zanim ktokolwiek to zauważy.
SPF ma słaby punkt: sprawdza nadawcę koperty, a nie adres From widoczny dla odbiorcy, i przestaje działać, gdy poczta jest przekazywana dalej. Dlatego sam w sobie nie wystarcza.
DKIM: podpis na każdej wiadomości
W DKIM Twoja usługa pocztowa podpisuje każdą wiadomość kluczem prywatnym. Klucz publiczny znajduje się w DNS, pod nazwą zwaną selektorem:
google._domainkey.example.com. TXT „v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOC…”
Odbiorca odczytuje selektor z nagłówka DKIM-Signature wiadomości, pobiera klucz i sprawdza, czy wiadomość nie została zmieniona po drodze. Podpis DKIM przetrwa przekazanie dalej, dlatego jest bardziej niezawodny z tej dwójki.
Każda usługa, która wysyła za Ciebie pocztę, wymaga osobnej konfiguracji DKIM – zwykle w ustawieniach administracyjnych, w sekcji „authentication” lub „verified domain”. Używaj kluczy 2048-bitowych, jeśli usługa je oferuje; klucze 1024-bitowe nadal działają, ale to minimum, a krótsze są odrzucane. Gdy usługa rotuje klucze, nowy selektor musi pojawić się w Twoim DNS, zanim zacznie być używany, inaczej podpisy nie przejdą weryfikacji.
DMARC: powiązanie z adresem From
DMARC to rekord TXT pod _dmarc w Twojej domenie:
_dmarc.example.com. TXT „v=DMARC1; p=none; rua=mailto:dmarc@example.com”
Robi dwie rzeczy, których SPF i DKIM nie potrafią same.
Po pierwsze wymaga zgodności (alignment). Wiadomość przechodzi DMARC tylko wtedy, gdy SPF lub DKIM przechodzi dla tej samej domeny co widoczny adres From. Newsletter wysłany przez usługę, która podpisuje wiadomości własną domeną, przechodzi DKIM, ale nie dla Twojej domeny, więc nie przechodzi DMARC. Dlatego każda usługa musi podpisywać pocztę Twoją domeną.
Po drugie ustala politykę dla poczty, która nie przejdzie weryfikacji:
p=none: dostarcz jak zwykle. Nic się nie zmienia, ale odbiorcy mogą przysyłać Ci raporty.
p=quarantine: przenieś do spamu.
p=reject: odrzuć.
Znacznik rua prosi odbiorców o wysyłanie codziennych raportów zbiorczych na wybrany przez Ciebie adres. Pokazują one, które serwery wysyłały pocztę jako Twoja domena i czy przeszła weryfikację – dzięki nim znajdziesz nadawców, o których zapomniałeś.
Konfiguruj we właściwej kolejności
Przejście od razu na p=reject to klasyczny sposób, by Twoje własne faktury czy linki do resetu hasła przestały docierać. Rób to etapami:
Spisz wszystko, co wysyła pocztę jako Twoja domena. Dostawcę skrzynek, narzędzie do newsletterów, CRM, helpdesk, system rezerwacji, platformę e-commerce, formularz kontaktowy na stronie i każdy serwer wysyłający powiadomienia.
Skonfiguruj DKIM w każdej z tych usług z użyciem własnej domeny, zgodnie z instrukcjami danej usługi.
Zbuduj jeden rekord SPF z usługami, które go potrzebują, poniżej 10 zapytań, zakończony ~all.
Opublikuj DMARC z p=none i adresem rua, a potem zostaw go na dwa do czterech tygodni.
Napraw każdego prawowitego nadawcę, który nie przechodzi weryfikacji – zwykle jest to usługa, która wciąż podpisuje pocztę własną domeną.
Przejdź na p=quarantine, opcjonalnie z pct=25, by zacząć od jednej czwartej niezweryfikowanej poczty, a potem na p=reject, gdy żaden prawowity nadawca już nie odpada.
Domeny, które nigdy nie wysyłają poczty, również wymagają ochrony, bo łatwo się pod nie podszyć. Daj im rekordy, które to jasno mówią:
example.org. TXT „v=spf1 -all”
_dmarc.example.org. TXT „v=DMARC1; p=reject”
Błędy, które po cichu psują pocztę
Drugi rekord SPF dodany dla nowej usługi zamiast include w pierwszym.
Rekord SPF, który po dodaniu kolejnego narzędzia przekroczył 10 zapytań.
Newsletter lub CRM wysyłający pocztę z własną domeną DKIM, przez co DMARC nie przechodzi mimo poprawnego podpisu.
Klucz DKIM zrotowany u dostawcy, ale nigdy nieopublikowany w DNS.
Rekord DMARC z literówką, np. p=rejected, który odbiorcy ignorują.
Przejście na p=reject przed sprawdzeniem, czy każdy nadawca przechodzi weryfikację.
Zmieniony rekord MX lub serwer pocztowy, który trafia na czarną listę – to szkodzi dostarczalności niezależnie od rekordów.
Żaden z tych błędów nie wyświetla komunikatu, który byś zobaczył. Poczta po prostu zaczyna trafiać do spamu, a Ty dowiadujesz się o tym kilka tygodni później, gdy klient mówi, że nigdy nie dostał faktury.
Sprawdź swoje rekordy
Możesz sprawdzić swoją domenę od razu w naszym darmowym narzędziu do sprawdzania SPF, DKIM i DMARC. Odczytuje rekordy z DNS, liczy zapytania SPF, szuka kluczy DKIM pod popularnymi selektorami i wyjaśnia, co poprawić, podając rekord do wklejenia.
Rekordy poprawne dziś psują się, gdy ktoś w przyszłym miesiącu doda nową usługę. Monitorowanie uwierzytelniania poczty w Uptimecheck sprawdza SPF, DKIM i DMARC w Twoich monitorach domen dwa razy dziennie, wyjaśnia każdy problem prostym językiem, podaje rekord DNS, który go naprawia, i wysyła alert tylko wtedy, gdy pojawi się nowy problem. Sprawdza też, czy serwery pocztowe, które prowadzisz samodzielnie, nie trafiły na czarne listy, więc wpis na taką listę nie przejdzie niezauważony. Dodaj je do monitorowania domen, które już teraz ostrzega Cię, zanim wygaśnie sama domena.
Lista kontrolna
Spisz każdą usługę, która wysyła pocztę jako Twoja domena.
W każdej z nich skonfiguruj DKIM z własną domeną, w miarę możliwości z kluczem 2048-bitowym.
Utrzymuj jeden rekord SPF, poniżej 10 zapytań, zakończony ~all lub -all.
Opublikuj DMARC z p=none i adresem do raportów.
Napraw każdego prawowitego nadawcę bez zgodności (alignment).
Przejdź na p=quarantine, a potem na p=reject.
Chroń domeny, które nie wysyłają poczty, rekordami v=spf1 -all i p=reject.
Sprawdzaj rekordy regularnie i za każdym razem, gdy nowe narzędzie zaczyna wysyłać za Ciebie pocztę.