Czym jest DKIM i po co go włączać? Podpis cyfrowy dla poczty e-mail

Wyobraź sobie, że wysyłasz list z własnoręcznym podpisem, a odbiorca może porównać ten podpis z wzorcem i upewnić się, że list faktycznie pochodzi od Ciebie i nikt po drodze nie zmienił jego treści. DKIM (DomainKeys Identified Mail) to właśnie taki mechanizm dla poczty elektronicznej, cyfrowy podpis, który każda wysyłana przez Ciebie wiadomość nosi w nagłówku, a serwer pocztowy odbiorcy może ten podpis zweryfikować.

DKIM jest dziś jednym z trzech standardowych mechanizmów uwierzytelniania poczty obok SPF i DMARC. Bez niego e-maile z Twojej domeny mają znacznie wyższe ryzyko trafienia do spamu, szczególnie u dużych dostawców jak Gmail i Outlook.

Jak działa DKIM — mechanizm w skrócie

DKIM korzysta z kryptografii asymetrycznej, czyli pary kluczy: prywatnego i publicznego. Klucz prywatny jest przechowywany bezpiecznie na serwerze pocztowym i nigdy nie opuszcza serwera. Klucz publiczny jest opublikowany w rekordzie TXT w strefie DNS domeny i dostępny dla każdego, kto chce zweryfikować podpis.

Proces podpisywania i weryfikacji przebiega następująco:

  1. Wysyłasz e-mail. Serwer pocztowy oblicza skrót (hash) wybranych nagłówków i treści wiadomości.
  2. Skrót jest szyfrowany kluczem prywatnym tworząc podpis DKIM.
  3. Podpis DKIM jest dodawany do nagłówka wiadomości jako pole DKIM-Signature:.
  4. Wiadomość trafia do serwera pocztowego odbiorcy.
  5. Serwer odbiorcy odczytuje selektor DKIM z nagłówka wiadomości i pobiera klucz publiczny z DNS.
  6. Klucz publiczny deszyfruje podpis i porównuje z hash'em wiadomości. Jeśli się zgadzają — podpis jest prawidłowy.

Prawidłowy podpis DKIM potwierdza dwie rzeczy: że wiadomość pochodzi z serwera kontrolowanego przez właściciela domeny i że treść wiadomości nie była modyfikowana po podpisaniu.

DKIM vs SPF — czym się różnią?

SPF i DKIM chronią przed różnymi zagrożeniami i działają na różnych poziomach, dlatego potrzebujesz obu.

SPF weryfikuje, z jakiego serwera pochodzi wiadomość, czyli sprawdza adres IP serwera nadawcy. SPF nie chroni przed sytuacją, gdy wiadomość jest przechwycona i zmodyfikowana po drodze, ani gdy jest przekazywana (forwarding) przez pośredni serwer pocztowy.

DKIM weryfikuje, przez kogo wiadomość została podpisana i czy jej treść nie była modyfikowana. DKIM zachowuje ważność przy forwardowaniu (przekazywaniu) wiadomości , co SPF traci, bo adres IP serwera przekazującego nie jest na liście SPF domeny oryginalnego nadawcy.

Razem tworzą uzupełniające warstwy ochrony, które DMARC może wykorzystać do egzekwowania polityki bezpieczeństwa domeny.

Co to jest selektor DKIM?

Selektor DKIM (DKIM selector) to unikalny identyfikator pary kluczy. Pozwala używać wielu par kluczy DKIM dla tej samej domeny jednocześnie. Jest to istotne, gdy:

  • Wysyłasz pocztę z kilku różnych serwerów lub dostawców (każdy ma swój selektor i swoją parę kluczy).
  • Rotujesz klucze DKIM — możesz dodać nowy klucz, zanim usuniesz stary, bez przerwy w działaniu poczty.

Rekord TXT z kluczem publicznym DKIM jest publikowany pod adresem: selektor._domainkey.twojadomena.pl. Przykład:

google._domainkey.twojadomena.pl.    IN    TXT    "v=DKIM1; k=rsa; p=MIIBIjANBgk..."

W tym przykładzie google to selektor użyty przez Google Workspace. Wartość po p= to klucz publiczny RSA (skrócony dla czytelności).

Jak włączyć DKIM? — w zależności od dostawcy poczty

Google Workspace

  1. Zaloguj się do konsoli administracyjnej Google Workspace (admin.google.com).
  2. Przejdź do Aplikacje → Google Workspace → Gmail → Uwierzytelnianie poczty e-mail.
  3. Wybierz domenę i kliknij „Generuj nowy rekord". Pojawi się wartość rekordu TXT do dodania w DNS.
  4. Skopiuj wartość i dodaj jako rekord TXT w strefie DNS domeny (host: google._domainkey, typ: TXT, wartość: dostarczona przez Google).
  5. Po propagacji (odczekaj 15–60 minut) wróć do panelu Google i kliknij „Uruchom uwierzytelnianie".

Microsoft 365

  1. Zaloguj się do centrum zgodności Microsoft 365 (security.microsoft.com).
  2. Przejdź do Zasady i reguły → Zasady zagrożeń → Ustawienia uwierzytelniania poczty e-mail → DKIM.
  3. Wybierz domenę i kliknij „Włącz". Microsoft wyświetli dwa rekordy CNAME do dodania w DNS (Microsoft używa rekordów CNAME zamiast TXT dla DKIM).
  4. Dodaj oba rekordy CNAME w strefie DNS i poczekaj na propagację.

