Kilka dni temu napisałem artykuł „jeśli poczta e-mail, to najlepiej we własnej domenie, czyli subiektywny przegląd dostępnych możliwości (rozwiązań)”, w którym przedstawiłem kilka sposobów na pocztę e-mail we własnej domenie. Niezależnie od tego, kto, jaki sposób wybierze, zawsze będzie jeden element wspólny – konfiguracja rekordów DNS dla domeny. Nie tylko, by w ogóle umożliwić prawidłowe działanie poczty, ale również zapewnić jak największe szanse na to, że wiadomości z naszej domeny dotrą do adresata…

Konfiguracja rekordów DNS dla poczty we własnej domenie

Pierwotnie, niejako w drugiej części serii poświęconej poczcie e-mail w ramach własnej domeny (artykuł, który czytasz, będzie jeszcze część trzecia – własny serwer pocztowy) planowałem krok po kroku przedstawić m.in. zakładanie konta, dodawanie domeny, oraz podstawową konfigurację, u 1 lub 2 wybranych dostawców tego typu usług (poczta e-mail).

Uznałem jednak, że skoro ktoś umie kupić (wydzierżawić) domenę, do tego myśli o samodzielnej konfiguracji poczty w ramach posiadanej domeny, to… raczej nie powinien mieć problemów z założeniem konta i dodaniem domeny w panelu klienta. W innym przypadku warto się zastanowić, czy nie powierzyć tego zadania do realizacji komuś innemu… Zresztą, jakby ktoś z Was bardzo potrzebował kilku-ekranowego poradnika jak np. założyć konto w Zoho, to chyba jakiś czas temu mignął mi tego typu artykuł na którymś techno-pudelku, co to (niby) blisko technologii jest… ;-)

Rekordy DNS

Uznałem, że zamiast ego lepiej będzie się skupić na prawidłowej konfiguracji rekordów DNS. Bo nie dość, że jest to element niezbędny w ogóle do działania poczty, to z doświadczenia wiem, że potrafi sprawić najwięcej problemów. I to pomimo, że większość dostawców usług pocztowych w swoich panelach wskazuje jakie rekordy ustawić, oraz ma narzędzia, pozwalające zweryfikować, czy wszystko jest ustawione prawidłowo.

Rekord MX (Mail Exchanger)

Pierwszym rekordem (lub rekordami, gdy serwerów pocztowych jest więcej) jest rekord MX, który wskazuje na serwer (serwery) pocztowe wykorzystywane dla obsługi poczty e-mail w danej domenie.

Taki rekord najczęściej ma postać:

W powyższym przypadku dla głównej domeny (@ lub nazwa domeny) ustawiam pierwszy serwer pocztowy (mail01.webinsider.pl) i nadaje mu priorytet 10 (jeśli jest więcej niż jeden zdefiniowany serwer, to jest używany ten o najwyższym priorytecie, czyli najniższej wartości, a w przypadku jego niedostępności kolejny, i kolejny, i…).

Adresy serwerów, jak i ich „proponowane” priorytety podaje każdy dostawca poczty. Jeśli natomiast korzystacie z własnego serwera pocztowego (o tym niebawem), to możecie podać albo jego adres IP, lub domenę/subdomenę, po wcześniejszym ustawieniu rekordu A, wskazującego na ten serwer.

Rekordy TXT (short for text)

I tak dochodzimy do trochę bardziej skomplikowanych rekordów, choć w większości tylko pozornie, bo odpowiednie wartości do poszczególnych rekordów zazwyczaj również podają dostawcy usług pocztowych. Dodatkowo – przynajmniej teoretycznie – poczta e-mail w naszej domenie może działać bez nich, choć istnieje spora szansa, że nasze wiadomości będą lądowały w SPAMie, lub zaraz jakiś SPAMer z ochotą skorzysta z prezentu, i podszyje się pod naszą domenę, tym samym niszcząc jej reputację.

Rekordy TXT wykorzystujemy do wprowadzenia (dodatkowych) rekordów do strefy DNS naszej domeny, których celem jest m.in. ograniczenie możliwości wysyłki wiadomości „w naszym imieniu” przez nieautoryzowane serwery. Te rekordy to:

Sender Policy Framework (SPF)

Chyba najbardziej powszechny, i obecnie raczej ciężko trafić na dobrze skonfigurowaną pocztę, dla której rekord ten nie byłby ustawiony. Rekord ten pozwala nam jasno określić, jakie serwery mogą wysyłać wiadomości e-mail z konta w danej domenie.

Podstawowa jego postać może wyglądać tak:

webinsider.pl. IN TXT "v=spf1"

I jest to zapis ogólny, informujący o tym, że dla domeny webinsider.pl ustanawiamy rekord TXT o zawartości „v=spf1”. Ale taki rekord to właściwie sztuka dla sztuki i równie dobrze mogłoby go nie być.

Dlatego można go rozbudować o informacje, że poczta w ramach domeny ma być przyjmowana z serwer MX określonych w strefie DNS domeny:

v=spf1 mx

Możemy do tego dołożyć główny serwer, na którym znajduje się strona WWW (często spotykane w przypadku hostingów):

