Jak skonfigurować SPF, DKIM i DMARC

Praktyczny przewodnik po uwierzytelnianiu własnej domeny: opublikuj SPF, DKIM i DMARC we właściwej kolejności, utrzymaj wysyłające adresy IP z dala od list blokujących i sprawdź, że każda warstwa naprawdę przechodzi.

To praktyczny przewodnik konfiguracji: jak opublikować SPF, DKIM i DMARC dla domeny, z której Ty wysyłasz pocztę, jak utrzymać wysyłające adresy IP z dala od list blokujących RBL i jak sprawdzić, że wszystko naprawdę działa. Jeśli najpierw chcesz poznać prostą teorię, czym jest każdy z mechanizmów, przeczytaj dowolny ogólny elementarz „jak działa uwierzytelnianie poczty” — tutaj skupiamy się na rekordach, które tworzysz, na kolejności ich wdrażania i na błędach, które psują prawdziwą pocztę.

Zanim zaczniesz, przygotuj dwie rzeczy:
  • Dostęp do strefy DNS swojej domeny (gdzie dodajesz rekordy TXT) — zwykle u rejestratora lub dostawcy DNS.
  • Spisaną listę każdej usługi, która wysyła pocztę jako Twoja domena: dostawcy skrzynek (Google Workspace, Microsoft 365…), Twojego własnego serwera pocztowego i wszelkich firm trzecich — narzędzia do newsletterów, CRM, fakturowania, help desk. Pomiń jedną, a jej poczta nie przejdzie uwierzytelnienia.

Krok 1 — Opublikuj jeden rekord SPF

SPF to pojedynczy rekord TXT w korzeniu domeny, wymieniający serwery uprawnione do wysyłania w jej imieniu. Zasada, na której wszyscy się potykają: domena może mieć tylko jeden rekord SPF. Jeśli korzystasz z kilku nadawców, łączysz ich w jeden wiersz z wieloma mechanizmami include: — nie publikujesz dwóch rekordów SPF.

Typowy rekord dla domeny, która wysyła przez Google Workspace oraz jedno narzędzie marketingowe:

example.com. IN TXT "v=spf1 include:_spf.google.com include:sendgrid.net -all"
ElementZnaczenie
include:_spf.google.comAutoryzuje przez odwołanie cały zakres wysyłkowy danego dostawcy. Dokładny token weźmiesz z dokumentacji każdego nadawcy.
ip4: / ip6:Autoryzuje Twój własny serwer pocztowy po jego publicznym IP, np. ip4:203.0.113.10.
~all a -all~all = softfail (zacznij od tego podczas testów); -all = hardfail (przełącz się na to, gdy lista jest kompletna).

Limit 10 zapytań. SPF dopuszcza podczas ewaluacji co najwyżej 10 zapytań DNS; każdy mechanizm include: oraz a/mx może kosztować jedno lub więcej. Przekroczysz limit — SPF zwróci permerror, traktowany jako niepowodzenie. Jeśli spiętrzasz wielu dostawców, usuń nieużywane wpisy include albo skorzystaj z usługi spłaszczającej SPF, zamiast dokładać kolejne.

Zacznij łagodnie, potem uszczelnij. Opublikuj z ~all na tydzień lub dwa, upewnij się, że żaden legalny nadawca nie zawodzi, a następnie zmień końcowy mechanizm na -all.

Krok 2 — Włącz DKIM u każdego nadawcy

DKIM dodaje do każdej wiadomości podpis kryptograficzny. Rzadko budujesz klucz ręcznie — każda platforma wysyłkowa generuje go i podaje Ci rekord TXT (lub CNAME) do opublikowania pod selektorem. Zrób to dla każdego nadawcy: Google, Microsoft, Twój ESP i Twój własny serwer — każdy dostaje własny selektor i klucz.

  1. W panelu administracyjnym nadawcy włącz DKIM / „uwierzytelnianie poczty”. Pokaże Ci selektor (np. google, s1) oraz klucz publiczny.
  2. Opublikuj go w DNS pod adresem <selektor>._domainkey.example.com. Dostawcy używający CNAME mogą rotować klucz za Ciebie — wybierz to, gdy jest dostępne.
  3. Wracając do panelu, kliknij Rozpocznij uwierzytelnianie, aby nadawca zaczął dodawać nagłówek DKIM-Signature:. Gdy masz wybór, preferuj klucz 2048-bitowy.

Ponieważ podpis wędruje wewnątrz wiadomości, DKIM przetrwa przekazywanie dalej (w odróżnieniu od SPF) — i właśnie dlatego następny krok się na nim opiera.

Krok 3 — Wdrażaj DMARC stopniowo

DMARC wiąże SPF i DKIM z widocznym adresem From: i mówi odbiorcom, co robić w razie niepowodzenia. Nigdy nie zaczynaj od p=reject — odbijesz własną legalną pocztę od nadawcy, o którym zapomniałeś. Wdrażaj to w trzech etapach, obserwując raporty pomiędzy każdym z nich.

