Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

DKIM w praktyce: selektory, klucze i usługi

Moduł 4: Dostarczalność: SPF, DKIM i DMARC w praktyce · Czas czytania: 12 minut

Cel lekcji: Po tej lekcji będą Państwo potrafili rozłożyć na czynniki nagłówek DKIM-Signature, skonfigurować DKIM z własną domeną dla każdej usługi wysyłkowej, sprawdzić, czy selektor działa, oraz wyjaśnić, jak bezpiecznie wymieniać klucze.

Kluczowe pojęcia: DKIM-Signature, d= (domena podpisująca), s= (selektor), h= (podpisane nagłówki), bh= i b=, kanonikalizacja (c=), <selector>._domainkey.<domein>, rekord TXT z p= lub CNAME do usługi, długość klucza 2048 bitów (RFC 8301), fragmenty po 255 znaków, ed25519 (RFC 8463), wymiana klucza, puste p= (unieważnienie), DKIM a przekierowanie

Dlaczego DKIM jest najważniejszy z całej trójki

SPF określa, które serwery mogą wysyłać pocztę, ale zawodzi przy przekierowaniu i sprawdza Return-Path, który w przypadku wielu usług nie należy do Państwa. DKIM umieszcza podpis w samej wiadomości. Ten podpis przetrwa przekierowanie (o ile wiadomość nie zostanie zmieniona) i jest powiązany z domeną, którą Państwo wybiorą. Dlatego w praktyce DKIM jest często jedynym mechanizmem, który pozwala przejść DMARC w przypadku newsletterów, faktur z programu księgowego oraz przekierowanej poczty.

Podstawy (jak klucz jest zapisany w DNS, czym jest selektor) znajdą Państwo w kursie DNS, lekcja 4.4. Tutaj idziemy dalej: co dokładnie zawiera podpis i jak skonfigurować DKIM dla każdej usługi?

Rozkładanie podpisu na czynniki

Proszę otworzyć nagłówki otrzymanej wiadomości (lekcja 1.5). Na górze, jeśli wiadomość jest podpisana, znajduje się coś takiego:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com; s=x;
	t=1762588800; h=from:to:subject:date:message-id:mime-version:content-type;
	bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
	b=Gm7yW3q...długi ciąg znaków...Qx9A==
ZnacznikZnaczenie
v=1Wersja DKIM
a=rsa-sha256Algorytm: klucz RSA, SHA-256. Możliwe jest też: ed25519-sha256
c=relaxed/relaxedKanonikalizacja: jak rygorystycznie traktowane są drobne zmiany (spacje, wielkie litery w nazwach nagłówków), osobno dla nagłówków i treści. relaxed jest powszechne i bardziej tolerancyjne niż simple
d=example.comDomena podpisująca. Ta domena ręczy za wiadomość. DMARC porównuje ją z adresem Od
s=xSelektor: który klucz tej domeny został użyty
t=Moment podpisania (sekundy od 1970 roku)
h=Które nagłówki zostały podpisane. from musi się tam zawsze znajdować
bh=Odcisk cyfrowy (hash) treści wiadomości
b=Sam podpis

Odbiorca pobiera klucz publiczny z <s>._domainkey.<d>, w tym przypadku x._domainkey.example.com, i sprawdza, czy b= pasuje do nagłówków z h= oraz odcisku cyfrowego bh=. Jeśli po drodze zmieniono choć jedną literę w treści lub w podpisanym nagłówku, weryfikacja się nie powiedzie.

W Authentication-Results widoczny jest wynik, na przykład dkim=pass header.d=example.com header.s=x. Wiadomość może mieć kilka podpisów, na przykład jeden od Państwa domeny i jeden od samej usługi. Dla DMARC liczy się wyłącznie podpis, którego d= odpowiada Państwa domenie Od.

Każda usługa ma własny selektor

Domena może mieć wiele kluczy DKIM jednocześnie, każdy pod własnym selektorem. Dokładnie o to chodzi: każda usługa wysyłająca pocztę w Państwa imieniu podpisuje własnym kluczem.

NadawcaSelektor (przykład)Jak jest zapisany w DNS
Serwer pocztowy hostingux lub defaultTXT z kluczem, utworzony przez panel
Microsoft 365selector1, selector2dwa rekordy CNAME do Microsoft
Google Workspacegoogle (domyślnie)TXT z kluczem, który tworzą Państwo w konsoli administracyjnej
Usługa newsletterowana przykład k2, k3, mte1zwykle rekordy CNAME do usługi

