DKIM: co to jest, rekord DKIM i selektor
DKIM (DomainKeys Identified Mail) dowodzi dwóch rzeczy o wiadomości: wysłał ją serwer upoważniony przez domenę i nikt jej po drodze nie zmienił. Służy do tego para kluczy — prywatny zostaje na serwerze nadawcy, publiczny jest publikowany w DNS. W tym artykule omawiamy rekord DKIM, selektory, długość klucza, rotację i konfigurację w usługach pocztowych.
Jak działa DKIM
- Serwer nadawcy bierze wybrane nagłówki (From, Subject, Date i inne) oraz treść, oblicza skrót i podpisuje go kluczem prywatnym.
- Dodaje nagłówek
DKIM-Signaturez podpisem i informacjami, jak go zweryfikować. - Odbiorca czyta nagłówek, pobiera klucz publiczny z DNS i sprawdza podpis. Jeśli podpisana część się zmieniła, weryfikacja nie przechodzi.
Skrócony nagłówek podpisu:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=mail2025;
h=from:to:subject:date:message-id; bh=…; b=…
d=— domena podpisująca. Dla DMARC musi być dopasowana do domeny „Od”.s=— selektor, który mówi odbiorcy, gdzie szukać klucza.h=— lista podpisanych nagłówków;bh=— skrót treści;b=— sam podpis.
Jak wygląda rekord DKIM
Klucz publiczny publikuje się jako rekord TXT pod adresem selektor._domainkey.domena. Dla podpisu powyżej będzie to:
mail2025._domainkey.example.com. TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…"
| Znacznik | Znaczenie |
|---|---|
v=DKIM1 | Wersja; zalecana, a jeśli jest — musi być pierwsza. |
k=rsa | Typ klucza. RSA to wartość domyślna i bezpieczny wybór; ed25519 istnieje, ale nie wszędzie jest weryfikowany. |
p= | Klucz publiczny w base64. Puste p= oznacza unieważniony klucz. |
t=y | Tryb testowy. W kluczach produkcyjnych zbędny. |
Klucz 2048-bitowy jest dłuższy niż 255 znaków — limit pojedynczego ciągu w rekordzie TXT. Panele DNS radzą sobie z tym różnie: jedne dzielą wartość automatycznie, inne oczekują wklejenia jej jako kilku ciągów w cudzysłowach w jednym rekordzie. Jeśli klucz „się psuje”, zwykle omyłkowo podzielono go na dwa osobne rekordy — a powinien to być jeden rekord TXT złożony z kilku ciągów.
Czym jest selektor DKIM i po co ich kilka
Selektor to po prostu nazwa wybrana przez Ciebie lub dostawcę: google, selector1, s1, mail2025. Istnieje po to, by jedna domena mogła mieć wiele kluczy jednocześnie:
- dla dostawcy skrzynek;
- dla platformy newsletterowej;
- dla helpdesku lub CRM;
- nowy klucz na czas rotacji, gdy stary jest jeszcze ważny.
Przez DNS nie da się pobrać listy wszystkich selektorów domeny — można zapytać tylko o konkretną nazwę. Dlatego narzędzia sprawdzające próbują popularnych selektorów, a pewnym sposobem jest odczytanie selektora z prawdziwej wiadomości.
Jak znaleźć selektor w nagłówkach wiadomości
- Wyślij wiadomość z usługi, którą chcesz sprawdzić, na skrzynkę, do której masz dostęp.
- Otwórz oryginał wiadomości z pełnymi nagłówkami. Większość programów pocztowych ma w menu wiadomości opcję „Pokaż oryginał”, „Źródło wiadomości” lub „Nagłówki”.
- Znajdź nagłówek
DKIM-Signature: wartośćs=to selektor,d=to domena. - Zajrzyj też do
Authentication-Results, który dodaje odbiorca: znajdziesz tamdkim=passlubfaili domenę. - Wpisz domenę i selektor w sprawdzenie DKIM — zobaczysz opublikowany klucz, jego typ i długość. Bez selektora narzędzie sprawdzi około 30 popularnych.
Długość klucza: 1024 czy 2048 bitów
Standard DKIM wymaga od nadawców kluczy co najmniej 1024-bitowych i zaleca 2048 bitów. Klucze 512- i 768-bitowe uznaje się za możliwe do złamania i odbiorcy mogą je ignorować. W praktyce:
- Używaj 2048 bitów wszędzie, gdzie obsługuje to dostawca i panel DNS — dziś prawie wszędzie.
- 1024 bity wciąż przechodzą weryfikację, ale nie ma powodu wybierać tej długości dla nowego klucza.
- Dłuższe klucze (4096) rzadko są potrzebne, a niektóre panele DNS źle radzą sobie z ich długością.
Dla przykładu: promopilot.link podpisuje pocztę selektorem mail i kluczem RSA 2048 bitów (sprawdzone w październiku 2026).
Klucze delegowane przez CNAME
Wielu dostawców nie prosi o publikację samego klucza. Zamiast tego publikujesz CNAME, który kieruje selektor na rekord kontrolowany przez dostawcę:
selector1._domainkey.example.com. CNAME selector1-example-com._domainkey.provider.example.net.
Zaleta: dostawca może wymieniać klucze bez Twojego udziału. Tak działa Microsoft 365 z dwoma selektorami, selector1 i selector2: publikujesz oba CNAME, a usługa przełącza się między nimi przy rotacji. Wiele platform newsletterowych i transakcyjnych również wydaje dwa lub trzy rekordy CNAME. Zawsze kopiuj dokładne wartości z panelu administracyjnego dostawcy — zawierają nazwę Twojego konta i nie da się ich zgadnąć.
Jak skonfigurować DKIM
- Spisz wszystkie usługi wysyłające pocztę jako Twoja domena: skrzynki, newsletter, CRM, helpdesk, faktury, formularze na stronie.
- W panelu administracyjnym każdej usługi znajdź sekcję uwierzytelniania domeny lub DKIM i dodaj swoją domenę. Usługa wygeneruje parę kluczy albo rekordy CNAME.
- Opublikuj rekordy w panelu DNS dokładnie tak, jak je podano: nazwę (selektor plus
._domainkey), typ i wartość. - Poczekaj na aktualizację DNS, wróć do usługi i kliknij weryfikację lub włączenie podpisu. Niektórzy dostawcy nie zaczną podpisywać, dopóki tego nie zrobisz.
- Wyślij wiadomość testową i sprawdź w nagłówkach
dkim=passz Twoją domeną wd=. - Powtórz dla każdej usługi, a potem opublikuj DMARC, żeby zobaczyć pełny obraz — zob. jak skonfigurować DMARC.
Rotacja kluczy
Klucz, który nigdy się nie zmienia, mógł już zostać przejęty. Czysta rotacja wygląda tak:
- Wygeneruj nową parę kluczy i opublikuj klucz publiczny pod nowym selektorem.
- Przełącz podpisywanie na nowy selektor.
- Zostaw stary rekord przynajmniej na kilka dni, aby opóźnione wiadomości z kolejek nadal przechodziły weryfikację.
- Unieważnij stary klucz, publikując rekord z pustym
p=, albo go usuń.
Przy kluczach przez CNAME kroki 1–3 wykonuje dostawca. Jeśli zarządzasz kluczami sam, częstą praktyką jest rotacja co 6–12 miesięcy.
Częste problemy z DKIM
- Rekord nie jest znajdowany — błędna nazwa. Niektóre panele same dopisują domenę i
mail._domainkey.example.comzamienia się wmail._domainkey.example.com.example.com. Wpisz tylkomail._domainkey. - Uszkodzony klucz — zbędne spacje, cudzysłowy lub złamania wiersza w
p=albo klucz podzielony na dwa rekordy. - Podpis nie przechodzi po wysłaniu — coś zmienia wiadomość po podpisaniu: bramka dopisująca stopkę, lista dyskusyjna, filtr bezpieczeństwa.
- DKIM przechodzi, a DMARC nie — usługa podpisuje własną domeną. Włącz podpisywanie Twoją.
Dlaczego dla DMARC DKIM jest ważniejszy niż SPF
SPF jest związany z adresem IP, z którego doręczono wiadomość, więc psuje się przy każdym przekierowaniu: serwera przekazującego nie ma w Twoim rekordzie SPF. Podpis DKIM podróżuje wewnątrz wiadomości i przetrwa przekierowanie, dopóki podpisane części się nie zmieniają. Dlatego domena oparta wyłącznie na SPF widzi w raportach DMARC niepowodzenia z przekazanej poczty, a domena z dopasowanym DKIM w każdym strumieniu — nie. Jeśli u zewnętrznego nadawcy możesz poprawić tylko jedno, włącz DKIM z Twoją domeną.
DKIM to jedna z trzech części. Jak współpracuje z SPF i DMARC, wyjaśnia artykuł SPF, DKIM i DMARC: uwierzytelnianie poczty; resztę konfiguracji poczty sprawdzisz w sprawdzeniu SPF, sprawdzeniu MX i sprawdzeniu IP na czarnych listach.