EtapRekord pod _dmarc.example.comCel
1. Monitorowaniev=DMARC1; p=none; rua=mailto:dmarc@example.comNic nie zmienia dla odbiorców; jedynie zbiera zbiorcze raporty o tym, kto wysyła jako Ty.
2. Kwarantannav=DMARC1; p=quarantine; pct=25; rua=…Kieruje część niepowodzącej poczty do spamu. Podnoś pct, w miarę jak nabierasz pewności.
3. Egzekwowaniev=DMARC1; p=reject; rua=…; sp=rejectOdrzuca podszywającą się pocztę wprost. sp= ustala politykę dla subdomen.

Adres z rua= otrzymuje od odbiorców codzienne raporty zbiorcze w formacie XML. Czytaj je (na początek wystarczy darmowa przeglądarka raportów DMARC): każdy wymienia adresy IP wysyłające z użyciem Twojej domeny oraz to, czy przeszły SPF i DKIM z dopasowaniem. Dopasowanie to właśnie pułapka — wiadomość nie może jedynie przejść SPF lub DKIM, lecz domena, która je przechodzi, musi pasować do domeny From:. Jeśli legalna usługa przechodzi DKIM dla własnej domeny, ale nie dla Twojej, napraw to, publikując DKIM tej usługi pod swoją domeną (Krok 2), zanim przejdziesz do egzekwowania.

Krok 4 — Utrzymaj wysyłające adresy IP z dala od RBL

SPF/DKIM/DMARC dowodzą tożsamości; listy blokujące RBL (DNSBL) oceniają reputację wysyłającego IP. Idealnie uwierzytelniona wiadomość i tak wyląduje w spamie, jeśli jej IP jest na liście. Dla RBL niczego nie publikujesz — po prostu unikasz znalezienia się na nich:

  • Wysyłaj tylko pożądaną pocztę. Skargi na spam i trafianie w pułapki spamowe to najszybsza droga na listę.
  • Rozgrzewaj nowe adresy IP stopniowo, zamiast wystrzeliwać cały wolumen pierwszego dnia.
  • Zabezpiecz każde konto i skrypt, który może wysyłać — jeden przejęty formularz lub jedno hasło wpisze całe IP na listę.
  • Ustaw poprawny odwrotny DNS (PTR) dla wysyłającego IP, pasujący do jego nazwy HELO.

Jeśli jednak trafisz na listę, większość renomowanych list (Spamhaus i inne) pokazuje, dlaczego, i oferuje samodzielne usunięcie po naprawieniu przyczyny. Najpierw napraw, potem zażądaj usunięcia — usuwanie z listy przy wciąż istniejącym problemie kończy się ponownym wpisaniem.

Krok 5 — Sprawdź, że to naprawdę działa

Opublikowanie rekordów to jeszcze nie dowód. Potwierdź każdą warstwę:

  • Sprawdź, że rekordy istnieją. Odpytaj DNS bezpośrednio: dig TXT example.com, dig TXT google._domainkey.example.com, dig TXT _dmarc.example.com (lub nslookup -type=TXT w systemie Windows).
  • Potwierdź serwery pocztowe, które autoryzowałeś. Użyj naszego Wyszukiwanie MX, aby zobaczyć hosty MX, które domena faktycznie publikuje — przydatne do wykrycia nieaktualnego lub błędnego hosta pocztowego.
  • Odczytaj wyniki na prawdziwej wiadomości. Wyślij do siebie wiadomość testową, otwórz jej surowe źródło i wklej je do dekodera MIME. Spójrz na nagłówek Authentication-Results: — podaje on spf=pass, dkim=pass i dmarc=pass (albo dokładne niepowodzenie) tak, jak zobaczył to odbiorca. To jest prawda absolutna.
  • Obserwuj raporty DMARC przez kilka tygodni, zanim przejdziesz z p=none do egzekwowania.

Częste błędy konfiguracji

ObjawZwykła przyczyna i naprawa
SPF permerrorDwa rekordy SPF albo ponad 10 zapytań DNS. Połącz w jeden rekord; przytnij nieużywane include:.
Legalna poczta nie przechodzi SPFNadawca, którego zapomniałeś autoryzować, albo poczta została przekazana dalej. Dodaj nadawcę; przy przekazywaniu polegaj na dopasowaniu DKIM+DMARC.
DKIM fail (skrót treści)Coś przepisało wiadomość w drodze (stopka listy mailingowej, urządzenie sieciowe). Podpisuj z rozluźnioną kanonikalizacją; wyklucz zmienne nagłówki.
DMARC zawodzi mimo przejścia SPF/DKIMBrak dopasowania — przechodząca domena nie jest Twoją domeną From:. Opublikuj DKIM tego nadawcy pod własną domeną.
Subdomeny są podszywaneBrak polityki dla subdomen. Dodaj sp=reject do rekordu DMARC.

Gdy wszystkie trzy rekordy są już aktywne, dopasowane i zweryfikowane — a Twoje adresy IP pozostają z dala od list blokujących — zamykasz drzwi przed podszywaniem się pod Twoją domenę i dajesz swojej prawdziwej poczcie najlepszą możliwą szansę na dotarcie do skrzynki odbiorczej. Aby na szybko sprawdzić pojedyncze adresy w dowolnej domenie, checker email na stronie głównej uruchomi dla Ciebie sprawdzanie skrzynek na żywo.