SPF, DKIM i DMARC: czy ktoś może wysłać maila jako Twoja firma
Tak, jeśli Twoja domena nie ma poprawnych rekordów SPF, DKIM i DMARC, czyli trzech wpisów w ustawieniach domeny. Wtedy każdy może wysłać maila z Twoim adresem w polu „Od”, a serwer odbiorcy nie odróżni go od prawdziwego. SPF wskazuje serwery, które mogą wysyłać pocztę z domeny. DKIM podpisuje każdą wiadomość. DMARC mówi odbiorcy, co zrobić z mailem, który nie przeszedł tych testów: dostarczyć (p=none), dać do spamu (p=quarantine) albo odrzucić (p=reject).
- RFC to oficjalne standardy internetu. Według RFC 7208 domena może mieć tylko jeden rekord SPF. Sprawdzenie SPF może też wywołać najwyżej 10 zapytań DNS, na przykład przez wpisy include. Po przekroczeniu limitu wynik to błąd permerror, czyli SPF nie działa.
- Od 1 lutego 2024 r. Gmail wymaga rekordów SPF, DKIM i DMARC od nadawców, którzy wysyłają ponad 5000 maili dziennie na konta Gmail. Polityka DMARC może przy tym mieć wartość p=none.
- Od maja 2026 r. DMARC opisuje standard RFC 9989, który zastąpił RFC 7489. Polityki none, quarantine i reject zostały, a znacznik pct usunięto.
- RFC 8301 wymaga, żeby klucze RSA do podpisów DKIM miały co najmniej 1024 bity. Zaleca co najmniej 2048 bitów. Dłuższy klucz trudniej złamać.
Jak ktoś podszywa się pod firmę i co to blokuje
Adres w polu „Od” w mailu da się wpisać dowolnie, tak jak nadawcę na kopercie. Oszust wysyła klientowi Twojej firmy fakturę z nowym numerem konta albo prośbę o pilny przelew. W skrzynce klienta widać Twój prawdziwy adres.
CERT Polska, krajowy zespół od bezpieczeństwa w sieci, pisze wprost: bez SPF, DKIM i DMARC przestępcy mogą podszyć się pod dowolnego nadawcę z domeny. Część dostawców poczty traktuje też maile z takich domen jako spam.
Te trzy mechanizmy to wpisy w DNS, czyli w publicznej książce adresowej domeny. Zarządzasz nią w panelu firmy, w której kupiłeś domenę, u dostawcy hostingu albo w Cloudflare. Nie potrzebujesz nowego programu ani nowej skrzynki.
Wpisy działają razem. SPF i DKIM sprawdzają mail. DMARC mówi, co zrobić, gdy test się nie uda, i wysyła Ci raporty.
SPF: lista serwerów, które mogą wysyłać pocztę z domeny
SPF to jeden rekord TXT, czyli wpis tekstowy w DNS, zaczynający się od v=spf1. Wymieniasz w nim usługi, które wysyłają maile w Twoim imieniu: skrzynkę firmową, sklep, system do faktur, newsletter. Każdy dostawca podaje w swojej pomocy wpis include, czyli swoją część rekordu do dopisania.
Najczęstszy błąd to dwa osobne rekordy SPF, bo każdy dostawca kazał „dodać swój”. RFC 7208 wprost tego zabrania i wtedy SPF przestaje działać. Wszystkie wpisy include łączy się w jeden rekord.
Drugi błąd to zbyt wiele usług. Sprawdzenie SPF może wywołać najwyżej 10 zapytań DNS, a każdy include to co najmniej jedno.
| Końcówka rekordu | Co znaczy dla odbiorcy |
|---|---|
-all | Inne serwery nie mają prawa wysyłać maili z tej domeny |
~all | Inne serwery są podejrzane; to bezpieczny wybór na start |
?all | Nie wiadomo; w praktyce brak ochrony |
+all albo samo all | Każdy serwer na świecie może wysyłać maile jako Ty |
DKIM: podpis na każdej wiadomości
DKIM dodaje do każdego maila podpis cyfrowy. Odbiorca sprawdza go kluczem publicznym, czyli jawnym kodem, który leży w DNS. Nazwa tego wpisu wygląda mniej więcej tak: selektor._domainkey.twojadomena.pl. Selektor to dowolna nazwa wybrana przez dostawcę, na przykład google albo selector1.
DKIM włącza się w panelu każdej usługi, która wysyła maile z Twojej domeny: w skrzynce firmowej, w narzędziu do newslettera, w sklepie. Usługa pokazuje rekord do skopiowania do DNS. Jeśli możesz wybrać długość klucza, wybierz 2048 bitów, bo tyle zaleca RFC 8301.
DMARC: decyzja, co zrobić z fałszywym mailem
DMARC to rekord TXT pod nazwą _dmarc.twojadomena.pl. Działa tylko wtedy, gdy domena z pola „Od” zgadza się z domeną sprawdzoną przez SPF albo DKIM. Dzięki temu oszust nie obejdzie testu własnym serwerem z poprawnym SPF dla innej domeny.
Standard RFC 9989 opisuje bezpieczną drogę. Zacznij od p=none z adresem na raporty, czyli od trybu obserwacji. Raporty zbiorcze pokażą, które serwery wysyłają pocztę jako Ty. Zwykle wychodzi wtedy zapomniany system faktur albo formularz na stronie bez DKIM.
Rekord na start może wyglądać tak: v=DMARC1; p=none; rua=mailto:dmarc@twojadomena.pl. Pole rua to adres, na który przychodzą raporty. Raporty są w plikach XML, trudnych do czytania. Wygodnie jest kierować je do bezpłatnego narzędzia, które zamienia je na czytelne zestawienie.
- Ustaw SPF i włącz DKIM we wszystkich usługach, które wysyłają maile z domeny.
- Dodaj DMARC z p=none i adresem rua na raporty.
- Przez 2–4 tygodnie czytaj raporty i dopisuj do SPF albo DKIM brakujące usługi.
- Gdy prawdziwe maile przechodzą testy, zmień p=none na p=quarantine.
- Po kolejnych tygodniach bez problemów przejdź na p=reject.
Domena, która nie wysyła poczty, też potrzebuje ochrony
Masz drugą domenę tylko pod stronę albo starą nazwę firmy? Oszuści chętnie z takich korzystają, bo nikt ich nie pilnuje.
Wystarczą dwa rekordy, które mówią całemu światu: z tej domeny nie wychodzi żadna poczta. SPF: v=spf1 -all. DMARC: v=DMARC1; p=reject.
Jak sprawdzić to samemu
- Wpisz domenę w bezpłatnym narzędziu CERT Polska https://bezpiecznapoczta.cert.pl. Pokaże, czy SPF, DKIM i DMARC są ustawione i czy nie mają błędów.
- Otwórz darmowe narzędzie Google Admin Toolbox Dig (https://toolbox.googleapps.com/apps/dig/). Wybierz typ TXT i wpisz swoją domenę, a potem
_dmarc.twojadomena.pl. Zobaczysz rekordy SPF i DMARC dokładnie tak, jak widzą je inne serwery. - Sprawdź, czy rekord zaczynający się od
v=spf1jest jeden, a nie dwa. Sprawdź też, jak się kończy: -all albo ~all są w porządku, +all i ?all nie. - Wyślij maila z firmowej skrzynki na konto Gmail, otwórz go i wybierz „Pokaż oryginał”. Gmail pokaże wynik SPF, DKIM i DMARC. Każdy powinien mieć PASS, czyli wynik pozytywny.
- Powtórz test dla maili wysyłanych przez sklep, formularz na stronie i newsletter, bo każda usługa może mieć inny wynik.
Co sprawdza bezpłatny skan
- Sprawdzamy rekordy DNS domeny głównej przez publiczny serwer DNS Cloudflare. Dla www.sklep.com.pl to domena sklep.com.pl.
- Czy domena ma rekordy MX, czyli czy przyjmuje pocztę. Od tego zależy, jak ważne są dalsze błędy.
- Czy jest rekord SPF i czy nie ma dwóch rekordów naraz. Końcówkę rekordu czytamy jako osobne słowo, więc „all” w nazwie serwera, np. w include:spf.all-inkl.com, nie myli wyniku. Końcówka +all albo samo all to uwaga pilna, a ?all ostrzeżenie.
- Rekord SPF bez końcówki all też dostaje ostrzeżenie, bo według RFC 7208 działa wtedy tak jak ?all. Gdy zamiast końcówki ma redirect=, o ochronie decyduje rekord, na który wskazuje. Tamtego rekordu nie pobieramy, więc go nie oceniamy.
- Czy jest dokładnie jeden rekord DMARC pod _dmarc i jaką ma politykę. Kilka rekordów naraz to błąd, bo serwery odbiorców pomijają wtedy DMARC. Wartość p= inna niż none, quarantine albo reject, także pusta, to ostrzeżenie, tak samo jak rekord bez znacznika p=.
- Przy p=none dostajesz ostrzeżenie, a polityka quarantine albo reject to mocna strona. Opis uwzględnia znacznik pct ze starszego standardu RFC 7489: przy pct poniżej 100 polityka obejmuje tylko część fałszywych maili, a p=quarantine z pct=0 nie blokuje żadnego i dostaje ostrzeżenie tak jak p=none.
- Czy klucz DKIM jest pod jednym z czterech popularnych selektorów: google, selector1, resend, default. Brak trafienia nie jest błędem, bo Twój dostawca może używać innej nazwy.
- Czy domena ma rekord TXT _mta-sts, czyli zapowiedź zasady MTA-STS. Serwery nadawców, które obsługują ten standard, wysyłają wtedy pocztę do domeny tylko szyfrowanym połączeniem, o ile plik polityki działa i ma tryb enforce. Pliku polityki nie pobieramy, więc za mocną stronę uznajemy sam rekord.
Skan sprawdza stronę główną i do 3 podstron. Wynik dostajesz w około minutę.
Kiedy zlecić to komuś: Maile z domeny wychodzą czasem z kilku miejsc naraz, na przykład ze skrzynki, sklepu, systemu faktur i newslettera. Wtedy warto zlecić uporządkowanie SPF i DKIM we wszystkich usługach oraz przejście DMARC do p=reject na podstawie raportów. Zobacz pełny audyt.
Pytania i odpowiedzi
Czy p=reject może zablokować moje prawdziwe maile?
Może, jeśli jakaś usługa wysyła pocztę z Twojej domeny bez SPF i DKIM. Dlatego najpierw przez kilka tygodni działa p=none z raportami. Dopiero potem zaostrzasz politykę.
Wysyłam mało maili. Czy wymagania Gmaila mnie dotyczą?
Wymaganie DMARC dotyczy nadawców powyżej 5000 maili dziennie na konta Gmail. Każdy nadawca musi jednak mieć przynajmniej SPF albo DKIM. A DMARC chroni Cię przed podszywaniem bez względu na liczbę maili.
Skąd wziąć wpis include do SPF?
Z pomocy dostawcy poczty albo usługi, która wysyła maile w Twoim imieniu. Każdy podaje swój wpis. Dopisz go do istniejącego rekordu, zamiast dodawać nowy.