Weryfikacja nadawcy wiadomości – SPF, DKIM, DMARC

Do podstawowych mechanizmów weryfikujących nadawcę wiadomości należą SPF, DKIM i DMARC, które wprowadza się jako rekordy TXT do strefy DNS domeny. Domeny, których poczta i strefa DNS jest utrzymywana na naszych hostingach mają domyślnie wprowadzone ustawienia, które umożliwiają poprawną weryfikację nadawcy wiadomości dla wysyłki wiadomości z naszych serwerów. Jeśli chcesz wprowadzić zmiany dla tych rekordów zapoznaj się z poniższą instrukcją, aby wysyłane przez Ciebie wiadomości były weryfikowane prawidłowo.

> Rekord SPF

Rekord SPF (Sender Policy Framework) pozwala na zdefiniowanie adresów IP serwerów uprawnionych do wysyłki maili w imieniu tej domeny. Serwer pocztowy odbiorcy wiadomości wysyła zapytanie o SPF dla domeny z pola MAIL FROM (RFC5321.MailFrom). Następnie sprawdza czy adres IP, z którego wiadomość została nadana, zawiera się na liście uprawnionych do wysyłki adresów IP w rekordzie SPF (po rozwiązaniu wszystkich składowych rekordu). W przypadku, gdy adres IP, z którego wysyłana jest wiadomość nie znajduje się na liście adresów IP w SPF to w zależności od konfiguracji serwera poczty, jak i pozostałych składowych konfiguracji domeny (np. rekordu DMARC) wiadomość może zostać skierowana do spamu lub odrzucona.

Domyślna wartość rekordu SPF dla domen, których poczta utrzymywana jest na naszych serwerach hostingowych to:
twojadomena.pl TXT v=spf1 a mx include:_spf.cyberfolks.pl -all

Uwaga! Jeśli strefa DNS Twojej domeny utrzymywana jest poza serwerami cyberfolks.pl,a korzystasz z poczty za pomocą naszych serwerów upewnij się, że w strefie DNS Twojej domeny znajduje się rekord SPF, który zawiera w swojej treści wpis: include:_spf.cyberfolks.pl.

Podstawowe elementy, które może zawierać rekord SPF to:

  • v=spf1 – wersja mechanizmu SPF – ten wpis jest wymagany w rekordzie SPF
  • a:domena.pl – oznacza włączenie do rekordu weryfikacji rekordu A domeny domena.pl, który jest porównywany z IP nadawcy. W przypadku użycia samego a weryfikacji podlega rekord A domeny, dla której sprawdzana jest polityka.
  • mx:domena.pl – weryfikowane są rekordy A dla rekordów MX podanej domeny domena.pl, które dodawane są jako IP upoważnione do wysyłki. W przypadku użycia samego mx weryfikacji podlega rekord MX domeny, dla której sprawdzana jest polityka.
  • include:_spf.cyberfolks.pl – rekord SPF dla podanej domeny jest również uwzględniany podczas weryfikowana polityki SPF – pozwala to na zagnieżdżenie rekordów SPF dla innych serwerów nadawczych
  • ip4:123.123.123.123/27 – upoważnione serwery poczty do wysyłki wiadomości z Twojej domeny na podstawie adresu lub zakresu adresów IPv4
  • all – dyrektywa, która określa, że wszystkie wiadomości przychodzące są dopasowywane. Musi być podana jako ostatnia dyrektywa w rekordzie SPF – inne dyrektywy występujące po dyrektywie all w rekordzie SPF będą ignorowane. Istnieją 4 opcje dla tej dyrektywy:

    Dyrektywa ~all określa, że serwer odbiorcy wiadomości powinien przyjmować wiadomości z domen, których nie ma w rekordzie SPF, będą one jednak oznaczane jako podejrzane.
    Dyrektywa -all określa, że serwery odbierające mogą odrzucać wiadomości wysyłane z domen, których nie ma w rekordzie SPF.
    Dyrektywa ?all określa, że rekord SPF nie wskazuje wyraźnie, czy adres IP może wysyłać wiadomości w imieniu domeny.
    Dyrektywa +all określa, że rekord SPF nie jest bezużyteczny do weryfikacji domeny