TXT czy CNAME?

  • Przy rekordzie TXT samodzielnie umieszczają Państwo klucz publiczny w swoim DNS. Jeśli usługa chce nowy klucz, muszą Państwo zaktualizować rekord.
  • Przy rekordzie CNAME wskazują Państwo selektor na nazwę u usługodawcy, na przykład k2._domainkey.example.com CNAME dkim2.mailer.example. Usługa zarządza wtedy kluczem samodzielnie i może go wymienić bez żadnej czynności z Państwa strony. Dlatego duże usługi wybierają CNAME, często używając dwóch takich rekordów: dzięki temu mogą przełączać się między aktywnym a nowym kluczem.

Proszę zwrócić uwagę: rekord CNAME nie może istnieć obok innego rekordu pod tą samą nazwą. Jeśli pod selector1._domainkey znajduje się już TXT, należy go usunąć.

Najważniejsze: włączenie DKIM w usłudze

W wielu usługach DKIM z własną domeną nie jest domyślnie włączony. Usługa podpisuje wtedy własną domeną (d=mailer.example). Wiadomość jest wprawdzie podpisana, ale nie jest dopasowana do Państwa adresu Od. Dla DMARC to się nie liczy. W panelu administracyjnym usługi nazywa się to często "weryfikacja domeny", "uwierzytelnienie" lub "własna domena nadawcy". Dopiero po ustawieniu rekordów ORAZ włączeniu tej opcji w usłudze, podpisuje ona wiadomości jako d=example.com.

Klucze: długość, fragmenty i algorytm

  • Długość. RFC 8301 mówi: co najmniej 1024 bity, a nadawcy powinni używać co najmniej 2048 bitów. Proszę używać 2048. Klucz 512-bitowy jest uznawany przez odbiorców za nieprawidłowy.
  • Fragmenty po 255 znaków. Rekord TXT składa się z ciągów znaków o maksymalnej długości 255 znaków. Klucz 2048-bitowy ma około 400 znaków i nie mieści się w jednym ciągu. Rekord składa się wtedy z dwóch lub więcej ciągów po sobie ("v=DKIM1; k=rsa; p=MIIBIj..." "...IDAQAB"), które odbiorca łączy w całość. Większość paneli robi to automatycznie. Jeśli coś pójdzie nie tak, otrzymują Państwo obcięty klucz i każdy podpis zawodzi. Proszę zatem zawsze kopiować klucz w całości, bez dodatkowych spacji ani cudzysłowów w środku.
  • ed25519 (RFC 8463) to nowocześniejszy algorytm z krótkimi kluczami. Nie wszyscy odbiorcy jeszcze go weryfikują. Kto go używa, podpisuje więc dwoma podpisami: RSA i ed25519.

Wymiana klucza

Dobrze jest wymieniać klucz od czasu do czasu, a zwłaszcza gdy podejrzewają Państwo, że klucz prywatny wyciekł (na przykład po włamaniu na serwer lub odejściu administratora). Proszę postąpić tak:

  1. Proszę utworzyć nowy klucz pod nowym selektorem, na przykład s2026, i umieścić klucz publiczny w DNS.
  2. Proszę poczekać, aż rekord będzie widoczny wszędzie (TTL, zob. kurs DNS, lekcja 6.1).
  3. Proszę przełączyć serwer na podpisywanie nowym selektorem.
  4. Proszę pozostawić stary klucz jeszcze przez kilka dni: wiadomości, które były już w drodze lub są ponownie weryfikowane, nadal się do niego odwołują.
  5. Proszę unieważnić stary klucz, opróżniając p= (v=DKIM1; p=), albo usunąć rekord.

W przypadku usług z rekordami CNAME usługa robi to samodzielnie.

Co powoduje niepowodzenie DKIM

  • Wiadomość jest zmieniana po drodze: lista mailingowa dodająca [nazwa listy] do tematu lub stopkę, skaner antywirusowy dopisujący linijkę pod wiadomością, serwer przekierowujący zmieniający formatowanie.
  • Błędny lub obcięty klucz w DNS.
  • Selektor nie istnieje: literówka w nazwie lub selector1._domainkey.example.com.example.com (nazwa domeny podwojona, ponieważ panel sam ją dodaje na końcu).
  • Klucz unieważniony (puste p=), podczas gdy serwer nadal podpisuje tym selektorem.

