loading
seozie-img
SPF DKIM DMARC

Z poprzednich artykułów wiadomo już jak ważna jest dostarczalność twoich wiadomości e-mail i dlaczego warto o nią zadbać. W dzisiejszym artykule omówię trzy najważniejsze rekordy, bez których nie można mówić o dostarczalności e-maila. Od tego czy mamy je ustawione prawidłowo zależy to, czy nasza wiadomość dotrze gdziekolwiek.

Czym jest rekord SPF?

Rekord SPF jest jednym z najważniejszych w kontekście prawidłowego dostarczania poczty e-mail. Jest to rekord tekstowy ustawiany w DNS naszej domeny i określa z jakich adresów IP jest możliwość wysyłania wiadomości e-mail, a co robić z resztą. Chodzi o to, żeby nikt spoza wskazanych adresów IP (serwerów) nie mógł wysyłać wiadomości w imieniu twojej domeny czyli z konta e-mail typu jan@kowalski.pl czy zosia@kowalski.pl, czyli z domeny kowalski.pl nikt poza wskazanymi serwerami i adresami IP nie wyśle wiadomości e-mail.

Jak wygląda przykładowy rekord SPF?

v=spf1 ip4:1.2.3.4 ip4:4.3.2.1 include:spf.domena.pl -all
v=spf1 a mx ip4:1.2.3.4/24 ip4:4.3.2.1/29 include:spf.domena.pl -all

Choć wygląda on na niezrozumiały to każda wartość ma określone zadanie, które interpretowane jest przez serwery odbiorcze. Niżej omówię podstawowe opcje rekordu SPF.

  • v=spf1 – określa, że dana domena zawiera rekord SPF. Każdy rekord SPF musi zaczynać się od tego wpisu i musi być on zawsze na początku. Bez niego, SPF nie będzie działać poprawnie.
  • ip4: – określa listę adresów IP, które są uprawnione do wysyłania wiadomości w imieniu domeny. Adres IP mogą być podawane kolejno jako ip4:IP1 ip4:IP2 lub jako bloki adresowe ip4:IP1/24 ip4:IP2/8 i tak dalej.
  • include: – zawiera odniesienie do innych rekordów. Czasami usługodawcy stosują zasadę, że adresy IP umieszczają w innych rekordach DNS, na przykład _spf.domena.pl zawiera listę adresów IP (z punktu wyżej) a rekord główny zawiera do niego odniesienie czyli np. include:_spf.domena.pl lub na przykład prowadzisz firmę, ale księgowością zajmuje się jakieś biuro rachunkowe, które wysyła w twoim imieniu wiadomość e-mail z fakturami (np. programy do faktur), wtedy w tym miejscu dodajesz ich zakres IP lub ich domenę zezwalając na wysyłkę w twoim imieniu.
  • a – opcja która mówi o tym, że jeśli dany serwer w twojej domenie posiada rekord A w twojej domenie to zezwól na wysyłkę z tego serwera wiadomości. Standardowa konfiguracja przy hostingu współdzielonym.
  • mx – opcja pozwala na wysyłanie wiadomości e-mail jeśli w twojej domenie zdefiniowany jest rekord MX i z tych serwerów MX (pocztowych) zezwalaj na wysyłkę. Standardowa konfiguracja przy hostingu współdzielonym.
  • -all – może przyjmować postać”-all” lub „~all” lub „+all„. Z myślnikiem oznacza, że nikt poza zdefiniowanymi adresami nie będzie w stanie wysłać wiadomości e-mail w imieniu twojej domeny i mówi innym serwerom (odbiorcy), żeby te wiadomości odrzucały w ogóle. Takie nawet nie trafią do spamu. Opcja z tyldą mówi serwerowi odbiorcy, że może przyjąć taką wiadomość, ale najpewniej trafi ona do folderu Spam. Trzecią opcją specjalną jest „+all”, która mówi o tym, żeby mimo wszystko wpuszczać wszystkie wiadomości, które nie pochodzą ze zdefiniowanych adresów IP.

Czym jest rekord DKIM?

DomainKeys Identified Mail czyli w skrócie DKIM to rekord, który jest kolejnym zabezpieczeniem przed spamerami i określa czy wiadomość e-mail została podpisana przez klucz zlokalizowany na serwerze.