Pamiętaj, że maksymalna długość rekordu to 255 znaków i maksymalnie 10 rozwiązań domen, wliczając w to rozwiązania rekursywne.

Jak prawidłowo modyfikować rekord SPF w panelu direct_Admin?

Dla domen, których strefa DNS utrzymywana jest na naszych serwerach DNS właściwych dla usług hostingowych rekord SPF dodany jest automatycznie do strefy DNS domeny. W przypadku, gdy chciałbyś go zmodyfikować, np poprzez upoważnienie większej liczby serwerów do wysyłania wiadomości z Twojej domeny wykonaj następujące kroki:

1. Zaloguj się do panelu administracyjnego i wybierz domenę, dla której chcesz modyfikować rekordy.
2. W dziale „Serwer WWW i domeny” wybierz „Edycja strefy DNS”

3. Zweryfikuj, jak obecnie wygląda rekord SPF Twojej domeny – może on wyglądać następująco:

4. Jeśli chcesz dodać dodatkowe serwery upoważnione do wysyłki skopiuj wartość obecnego rekordu, np. v=spf1 a mx include:_spf.cyberfolks.pl -all i wprowadź stosowne modyfikacje. Następnie dodaj nowy rekord TXT w sekcji „Dodaj rekord domeny”, wpisując po lewej stronie nazwę Twojej domeny zakończoną kropką, natomiast w polu po prawej należy podać wartość tekstową rekordu, bez apostrofów:

5. Jeśli rekord został dodany prawidłowo USUŃ poprzedni rekord SPF, sprzed modyfikacji.

UWAGA! Aby mechanizm SPF działał prawidłowo zalecane jest, aby Twoja domena posiadała JEDEN rekord SPF, obejmujący wszystkie serwery upoważnione do wysyłki. Nie powinna więc mieć miejsca sytuacja, gdy w strefie DNS domeny widocznych jest więcej niż jeden rekord SPF dla domeny.
Przykładowo, gdy chcemy uwzględnić serwery cyberfolks.pl oraz serwery Google jako uprawnione do wysyłki nieprawidłowa jest konfiguracja:

W takiej sytuacji należy oba rekordy SPF połączyć w jeden, wspólny rekord, pamiętając o tym, że wpis v=spf1 oraz dyrektywa all może pojawić się w nim tylko raz odpowiednio na początku i na końcu rekordu. Jeśli w pozostałych parametrach występują duplikaty, np oba rekordy zawierają wpis a czy mx wystarczy podać je jeden raz. Pozostałe, różniące się wartości należy uwzględnić w treści rekordu. Prawidłowy wpis wyglądałby więc następująco:

W tym wpisie uwzględniono tylko raz wpis v=spf1, z dwóch różnych dyrektyw -all i ~all wybrano tą mniej restrykcyjną, czyli ~all, a pozostałe wpisy, które nie były zdublowane wymieniono kolejno w rekordzie, oddzielając je spacją.

> Rekord DKIM

Rekord DKIM to unikalny klucz publiczny Twojej domeny. Serwer poczty odbiorcy weryfikując wysłaną przez Ciebie wiadomość może zweryfikować autentyczność wiadomości wykorzystując kryptografię asymetryczną oraz klucz publiczny odczytany z odpowiedniego rekordu DNS sprawdzanej domeny.

Podpis jest dodawany do nagłówka wiadomości jako pole DKIM-Signature, w którym zawarte są odpowiednie informacje podane za pomocą poniższych parametrów:

  • d= - domena, dla której należy weryfikować klucz publiczny do odszyfrowania adresu
  • s= - selektor wskazujący, który z opublikowanych kluczy publicznych ma być użyty.
    W przypadku wysyłki wiadomości z naszych serwerów selektor to x
  • h= - jakie pola nagłówka zostały podpisane i mają zostać sprawdzone
  • bh= - hash treści wiadomości
  • a= - algorytm, który został użyty do wyliczenia hasha (podpisu)
  • b= - zaszyfrowany podpis (hash)