Serwer pocztowy hostingu (cPanel)

Większość hostingów z cPanel ma DKIM włączony domyślnie dla domen obsługiwanych przez ten serwer. Sprawdź w cPanel → E-mail → Uwierzytelnianie — jeśli DKIM jest aktywny, klucz publiczny jest już opublikowany w DNS automatycznie.

Własny serwer pocztowy (Postfix)

Na własnym serwerze, dostępnym przy korzystaniu z serwera VPS, DKIM konfiguruje się przez oprogramowanie takie jak OpenDKIM. Proces obejmuje instalację, generowanie pary kluczy, konfigurację Postfix i opublikowanie klucza publicznego w DNS. Dokumentacja OpenDKIM opisuje ten proces szczegółowo.

Jak zweryfikować, że DKIM działa?

Po dodaniu rekordu TXT i aktywacji DKIM po stronie serwera pocztowego:

  • mxtoolbox.com/dkim — wpisz domenę i selektor, aby sprawdzić, czy rekord TXT jest poprawnie opublikowany i odczytywalny.
  • mail-tester.com — wyślij testową wiadomość z konta domenowego. Raport pokaże wynik weryfikacji DKIM i pełne szczegóły podpisu.
  • Nagłówki odebranej wiadomości — w Gmail: „Pokaż oryginał". Szukaj linii DKIM-Signature: w nagłówku i dkim=pass w polu Authentication-Results:.
  • Google Admin Toolbox → Check MX — sprawdza konfigurację DKIM dla domeny.

Wynik dkim=pass w nagłówku odebranej wiadomości potwierdza, że DKIM działa prawidłowo.

Rotacja kluczy DKIM — dobra praktyka bezpieczeństwa

Klucze DKIM powinny być rotowane — zastępowane nowymi — co 6–12 miesięcy. Regularna rotacja ogranicza ryzyko związane z ewentualnym wyciekiem klucza prywatnego. Proces rotacji:

  1. Wygeneruj nową parę kluczy z nowym selektorem (np. zmień google na google2024).
  2. Opublikuj nowy klucz publiczny w DNS.
  3. Poczekaj na propagację (minimum 1 godzina, żeby serwery odbiorców miały nowy klucz w cache).
  4. Zmień konfigurację serwera pocztowego na używanie nowego klucza prywatnego.
  5. Pozostaw stary rekord TXT w DNS przez 1–2 tygodnie dla wiadomości wysłanych przed zmianą, które mogą trafiać do odbiorców z opóźnieniem.
  6. Usuń stary rekord TXT.

Zarządzanie kluczami DKIM, rotacją i konfiguracją całej infrastruktury pocztowej to jeden z elementów profesjonalnej opieki WordPress dla firm, które chcą mieć pewność niezawodnej poczty biznesowej bez samodzielnego zarządzania technikaliami.

Najczęstsze błędy przy konfiguracji DKIM

  • Rekord TXT zbyt długi dla panelu DNS — klucze RSA-2048 generują rekordy TXT przekraczające 255 znaków. Niektóre panele DNS wymagają podziału wartości na kilka łańcuchów w cudzysłowach. Sprawdź dokumentację swojego panelu DNS.
  • Brak propagacji DNS przed aktywacją DKIM — jeśli aktywujesz DKIM, zanim rekord TXT się propaguje, serwery odbiorców nie znajdą klucza publicznego i podpis będzie nieprawidłowy. Odczekaj minimum 15–30 minut po dodaniu rekordu TXT.
  • Nieprawidłowy selektor w konfiguracji serwera — serwer pocztowy używa selektora mail, ale rekord TXT jest opublikowany pod selektorem google. Sprawdź, czy selektor w konfiguracji serwera i w rekordzie DNS są identyczne.
  • Klucz RSA-1024 zamiast RSA-2048 — klucze 1024-bitowe są uważane za przestarzałe i mogą być odrzucane przez niektóre serwery pocztowe. Używaj minimum RSA-2048.

Prawidłowa konfiguracja DKIM jest szczególnie ważna przy konfiguracji bezpiecznego hostingu dla firmowej poczty. Błędy w podpisie DKIM prowadzą do odrzucania lub spamowania wiadomości, co jest trudne do zdiagnozowania bez znajomości nagłówków e-mail. Przed wprowadzaniem zmian w DNS warto mieć aktualną kopię zapasową konfiguracji serwera.

Podsumowanie

DKIM to cyfrowy podpis dla Twoich e-maili. Potwierdza ich autentyczność i nienaruszalność treści. Włączenie DKIM jest w większości przypadków proste: serwer pocztowy generuje parę kluczy, klucz publiczny trafia do DNS jako rekord TXT, a serwer pocztowy zaczyna podpisywać wychodzące wiadomości. DKIM działa najlepiej w połączeniu z SPF i DMARC, razem tworzą kompletny system uwierzytelniania poczty, który chroni Twoją domenę i zapewnia, że Twoje e-maile docierają do odbiorców.