Każda wiadomość e-mail pochodząca z poprawnie skonfigurowanego, normalnego serwera pocztowego jest podpisana cyfrowym kluczem autentykującym. Klucz ten ma dwie postacie. Część prywatną, która służy do podpisywania wiadomości i jest to część tajna, umieszona na serwerze wysyłkowym i część publiczna, opublikowana właśnie rekordzie DKIM w DNS’ie dla danej domeny. Przy tworzeniu klucza DKIM na serwerze (w hostingu współdzielonym dzieje się to automatycznie) tworzy się więc dwa klucze, powiązane ze sobą: prywatny i publiczny. Prywatny zostaje na serwerze i tylko za jego pomocą można podpisać wiadomość. Część publiczną umieszcza się w publicznym rekordzie DNS nazywanym DKIM i jest to publiczna, jawna treść. Serwer odbiorcy ma za zadanie sprawdzić czy czy dana wiadomość, która właśnie przyszła ma klucz DKIM zgodny z tym opublikowanym w DNS. Co do zasady za pomocą klucza publicznego nie można podpisać wiadomości więc część umieszczona w DNS jest tylko skrótem tej właściwej wartości. Zatem jeśli masz opublikowany rekord DKIM, a wiadomość z twojej domeny nie będzie podpisana cyfrowo to najpewniej trafi do SPAM’u o ile w ogóle serwer ją wpuści (z reguły nie powinien). Nikt kto nie ma klucza prywatnego (umieszczony na serwerze wysyłkowym i tylko tam) nie będzie mógł podpisać e-maila w twoim imieniu. Hosting współdzielony robi to całkowicie automatycznie jeśli jest taka opcja ustawiona.

Czym jest rekord DMARC?

Ostatnim z rekordów, ale równie ważnym jest rekord DMARC, który określa czy dwa poprzednie rekordy są zgodne. Chodzi o to, że mamy SPF i DKIM jako zabezpieczenia. DMARC jest dodatkowym zabezpieczeniem, który mówi, że oba poprzednie muszą być zarówno ustawione jak i spełnione. SPF mówi, że IP musi pasować, DKIM, że musi pasować klucz, a DMARC, że oba poprzednie muszą być poprawne i pasować. Jeśli zatem SPF jest spełniony, ale DKIM nie to wiadomość i tak nie trafi do odbiorcy. Jeśli SPF nie jest spełniony, ale DKIM tak to również wiadomość nie trafi do odbiorcy.

Przykładowy rekord DMARC wygląda mniej więcej tak:

v=DMARC1; p=quarantaine; adkim=s; aspf=s;
v=DMARC1; p=quarantaine; adkim=s; aspf=s; rua=mailto:adres@domena.pl;

  • v=DMARC1 – informuje, że rekord DMARC istnieje i powinien zostać zinterpretowany przez serwer odbiorcy. Ten wpis musi podobnie jak w przypadku SPF pojawić się na początku rekordu i jest niezbędny.
  • p=quarantaine – informuje serwer odbiorcy, że wiadomości, które nie przeszły weryfikacji powinny iść na kwarantannę jako potencjalny SPAM. Można tu ustawić także „p=reject„, który poinformuje serwer odbiorcy, że nie pasujące wiadomości ma po prostu odrzucać. One nie trafią nawet do spamu.
  • adkim=s – oznacza „strict” czyli, że kontrola DKIM jest ściśle określona. Może przyjąć także wartość „adkim=r” czyli „relaxed” i zluzuje nieco politykę.
  • aspf=s – oznacza to samo co w przypadku adkim i można zostać podobnie złagodzona poprzez zmianę na „r”.
  • rua=mailto:adres@domena.pl – mówi o tym, gdzie kierować raporty z DMARC’a. Są to informacje od serwerów odbiorców ile wiadomości zostało przepuszczonych lub zablokowanych, innymi słowy czy ktoś się nie podszywał pod nas.

Powyższe jest podstawową konfiguracją rekordu DMARC. Jest jeszcze wiele innych opcji dodatkowych, ale te podstawowe powinny wystarczyć do skutecznej ochrony przed podszywaniem się pod nasza domenę.

Czy warto stosować ochronę potrójną SPF, DKIM i DMARC? Oczywiście, że tak bo jest to pierwsza linia obrony przed podszywaniem się pod naszą domenę. Jeśli takiej ochrony nie zastosujemy to prędzej czy później jakiś robot skanujący to odkryje i zacznie korzystając z istniejącej, prawdziwej domeny wysyłać SPAM przez co reputacja naszej domeny spadnie i wiadomości przestaną docierać do odbiorców.

Komentarze

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *