Poczta elektroniczna pozostaje jednym z podstawowych sposobów komunikacji w internecie. Korzystają z niej firmy, sklepy internetowe, administratorzy stron, banki, urzędy i praktycznie każdy serwis wymagający kontaktu z użytkownikiem. Jednocześnie e-mail od wielu lat jest jednym z najczęściej wykorzystywanych narzędzi do phishingu, podszywania się pod firmy oraz rozsyłania spamu.
Samo posiadanie skrzynki we własnej domenie, np. info@domena.pl, nie oznacza jeszcze, że domena jest prawidłowo zabezpieczona przed podszywaniem się pod nadawcę.
Do ochrony poczty wykorzystuje się przede wszystkim trzy mechanizmy: SPF, DKIM i DMARC. Pierwsze dwa pomagają zweryfikować źródło i autentyczność wiadomości, natomiast DMARC określa, co serwer odbiorcy powinien zrobić, gdy wiadomość nie spełnia określonych zasad uwierzytelniania.
Co to jest DMARC?
DMARC to skrót od Domain-based Message Authentication, Reporting and Conformance. Jest to standard uwierzytelniania poczty elektronicznej działający w oparciu o istniejące mechanizmy SPF i DKIM.
W dużym uproszczeniu właściciel domeny publikuje w DNS informację:
„Tak należy weryfikować wiadomości wysyłane w imieniu mojej domeny i tak należy postępować z wiadomościami, które tej weryfikacji nie przejdą.”
DMARC nie jest więc programem instalowanym na serwerze ani dodatkową wtyczką do WordPressa. Jego polityka jest publikowana w DNS domeny.
Przykładowo dla domeny:
example.com
rekord DMARC znajduje się pod adresem:
_dmarc.example.com
Dlaczego DMARC jest potrzebny?
Adres nadawcy wiadomości e-mail można próbować sfałszować. Oszust może przygotować wiadomość wyglądającą tak, jak gdyby pochodziła z prawdziwej domeny firmy.
Może to być przykładowo fałszywa wiadomość:
From: faktury@example.com
mimo że w rzeczywistości została wysłana z infrastruktury niemającej nic wspólnego z example.com.
Tego typu działania określa się często jako spoofing poczty elektronicznej. Jest on szczególnie niebezpieczny w przypadku domen firmowych, sklepów internetowych czy serwisów posiadających rozpoznawalną markę.
DMARC pomaga serwerowi odbierającemu wiadomość ustalić, czy nadawca rzeczywiście ma prawo posługiwać się daną domeną.
SPF, DKIM i DMARC – trzy elementy jednej układanki
DMARC najlepiej rozpatrywać razem z SPF i DKIM.
SPF (Sender Policy Framework) określa, jakie serwery są uprawnione do wysyłania poczty dla danej domeny. Przykładowy SPF dla poczty obsługiwanej przez OVH może wyglądać następująco:
v=spf1 include:mx.ovh.com ~all
DKIM (DomainKeys Identified Mail) wykorzystuje podpis kryptograficzny dodawany do wysyłanej wiadomości. Serwer odbiorcy może za pomocą klucza opublikowanego w DNS sprawdzić podpis i zweryfikować autentyczność wiadomości.
DMARC wykorzystuje wyniki SPF i DKIM oraz sprawdza ich zgodność z domeną widoczną dla użytkownika w polu From:.
Dlatego dobrze skonfigurowaną domenę pocztową można w uproszczeniu przedstawić następująco:
SPF ✓DKIM ✓DMARC ✓
Każdy z tych mechanizmów ma inne zadanie i nie należy traktować ich jako zamienników.
Jak wygląda rekord DMARC?
Podstawowy rekord może wyglądać tak:
v=DMARC1; p=none
Publikowany jest dla:
_dmarc.example.com
Poszczególne elementy mają określone znaczenie.
v=DMARC1 wskazuje wersję standardu DMARC.
p=none określa politykę postępowania z wiadomościami. W tym przypadku właściciel domeny nie żąda ich odrzucania ani kierowania do kwarantanny.
Jest to bardzo dobre ustawienie na początek.
Polityki none, quarantine i reject
Jednym z najważniejszych parametrów DMARC jest p, czyli polityka domeny.
p=none
Przykład:
v=DMARC1; p=none
Jest to polityka monitorująca. DMARC działa, ale właściciel domeny nie nakazuje serwerom odbiorczym podejmowania restrykcyjnych działań wobec wiadomości, które nie przejdą kontroli.
To rozsądny wybór podczas pierwszego wdrożenia DMARC.
Pozwala uruchomić mechanizm bez ryzyka, że z powodu błędnej lub niepełnej konfiguracji legalna poczta zacznie być odrzucana.
p=quarantine
Kolejnym poziomem jest:
v=DMARC1; p=quarantine
Właściciel domeny informuje wówczas odbiorców, że wiadomości niespełniające wymagań DMARC powinny być traktowane jako podejrzane.
W zależności od dostawcy poczty mogą przykładowo trafić do folderu spam.
p=reject
Najbardziej restrykcyjna polityka to:
v=DMARC1; p=reject
Oznacza żądanie odrzucania wiadomości, które nie przejdą wymaganej weryfikacji DMARC.
Zapewnia to znacznie silniejszą ochronę przed podszywaniem się pod domenę, ale polityki reject nie powinno się włączać bez wcześniejszego upewnienia się, że wszystkie legalne źródła poczty zostały prawidłowo skonfigurowane.
Firma może przecież wysyłać wiadomości nie tylko z podstawowego serwera pocztowego. E-maile mogą pochodzić również ze sklepu internetowego, systemu newsletterów, programu księgowego, CRM, systemu obsługi klienta czy zewnętrznej platformy marketingowej.
Dlaczego p=none jest dobrym początkiem?
Administrator może zobaczyć w testerze DNS ostrzeżenie podobne do:
DMARC Policy Not Enabled
mimo że rekord DMARC został prawidłowo znaleziony.
Nie musi to oznaczać błędu.
Tester może po prostu informować, że domena korzysta z:
p=none
zamiast:
p=quarantine
lub:
p=reject
Nie warto zmieniać konfiguracji wyłącznie po to, aby wszystkie kontrolki w internetowym testerze stały się zielone.
Znacznie ważniejsze jest świadome wdrażanie zabezpieczeń.
Raporty DMARC – do czego służy parametr rua?
DMARC może również wskazywać adres, na który mają być wysyłane zbiorcze raporty dotyczące uwierzytelniania wiadomości.
Przykład:
v=DMARC1; p=none; rua=mailto:dmarc@example.com
Adres:
dmarc@example.com
może wtedy otrzymywać raporty od obsługujących tę funkcję dostawców poczty.
Raporty DMARC nie przypominają jednak zwykłych wiadomości przeznaczonych do czytania przez człowieka. Często są to dane w formacie XML zawierające informacje m.in. o źródłach wysyłających wiadomości oraz rezultatach SPF i DKIM.
Parametr rua jest opcjonalny. Jeżeli administrator nie zamierza analizować raportów, nie ma obowiązku podawania adresu.
Czy dla każdej skrzynki potrzebny jest osobny DMARC?
Nie.
Jeżeli w jednej domenie funkcjonują adresy:
info@example.comkontakt@example.combiuro@example.comsklep@example.com
nie tworzymy czterech rekordów DMARC.
Rekord:
_dmarc.example.com
dotyczy domeny i tym samym obejmuje pocztę korzystającą z tej domeny w adresie nadawcy.
To samo dotyczy domen mających kilkanaście czy kilkaset skrzynek.
DMARC a subdomeny
DMARC pozwala również określić politykę dotyczącą subdomen. Służy do tego parametr sp.
Przykładowo:
v=DMARC1; p=none; sp=none
oznacza politykę none zarówno dla domeny, jak i wskazaną politykę none dla jej subdomen.
W bardziej restrykcyjnych konfiguracjach można spotkać np.:
v=DMARC1; p=reject; sp=reject
Takie ustawienie powinno jednak wynikać ze świadomie przygotowanej polityki pocztowej.
Co oznacza aspf=r?
Niektóre kreatory DMARC pozwalają ustawić sposób dopasowania SPF. Możemy wtedy zobaczyć np.:
aspf=r
Litera r oznacza relaxed, czyli dopasowanie zrelaksowane.
Alternatywą jest:
aspf=s
gdzie s oznacza strict, czyli dopasowanie ścisłe.
W typowej konfiguracji pocztowej ustawienie zrelaksowane jest rozsądnym rozwiązaniem i często stanowi wartość domyślną.
Podobny mechanizm istnieje dla DKIM i oznaczany jest parametrem adkim.
Przykład prostego DMARC dla domeny firmowej
Jeżeli domena ma poprawnie działające SPF i DKIM, a DMARC dopiero wdrażamy, bardzo prostym punktem wyjścia jest:
v=DMARC1; p=none
Można również spotkać konfigurację:
v=DMARC1; p=none; sp=none; aspf=r
Nie oznacza to jednak, że bardziej rozbudowany rekord jest automatycznie lepszy. Parametry należy dodawać wtedy, gdy wiemy, do czego służą.
Gdzie dodaje się DMARC?
Rekord dodajemy w strefie DNS domeny, czyli tam, gdzie znajdują się również rekordy A, AAAA, MX, TXT, CNAME czy wpisy DKIM.
W tradycyjnym zapisie strefy DMARC jest publikowany jako rekord TXT pod nazwą _dmarc. W wielu współczesnych panelach hostingowych administrator nie musi jednak ręcznie tworzyć składni rekordu. Dostawca może udostępnić osobny kreator DMARC, który następnie generuje odpowiednią konfigurację DNS.
Ważny jest rezultat widoczny w publicznym DNS, a nie sposób, w jaki panel administracyjny prezentuje formularz.
Jak sprawdzić, czy DMARC działa?
Po dodaniu rekordu trzeba poczekać na jego publikację i propagację DNS. Czas zależy m.in. od TTL oraz pamięci podręcznej resolverów.
Następnie konfigurację można sprawdzić za pomocą internetowych testerów DNS, takich jak MXToolbox, które potrafią zweryfikować MX, SPF i DMARC.
Prawidłowy wynik powinien przede wszystkim potwierdzić obecność rekordu:
DMARC Record PublishedDMARC Record found
Jeżeli jednocześnie pojawia się ostrzeżenie dotyczące braku aktywnej polityki ochronnej, należy sprawdzić, czy wynika ono jedynie z zastosowania p=none.
DMARC a dostarczalność poczty
DMARC jest przede wszystkim mechanizmem uwierzytelniania i ochrony domeny, a nie magicznym sposobem na uniknięcie folderu spam.
Mimo to poprawna konfiguracja SPF, DKIM i DMARC jest istotnym elementem profesjonalnej infrastruktury pocztowej. Dostawcy poczty otrzymują dzięki niej więcej informacji pozwalających ocenić, czy wiadomość rzeczywiście pochodzi z deklarowanej domeny.
Trzeba jednak pamiętać, że na dostarczalność wpływa znacznie więcej czynników: reputacja domeny i adresu IP, treść wiadomości, historia wysyłki, zachowania odbiorców, liczba niedostarczonych wiadomości czy sposób prowadzenia masowej wysyłki.
DMARC nie zastępuje SPF i DKIM
Częstym błędem jest traktowanie tych technologii jako alternatyw:
„Mam DMARC, więc SPF nie jest już potrzebny”.
Tak to nie działa.
DMARC został zaprojektowany właśnie po to, aby współpracować z SPF i DKIM oraz sprawdzać odpowiednie dopasowanie domen.
Dlatego właściwym celem jest kompletna konfiguracja:
MX → kierowanie pocztySPF → autoryzowane źródła wysyłkiDKIM → podpis wiadomościDMARC → polityka i zgodność uwierzytelniania
Czy każda domena powinna mieć DMARC?
Jeżeli domena jest wykorzystywana do wysyłania poczty, zdecydowanie warto skonfigurować DMARC.
Dotyczy to szczególnie domen firmowych, sklepów internetowych, forów, portali, organizacji i innych serwisów, w których użytkownicy mogą ufać wiadomościom pochodzącym z konkretnego adresu.
Co ciekawe, DMARC może mieć sens również w przypadku domen, które nie powinny wysyłać żadnej poczty. W takiej sytuacji odpowiednio restrykcyjna konfiguracja SPF i DMARC może jasno komunikować odbiorcom, że wiadomości podszywające się pod taką domenę nie są legalną korespondencją. Jest to jednak osobny scenariusz i wymaga świadomego ustawienia polityki.
Podsumowanie – mały rekord DNS o dużym znaczeniu
DMARC jest stosunkowo prostym elementem DNS, ale stanowi ważną część współczesnego systemu uwierzytelniania poczty elektronicznej.
Dla administratora, który ma już poprawnie skonfigurowane SPF i DKIM, rozpoczęcie od:
v=DMARC1; p=none
jest bezpiecznym sposobem na uruchomienie DMARC bez natychmiastowego wprowadzania restrykcyjnej polityki.
Następnym krokiem może być obserwacja źródeł wysyłających pocztę, uporządkowanie SPF i DKIM, a dopiero później — jeśli konfiguracja została zweryfikowana — przejście do quarantine lub ostatecznie reject.
Najważniejsze jest bowiem nie to, aby tester DNS pokazywał jak najwięcej zielonych kontrolek, lecz aby SPF, DKIM i DMARC odpowiadały rzeczywistemu sposobowi korzystania z poczty w danej domenie.