Przykładowy rekord DKIM dla domen, których poczta utrzymywana jest na serwerach cyberfolks.pl wygląda następująco:

Klucz publiczny jest umieszczany w rekordzie TXT subdomeny zbudowanej z pól:

  • selektora: w przypadku naszych serwerów jest to x
  • oznaczenia klucza DKIM: _domainkey
  • domeny nagłówka DKIM-Signature – jest to Twoja domena, która dopisywana jest do rekordu automatycznie przez system do strefy DNS.
    Pełen rekord wygląda więc następująco: x._domainkey.twojadomena.pl.

Po pobraniu klucza publicznego oznaczonego polem p w wartości rekordu DKIM, pole b z nagłówka wiadomości zawierające zaszyfrowany podpis Twojej wiadomości jest odszyfrowywane i otrzymany hash jest używany do weryfikacji zgodności podpisu.

Jak wygenerować klucz DKIM w panelu direct_Admin?

Dla domen, których strefa DNS utrzymywana jest na naszych serwerach DNS właściwych dla usług hostingowych rekord DKIM dodany jest automatycznie do strefy DNS domeny.
Jeśli chciałbyś dodać rekord DKIM do strefy DNS domeny utrzymywanej poza serwerami cyberfolks.pl:

1. Zaloguj się do panelu administracyjnego i wybierz domenę, dla której chcesz skopiować rekord.
2. W dziale „Serwer WWW i domeny” wybierz „Edycja strefy DNS”

3. Rekord DKIM domeny powinien wyglądać następująco:

Jeśli na liście rekordów nie widzisz takiego wpisu, wygeneruj klucz DKIM dla domeny zgodnie z instrukcją https://cyberfolks.pl/pomoc/jak-wygenerowac-klucz-dkim/
4. Skopiuj wartość rekordu rozpoczynającą się od wpisu v=DKIM1 i dodaj go w strefie DNS Twojej domeny u zewnętrznego usługodawcy, pamiętając, że powinien on być dodany dla subdomeny x._domainkey.twojadomena.pl i jest to rekord typu TXT.

> Rekord DMARC

DMARC(Domain-based Message Authentication, Reporting, and Conformance) to rekord TXT, który można opublikować dla domeny, aby kontrolować, co się stanie, jeśli wiadomość nie przejdzie uwierzytelnienia (tzn. serwer odbiorcy nie może zweryfikować, czy nadawca wiadomości jest tym, za kogo się podaje). W rekordzie tym można również zdefiniować na jakie adresy mailowe mają być wysyłane raporty ze sprawdzeń.
W momencie, gdy przychodzi email, serwer odbiorcy odczytuje domenę z nagłówka RFC5322.From, a następnie sprawdza rekord TXT dla subdomeny _dmarc tej domeny.

Domyślna wartość rekordu dmarc dla domen, których poczta utrzymywana jest na naszych serwerach hostingowych to:
_dmarc.twojadomena.pl TXT "v=DMARC1; p=none; sp=none"

Uwaga! Jeśli strefa DNS Twojej domeny utrzymywana jest poza serwerami cyberfolks.pl, a korzystasz z poczty za pomocą naszych serwerów upewnij się, że w strefie DNS Twojej domeny znajduje się rekord DMARC.