Sprawdzenie, czy działa

  1. Proszę wysłać wiadomość z poziomu usługi na adres w Gmail lub Outlook.com.
  2. Proszę otworzyć nagłówki i odnaleźć DKIM-Signature: proszę zapisać d= i s=.
  3. Proszę sprawdzić w Authentication-Results, czy widnieje dkim=pass oraz czy header.d= to Państwa domena.
  4. Proszę wyszukać selektor: dig TXT s._domainkey.example.com (lub za pomocą narzędzia online). Powinien tam widnieć p= z długim kluczem, albo CNAME prowadzący do takiego rekordu.

W praktyce: jak to wygląda w panelu

W pakiecie hostingowym WebOké DKIM jest domyślnie włączony, z selektorem x: rekord nazywa się x._domainkey.<Państwa domena>. W DirectAdmin znajdą go Państwo w Administracja DNS; jeśli Państwa DNS znajduje się u innego dostawcy, należy skopiować ten rekord tam. W Moje WebOké karta Ustaw adres e-mail pokazuje, jaka wartość powinna się tam znajdować i czy została odnaleziona. U innych dostawców selektor nazywa się inaczej (default, mail, dkim), ale znajdą go Państwo w ten sam sposób: w panelu lub w polu s= podpisanej wiadomości.

Podsumowanie

  • DKIM to mechanizm kontrolny, który przetrwa przekierowanie i który łączą Państwo z własną domeną dla każdej usługi osobno; dla DMARC liczy się wyłącznie podpis, którego d= wskazuje Państwa domenę.
  • W DKIM-Signature znajdą Państwo d= (domenę) i s= (selektor); klucz znajduje się pod <s>._domainkey.<d>.
  • Każda usługa otrzymuje własny selektor; rekordy CNAME pozwalają usłudze samodzielnie wymieniać klucze. Proszę rzeczywiście włączyć w usłudze DKIM z własną domeną.
  • Proszę używać 2048 bitów; przy kopiowaniu należy uważać na obcięte klucze.
  • Proszę wymieniać klucz z użyciem nowego selektora i unieważniać stary dopiero potem.

Quiz

1. W nagłówku DKIM-Signature widnieje d=mailer.example; s=k1, podczas gdy adres Od to info@example.com. Co to oznacza dla DMARC?



2. Dlaczego usługi takie jak Microsoft 365 używają dwóch rekordów CNAME dla DKIM?



3. Po skopiowaniu klucza DKIM do Państwa DNS każdy podpis zawodzi. Klucz w DNS ma długość 255 znaków. Jaka jest prawdopodobna przyczyna?



4. Lista mailingowa dodaje [leden] przed tematem. Państwa podpis obejmował subject. Co stanie się z Państwa DKIM u ostatecznego odbiorcy?



5. Jaka jest bezpieczna kolejność wymiany klucza DKIM?



Zadanie

Zadanie Z4.3: Sprawdzenie selektora DKIM. Proszę wysłać wiadomość z własnej domeny (lub z usługi wysyłającej w Państwa imieniu) na własny adres u innego dostawcy. Proszę otworzyć nagłówki i wpisać wartości d= i s= z nagłówka DKIM-Signature oraz to, co widnieje w Authentication-Results przy dkim=. Program wyszuka selektor na żywo, podąży za ewentualnym CNAME, sprawdzi klucz (obecność, czy nie jest pusty, długość) i poinformuje, czy d= jest dopasowane do domeny podanej przez Państwa jako nadawcę.

Zadanie Z4.3: Sprawdzenie selektora DKIM

Proszę pobrać d= oraz s= z nagłówka DKIM-Signature wiadomości wysłanej z własnej domeny (lub z usługi wysyłającej pocztę w Państwa imieniu).





Wprowadzone dane i wyniki sprawdzania nie są zapisywane. Przeglądarka zapamiętuje udzielone odpowiedzi oraz informację, czy zadanie zostało zaliczone. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało zaliczone (lub prawie zaliczone); tam można ją również usunąć.

Dalsza lektura

Kroki opisane w tych artykułach dotyczą paneli WebOké; u innych dostawców działanie jest podobne.

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…