DKIM vs DMARC
DKIM to metoda uwierzytelniania — podpis kryptograficzny dowodzący, że wiadomość jest autoryzowana i niezmieniona. DMARC to warstwa polityki i raportowania zbudowana na wierzchu DKIM (i SPF): sprawdza zgodność z widoczną domeną From i mówi odbiorcom, co zrobić przy niepowodzeniu. Nie są alternatywami.
Ten przewodnik jest częścią naszego przewodnika po uwierzytelnianiu poczty e-mail. Powiązane: SPF vs DKIM oraz SPF vs DMARC.
DKIM to metoda uwierzytelniania: podpis kryptograficzny, który dowodzi, że wiadomość została autoryzowana przez domenę wysyłającą i nie została zmieniona w tranzycie. DMARC to warstwa polityki i raportowania, która wykorzystuje wyniki DKIM (i SPF), sprawdza, czy są one zgodne z widoczną domeną From, i mówi odbiorcom, co zrobić, gdy wiadomość zawiedzie. Nie są alternatywami — DMARC jest zbudowany na wierzchu DKIM.
Co robi DKIM
DKIM (DomainKeys Identified Mail) pozwala serwerowi wysyłającemu dołączyć podpis kryptograficzny do każdej wychodzącej wiadomości. Serwer podpisuje wybrane nagłówki oraz treść kluczem prywatnym, a odbiorcy weryfikują ten podpis względem klucza publicznego opublikowanego w DNS domeny wysyłającej. Jeśli weryfikacja się powiedzie, odbiorca wie dwie rzeczy: wiadomość została autoryzowana przez domenę kontrolującą klucz podpisujący, a podpisana treść nie została zmodyfikowana między wysłaniem a dostarczeniem.
Ten podpis wędruje w ukrytym nagłówku zwanym podpisem DKIM. Zapisuje on, która domena podpisała wiadomość, który selektor wskazuje na klucz publiczny i które nagłówki zostały objęte. Co kluczowe, sam DKIM odpowiada wyłącznie na pytanie „czy ten podpis jest prawidłowy?”. Nie decyduje, co odbiorca powinien zrobić z niepodpisaną lub nieprawidłową wiadomością, i niczego nie raportuje właścicielowi domeny. Jest mechanizmem weryfikacji, a nie systemem egzekwowania czy monitorowania.
Co robi DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) znajduje się o poziom wyżej. Sam nie podpisuje ani nie weryfikuje wiadomości — zamiast tego wykorzystuje wyniki pass/fail z DKIM i SPF oraz dodaje trzy rzeczy, których im brakuje.
Po pierwsze, zgodność. DMARC wymaga, aby przechodzący wynik DKIM (lub SPF) należał do tej samej domeny, którą człowiek widzi w nagłówku From. Prawidłowy podpis z niepowiązanej domeny nie spełnia DMARC. Zamyka to lukę, która pozwala atakującym przejść uwierzytelnianie, wciąż podszywając się pod Twoją markę.
Po drugie, polityka. Rekord DMARC opublikowany w DNS mówi odbiorcom, jak traktować wiadomości, które nie przejdą zgodności: p=none (tylko monitorowanie), p=quarantine (kieruj do spamu) lub p=reject (blokuj wprost). Zaczynasz od none, by obserwować, a następnie zaostrzasz w stronę reject.
Po trzecie, raportowanie zbiorcze. Odbiorcy odsyłają raporty XML pokazujące każde źródło wysyłające pocztę jako Twoja domena — zarówno legalne, jak i oszukańcze. Każdy opublikowany rekord możesz zwalidować walidatorem DMARC, zanim się na nim oprzesz.
DKIM vs DMARC w skrócie
| Aspekt | DKIM | DMARC |
|---|---|---|
| Cel | Kryptograficznie podpisywać i weryfikować wiadomości | Egzekwować politykę i raportować wyniki uwierzytelniania |
| Co sprawdza | Prawidłowość podpisu i integralność wiadomości | Czy DKIM/SPF przechodzą oraz są zgodne z domeną From |
| Gdzie jest publikowany | Rekord DNS TXT pod selektorem plus nagłówek w każdej wiadomości | Pojedynczy rekord DNS TXT pod _dmarc.yourdomain.com |
| Generuje raporty? | Nie | Tak — raporty zbiorcze (i opcjonalnie forensyczne) |
| Czy może działać sam? | Weryfikuje, ale nie może egzekwować ani raportować | Nie — potrzebuje wyników DKIM i/lub SPF do oceny |
Jak współpracują
DMARC nigdy nie zastępuje DKIM; od niego zależy. Gdy wiadomość dociera, odbiorca sprawdza podpis DKIM oraz wynik SPF. DMARC zadaje wówczas bardziej rygorystyczne pytanie: czy przynajmniej jeden z nich przeszedł oraz czy przechodząca domena pasuje do adresu From, który widzi odbiorca?
Wiadomość przechodzi DMARC, gdy DKIM uwierzytelnia wiadomość, a domena podpisująca jest zgodna z domeną From (SPF może spełnić zgodność w ten sam sposób). Jeśli zarówno DKIM, jak i SPF zawiodą zgodność, DMARC stosuje opublikowaną przez Ciebie politykę — quarantine lub reject.
Właśnie dlatego oba się uzupełniają. Sam DKIM dowodzi, że wiadomość jest autentyczna i niezmieniona, ale nie robi nic, gdy wiadomości brakuje podpisu lub jest sfałszowana. Sam DMARC nie ma kryptograficznego dowodu do oceny — może jedynie egzekwować i raportować wyniki, które przekazują mu DKIM i SPF. Razem DKIM dostarcza godny zaufania sygnał, a DMARC zamienia ten sygnał w egzekwowanie i widoczność.
Czy potrzebujesz obu?
Tak. Rozwiązują różne połowy tego samego problemu i żaden nie jest kompletny samodzielnie.
DKIM bez DMARC pozostawia realne luki. Prawidłowy podpis dowodzi, że wiadomości nie naruszono, ale nic nie zmusza odbiorców do odrzucania niepodpisanej poczty i nic nie mówi Ci, kto wysyła w Twoim imieniu. Atakujący wciąż mogą podszyć się pod Twój adres From bez żadnego podpisu, a Ty nigdy byś tego nie zobaczył.
DMARC bez DKIM (lub SPF) nie ma czego egzekwować. DMARC ocenia wyniki uwierzytelniania — jeśli żadna metoda bazowa nie daje przechodzącego, zgodnego wyniku, DMARC może jedynie odrzucić każdą wiadomość, co psuje legalną pocztę. Potrzebujesz co najmniej jednej metody uwierzytelniania, która go zasila, a DKIM jest najtrwalszy, bo jego podpis lepiej przetrwa przekierowanie niż SPF.
Praktyczna odpowiedź dla każdej domeny wysyłającej pocztę: wdróż SPF i DKIM jako warstwę uwierzytelniania, a następnie nałóż na wierzch DMARC, aby zapewnić zgodność, egzekwowanie i monitorowanie.
Najczęściej zadawane pytania
Jaka jest różnica między DKIM a DMARC?
DKIM to metoda uwierzytelniania, która dołącza podpis kryptograficzny do każdej wiadomości, aby odbiorcy mogli zweryfikować, że została autoryzowana i niezmieniona. DMARC to warstwa polityki i raportowania, która odczytuje wyniki DKIM i SPF, sprawdza, czy są zgodne z widoczną domeną From, i instruuje odbiorców, jak obsługiwać niepowodzenia. Jeden weryfikuje; drugi egzekwuje i raportuje.
Czy DMARC jest lepszy niż DKIM?
Żaden nie jest lepszy — wykonują różne zadania i zależą od siebie nawzajem. DKIM dostarcza kryptograficzny dowód, że wiadomość jest autentyczna i niezmodyfikowana. DMARC wykorzystuje ten dowód, dodaje zgodność z domeną From, egzekwuje politykę i odsyła raporty. Bez DKIM DMARC nie ma czego oceniać; bez DMARC DKIM nie może niczego egzekwować ani monitorować.
Czy mogę używać DMARC bez DKIM?
Technicznie DMARC może przejść na samym SPF, więc zadziała bez DKIM. Ale jest to kruche: SPF psuje się, gdy poczta jest przekierowywana, podczas gdy podpis DKIM przetrwa przekierowanie. Poleganie wyłącznie na SPF w kwestii zgodności oznacza, że legalna przekierowana poczta może zawieść DMARC. Dla niezawodnego egzekwowania opublikuj zarówno SPF, jak i DKIM, zanim zaostrzysz politykę DMARC.
Czy DKIM wymaga DMARC?
Nie — DKIM działa niezależnie i będzie podpisywać oraz weryfikować wiadomości bez jakiegokolwiek rekordu DMARC. Ale sam DKIM nie może zmusić odbiorców do reagowania na niepowodzenia ani powiedzieć Ci, kto podszywa się pod Twoją domenę. Dodanie DMARC na wierzchu zamienia wyniki weryfikacji DKIM w egzekwowalną politykę i daje raportowanie potrzebne, by zobaczyć każde źródło wysyłające jako Twoja domena.