v=spf1 mx a

Możemy też dodać adres IP (IP4) serwera, który będzie mógł wysyłać pocztę:

v=spf1 mx a ip4:123.123.123.123

Możemy dołożyć też dodatkowy serwer:

v=spf1 mx a ip4:123.123.123.123 a:mail.webinsider.pl

A nawet inną domenę (będą brane pod uwagę również jej ustawienia, m.in. zawartość rekordu SPF):

v=spf1 mx a ip4:123.123.123.123 a:mail.webinsider.pl include:nie-webinsider.pl

Gdy już mamy zdefiniowane kto (jakie serwer) może wysyłać pocztę w ramach domeny, warto zdecydować, co ma się dziać z wiadomościami, które będą wysyłać nieuprawnione (wg rekordy SPF) serwery.

W tym celu korzystamy z operatorów:

  • Przepuść: +
  • Odbij: –
  • Miękkie odbicie: ~
  • Neutralne: ?

Możemy takie wiadomości normalnie przepuszczać:

v=spf1 mx a ip4:123.123.123.123 a:mail.webinsider.pl include:nie-webinsider.pl ?all

Możemy przepuszczać, ale oznaczyć (oflagować) je jako „podejrzane”:

v=spf1 mx a ip4:123.123.123.123 a:mail.webinsider.pl include:nie-webinsider.pl ~all

Możemy też odrzucić:

v=spf1 mx a ip4:123.123.123.123 a:mail.webinsider.pl include:nie-webinsider.pl -all

Jako podsumowanie weźmy taki rekord:

Many tu rekord TXT/SPF dla domeny webinsider.pl (bo może dotyczyć też subdomen), który informuje, że pocztę mogą wysyłać serwery wskazane w rekordach MX, w rekordach A, serwer mail.webinsider.pl, oraz serwery zdefiniowane (rekordem TXT/SPF) dla domeny mail.nie-webinsider.pl (może to być np. jakaś usługa typu SMTP czy newsletter).

DomainKeys Identified Mail (DKIM)

Kolejnym rekordem, który obecnie raczej jest już standardem, jest rekord DKIM (sygnatura DKIM), który uniemożliwia wysyłanie wiadomości e-mail, w których ktoś nieuprawniony podszywa się pod naszą domenę  – powiedzmy, że coś jak SPF, ale oparte nie tyle na konkretnych serwerach, co kryptografii/kluczach.

I choć jest to zdefiniowany standard, to tutaj dokładna treść, jak i sama nazwa rekordu TXT zależy już od dostawcy, ale zazwyczaj będzie miała postać w stylu:

Na powyższym przykładzie tworzymy rekord TXT o nazwie:

_domainkey.webinsider.pl

I zawartości:

v=DKIM1; k=rsa; h=sha256; p=CUgZuhhkP8LapHpX5bN2Y9FVV3CAcHvmmbmAHz5BsGqwPHhmfPhj2Ltxuj4nBmaa9krYXGbq9t5fud4Lz2gpxC5XfLVhfFPJf3nhM5aucRue4zmwUVUByFvtwzE5quWC

Ale jak już wspomniałem, jest to tylko przykład, i dokładną nazwę rekordu i jego treść podaje dostawca (choć często na samą nazwę mamy jakiś tam wpływ).

Domain-based Message Authentication, Reporting and Conformance (DMARC)

Gdy mamy już ustawione rekordy SPF i DKIM zewnętrzne serwery pocztowe wiedzą kto może wysyłać w ramach naszej domeny wiadomości e-mail, oraz jak wyłapać potencjalne próby podszywania się pod adresy znajdujące się w naszej domenie. I to jest moim zdaniem podstawa, takie minimum.

Możemy jednak pójść o krok dalej, i poinformować co robić z wiadomościami, które nie przeszły kontroli, oraz czy i jak informować nas o takim fakcie. Do tego służy rekord DMARC.

Nazwa rekordu (TXT) zazwyczaj ma postać w stylu:

_dmarc.nasza-domena

Możemy przepuszczać wszystkie wiadomości, które nie przeszły kontroli, z prośbą o przesłanie do nas zbiorczego raportu (raport dzienny) z informacją o tym, z jakimi wiadomościami był problem (np. na adres dmarc@nasza-domena):

v=DMARC1; p=none; rua=mailto:dmarc@nasza-domena

Możemy przepuścić część podejrzanych wiadomości, a część (procent) poddać kwarantannie, np. 50% + zbiorczy raport:

v=DMARC1; p=quarantine; pct=50; rua=mailto:dmarc@nasza-domena

Możemy oczywiście też bezwzględnie odrzucić wszystkie wiadomości, które nie przejdą kontroli (+ oczywiście raport, który przydaje się choćby w celu analizy):

v=DMARC1; p=reject; rua=mailto: mailto:dmarc@nasza-domena

I choć ten rekord (DMARC) nie jest jeszcze tak popularny, jak pozostałe (SPF i DKIM), to w miarę możliwości zachęcam do tego, by z niego korzystać. Nawet jeśli sam (jeszcze) nie mam go ustawionego dla wszystkich swoich domen… ;-)

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk