Jak korzystać z narzędzia
- 1.Wpisz domenę, np.
example.com, albo wklej adres e-mail, a sprawdzona zostanie część po znaku @. - 2.Jeśli znasz selektor DKIM, dodaj go (to wartość
s=w nagłówkuDKIM-Signaturee-maila); w przeciwnym razie narzędzie wypróbuje selektory dużych dostawców. - 3.Kliknij Sprawdź. Werdykt na górze podsumowuje SPF, DKIM i DMARC; każda sekcja poniżej pokazuje rekord, co oznacza i co trzeba poprawić.
- 4.Rozwiń include pod SPF, aby zobaczyć, która usługa zużywa ile z 10 zapytań DNS, a po najechaniu kursorem na domenę lub zakres IP sprawdzisz je w innym narzędziu.
Do czego służą SPF, DKIM i DMARC
Poczta e-mail powstała bez żadnej weryfikacji nadawcy, więc każdy może wpisać Twoją domenę w polu Od. Naprawiają to trzy rekordy DNS. SPF (rekord TXT zaczynający się od v=spf1) wymienia serwery, które mogą wysyłać pocztę w imieniu domeny. DKIM podpisuje każdą wiadomość kluczem, którego publiczna część jest opublikowana pod <selector>._domainkey.<domain>, więc odbiorcy mogą sprawdzić, że wiadomość nie została zmieniona i naprawdę pochodzi z tej domeny. DMARC (rekord TXT pod _dmarc.<domain>) wiąże oba mechanizmy z adresem, który ludzie faktycznie widzą w polu Od, i mówi odbiorcom, co zrobić, gdy żaden nie przejdzie: nic (p=none), folder spam (p=quarantine) albo odrzucenie (p=reject).
Wiadomość przechodzi DMARC, gdy SPF lub DKIM przejdzie dla domeny zgodnej z domeną w polu Od. Przekazywanie poczty (forwarding) często psuje SPF, dlatego DKIM jest tak ważny: podpis przetrwa przekazanie, adres serwera nadawcy nie. Gmail, Yahoo i Microsoft wymagają dziś SPF, DKIM i rekordu DMARC od każdego, kto wysyła pocztę masowo.
Limit 10 zapytań DNS w SPF
Przy sprawdzaniu SPF serwer odbiorcy może wykonać najwyżej 10 zapytań DNS (RFC 7208). Każdy include, a, mx, ptr, exists i redirect kosztuje jedno, łącznie z tymi wewnątrz dołączanych rekordów. ip4, ip6 i all nic nie kosztują. Po przekroczeniu 10 wynikiem jest błąd trwały (permerror): SPF nie przechodzi dla żadnej wiadomości, często tak, że nikt tego nie zauważa.
Każda dodana usługa pocztowa (CRM, narzędzie do newsletterów, helpdesk) zwykle wnosi include z kilkoma własnymi zapytaniami, a dostawcy z czasem zmieniają swoje rekordy. Usuń include usług, których już nie używasz, wybierz węższy include dostawcy, jeśli go oferuje, i wysyłaj pocztę marketingową z subdomeny z własnym rekordem SPF. Liczą się też zapytania, które nic nie znajdą: więcej niż dwa takie to również błąd.
Bezpieczne przejście z DMARC none na reject
Zacznij od p=none i adresu rua. Odbiorcy będą wtedy codziennie wysyłać raporty zbiorcze z listą wszystkich serwerów, które wysyłały pocztę jako Twoja domena, i z informacją, czy SPF i DKIM przeszły. Usługa do raportów albo darmowy parser zamieni XML w czytelną listę.
Popraw każde legalne źródło, które nie przechodzi: dodaj je do SPF, włącz podpisywanie DKIM w tej usłudze albo przenieś ją na subdomenę. Gdy raporty pokazują już tylko Twoją własną, poprawnie uwierzytelnioną pocztę, przełącz na p=quarantine, opcjonalnie z pct poniżej 100 na stopniowy start, a po kilku spokojnych tygodniach na p=reject. Czytaj raporty także potem; nowe narzędzie, które wysyła pocztę jako Twoja domena, pojawi się tam najpierw.
Pytania i odpowiedzi
Jak naprawić błąd „SPF permerror: too many DNS lookups”?
Policz zapytania: to narzędzie sumuje każdy include, a, mx, ptr, exists i redirect we wszystkich zagnieżdżonych rekordach. Usuń include usług, których już nie używasz, zastąp include własnych serwerów zakresami ip4/ip6 i przenieś masową wysyłkę na subdomenę z własnym rekordem SPF. Unikaj usług „spłaszczania SPF” (SPF flattening), chyba że na bieżąco aktualizują adresy, bo dostawcy zmieniają swoje zakresy.
Dlaczego narzędzie nie znajduje mojego klucza DKIM?
Klucze DKIM można wyszukać tylko po selektorze i nie da się ich wylistować. Bez selektora nestoo próbuje nazw używanych przez dużych dostawców (Google, Microsoft 365, Mailchimp, SendGrid, Zoho i innych). Otwórz e-mail z tej domeny, znajdź nagłówek DKIM-Signature i wpisz jego wartość s=, np. s=20230601, jako selektor.
Czy p=none wystarczy?
Nie. p=none prosi tylko o raporty; poczta, która nie przejdzie DMARC, jest doręczana jak wcześniej, więc podszywanie się nadal działa. To dobry pierwszy krok. Przejdź na p=quarantine, a potem na p=reject, gdy raporty pokażą, że cała Twoja prawdziwa poczta przechodzi.
Czy SPF powinien kończyć się na ~all czy -all?
Oba chronią domenę, gdy działa DMARC, bo to DMARC decyduje, co dzieje się z pocztą, która nie przejdzie. ~all (softfail) to częsty wybór i jest bardziej wyrozumiały, jeśli zapomnisz o którymś nadawcy. -all jest ostrzejszy i sprawdzi się, gdy masz pewność, że rekord jest kompletny. Nigdy nie używaj +all ani ?all.
Czy domena, która nie wysyła poczty, potrzebuje tych rekordów?
Tak, inaczej mogą ją wykorzystać spamerzy. Opublikuj v=spf1 -all, rekord DMARC z p=reject i opcjonalnie rekord null MX (0 .) oraz pusty klucz DKIM pod *._domainkey. Razem mówią każdemu odbiorcy, że żadna poczta z tej domeny nie jest prawdziwa.