Poniżej wymieniono możliwe do skonfigurowania składowe rekordu DMARC. Składowe należy oddzielać średnikami. Tagi vp muszą zostać wymienione jako pierwsze i są obowiązkowe, natomiast pozostałe składowe są opcjonalne i mogą być umieszczone w dowolnej kolejności.

  • v= – wersja protokołu, obecnie musi być DMARC1 – obowiązkowe
  • p= – określa, co zrobić z wiadomościami, które nie przejdą uwierzytelniania dla domeny – obowiązkowe
  • sp= – określa zasady dla wiadomości z subdomen domeny podstawowej.
  • rua= – adresy, na które przyjdą raporty ze sprawdzeń, opisane w formacie mailto:<adres email>. Jeśli chcesz podać kilka adresów mailowych, podaj je w formacie oddzielonym przecinkami: rua=mailto:<adres email>, mailto:<adres email>
  • adkim= – ustawienia restrykcyjności dla sprawdzeń dopasowania DKIM – r (relaxed) lub s (strict). Dla ustawienia s nazwa domeny nadawcy musi być dokładnie taka sama jak odpowiednia wartość d=nazwa_domeny z nagłówków DKIM poczty. W ustawieniu r dopuszczalne są również subdomeny domeny podanej w DKIM d=nazwa_domeny. Domyślne ustawienie to r (relaxed).
  • aspf= – ustawienia restrykcyjności dla sprawdzeń dopasowania SPF – r (relaxed) lub s (strict). Dla ustawienia s Nagłówek From wiadomości musi być dokładnie taki sam jak nazwa domeny z polecenia SMTP MAIL FROM. W ustawieniu r dopuszczalne są również subdomeny. Domyślne ustawienie to r (relaxed).
  • pct= – pozwala na określenie, jaki procent nieuwierzytelnionych wiadomości ma podlegać mechanizmowi DMARC.

Dostępne opcje dla składowych p i sp:

  • none – nie są podejmowane żadne akcje, tylko raportowanie
  • quarantine – wiadomość powinna zostać przeniesiona do spamu
  • reject – wiadomość powinna zostać odrzucona

Przykładowy rekord, który zawiera wszystkie te zasady może wyglądać następująco:
v=DMARC1; p=reject; sp=quarantine; rua=mailto:postmaster@twojadomena.pl, mailto:dmarc@twojadomena.pl; pct=100; adkim=s; aspf=s

Uwaga! Przed wprowadzeniem restrykcyjnych reguł do mechanizmu DMARC, np. p=reject czy adkim=s; aspf=s upewnij się, że posiadasz prawidłowo skonfigurowane rekordy SPF i DKIM dla domeny.

Jak dodać rekord DMARC w panelu direct_Admin?

Dla domen, których strefa DNS utrzymywana jest na naszych serwerach DNS właściwych dla usług hostingowych rekord DMARC dodany jest automatycznie do strefy DNS domeny w postaci:
_dmarc TXT "v=DMARC1; p=none; sp=none"
Jeśli chciałbyś zmodyfikować wartość tego rekordu:

1. Zaloguj się do panelu administracyjnego i wybierz domenę, dla której chcesz modyfikować rekordy.
2. W dziale „Serwer WWW i domeny” wybierz „Edycja strefy DNS”

3. Zweryfikuj, jak obecnie wygląda rekord DMARC Twojej domeny – może on wyglądać następująco:

4. Jeśli chcesz zmodyfikować ten rekord skopiuj wartość obecnego rekordu i wprowadź stosowne modyfikacje. Następnie dodaj nowy rekord TXT w sekcji „Dodaj rekord domeny”, wpisując po lewej stronie nazwę subdomeny _dmarc lub pełną nazwę subdomeny _dmarc.twojadomena.pl. zakończoną kropką, natomiast w polu po prawej należy podać wartość tekstową rekordu, bez apostrofów:

5. Jeśli rekord został dodany prawidłowo USUŃ poprzedni rekord DMARC, sprzed modyfikacji.

UWAGA! Aby mechanizm DMARC działał prawidłowo zalecane jest, aby Twoja domena posiadała JEDEN rekord DMARC. Nie powinna więc mieć miejsca sytuacja, gdy w strefie DNS domeny widocznych jest więcej niż jeden rekord DMARC dla domeny.

Ustawienia DMARC są jedynie wskazówką dla serwera odbiorcy, nie są jednak obligatoryjne. Większość serwerów weźmie je pod uwagę. Miej na uwadze, że zbyt restrykcyjne ustawienie reguł może powodować problemy z dostarczaniem Twoich wiadomości – wprowadzaj zmiany świadomie.

weryfikacja-nadawcy-wiadomosci-spf-dkim-dmarc
>
Magdalena Pietraszek