Czym jest
DKIM?
DKIM (DomainKeys Identified Mail) to kryptograficzny protokół uwierzytelniania poczty e-mail, który dodaje podpis cyfrowy do wychodzących wiadomości, pozwalając odbiorcom zweryfikować, że wiadomość e-mail rzeczywiście pochodzi z deklarowanej domeny i nie została zmieniona podczas przesyłania.
Trzyetapowa weryfikacja kryptograficzna
DKIM wykorzystuje kryptografię klucza publicznego, aby udowodnić, że wiadomość e-mail została wysłana przez domenę, którą deklaruje, i nie została zmodyfikowana po wysłaniu.
Nadawca podpisuje
Gdy Państwa serwer pocztowy wysyła wiadomość e-mail, tworzy skrót wybranych nagłówków i treści wiadomości, szyfruje skrót kluczem prywatnym i dołącza wynik jako nagłówek DKIM-Signature.
Wiadomość podróżuje
Podpisana wiadomość e-mail przemierza internet. Ponieważ podpis DKIM jest częścią nagłówka wiadomości, podróżuje razem z nią przez dowolną liczbę serwerów pośredniczących i przekazujących.
Odbiorca weryfikuje
Serwer odbierający odczytuje nagłówek DKIM-Signature, pobiera klucz publiczny z DNS pod selector._domainkey.yourdomain.com, odszyfrowuje skrót, ponownie go oblicza i porównuje. Zgodność oznacza zaliczenie DKIM.
Jak wygląda rekord DKIM
w DNS
Rekord DKIM to rekord DNS TXT publikowany pod selector._domainkey.yourdomain.com. Zawiera klucz publiczny, którego odbiorcy używają do weryfikacji podpisu DKIM dołączonego do Państwa wychodzących wiadomości.
- Selektor jest wybierany przez Państwa dostawcę poczty e-mail (np. google, selector1)
- Klucz publiczny jest zakodowany w Base64 i może mieć 1024 lub 2048 bitów
- NIST zaleca klucze RSA o długości co najmniej 2048 bitów ze względów bezpieczeństwa
- Klucze Ed25519 są mniejsze i szybsze, ale nie są jeszcze powszechnie obsługiwane
selector1._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEB..."
v=DKIM1 k=rsa p=MIGf... Jak selektory wskazują, którego klucza użyć
Selektor DKIM to ciąg znaków w nagłówku DKIM-Signature (tag s=), który informuje odbiorcę, który rekord DNS zawiera klucz publiczny. Każda usługa poczty e-mail używa własnego selektora, pozwalając domenie mieć jednocześnie wiele aktywnych kluczy DKIM.
google google._domainkey.example.com selector1, selector2 selector1._domainkey.example.com s1, s2 s1._domainkey.example.com k1 k1._domainkey.example.com niestandardowy (CNAME) xxxxxxx._domainkey.example.com 20230601xxxxx CNAME do dkim.postmarkapp.com DKIM vs SPF vs DMARC
Te trzy protokoły współpracują ze sobą, aby zapewnić warstwowe uwierzytelnianie poczty e-mail. SPF autoryzuje serwery wysyłające, a DMARC łączy je za pomocą polityki - każdy chroni przed innymi wektorami ataku.
Częste problemy z DKIM i jak je naprawić
Niepowodzenia DKIM zwykle sprowadzają się do zarządzania kluczami, konfiguracji DNS lub modyfikacji wiadomości przez pośredników.
Niezgodność podpisu
Klucz prywatny użyty do podpisania nie odpowiada kluczowi publicznemu w DNS. Zwykle spowodowane niepełną rotacją kluczy lub opublikowaniem niewłaściwego klucza. Zweryfikuj za pomocą narzędzia DKIM Lookup.
Luki w rotacji kluczy
Stary klucz usunięty z DNS, zanim wszystkie wiadomości nim podpisane zostały dostarczone i zweryfikowane. Zawsze najpierw publikuj nowy klucz, odczekaj co najmniej 48 godzin, a następnie usuń stary.
Przekazywanie łamie podpis
Listy mailingowe i serwery przekazujące, które modyfikują nagłówki lub treść, unieważniają podpis DKIM. ARC (Authenticated Received Chain) pomaga, ale jego adopcja wciąż rośnie.
Zbyt długi rekord DNS
Niektórzy dostawcy DNS nieprawidłowo dzielą długie rekordy TXT. Klucze publiczne DKIM, zwłaszcza RSA 2048-bitowe, mogą przekraczać 255 znaków i muszą być prawidłowo połączone w wielu ciągach.
Brakujący rekord DKIM
Rekord DNS TXT nigdy nie został opublikowany, został przypadkowo usunięty lub znajduje się w niewłaściwej lokalizacji selektora. Sprawdź, czy rekord istnieje pod selector._domainkey.yourdomain.com.
Wygasły podpis
Tag x= w nagłówku DKIM-Signature ustawia znacznik czasu wygaśnięcia. Jeśli wiadomość jest weryfikowana po tym znaczniku, DKIM zawodzi. Częste przy opóźnionym dostarczaniu lub wiadomościach w kolejce.
Najczęściej zadawane pytania o DKIM
Czym jest DKIM?
DKIM (DomainKeys Identified Mail) to kryptograficzny protokół uwierzytelniania poczty e-mail zdefiniowany w RFC 6376, który dodaje podpis cyfrowy do wychodzących wiadomości e-mail. Odbierający serwer pocztowy używa podpisu, aby zweryfikować dwie rzeczy: że wiadomość e-mail rzeczywiście pochodzi z domeny, z której twierdzi, że pochodzi, oraz że treść wiadomości nie została zmieniona podczas przesyłania. W przeciwieństwie do SPF, który sprawdza IP serwera wysyłającego, DKIM podpisuje rzeczywistą treść wiadomości, co czyni go najbardziej niezawodną metodą uwierzytelniania dla przekazywanych wiadomości e-mail.
Jak działa DKIM?
DKIM działa w trzech krokach. Po pierwsze, serwer pocztowy wysyłający tworzy skrót wybranych nagłówków oraz treści wiadomości, a następnie szyfruje ten skrót kluczem prywatnym przechowywanym na serwerze. Zaszyfrowany skrót staje się nagłówkiem DKIM-Signature dołączonym do wiadomości e-mail. Po drugie, właściciel domeny publikuje odpowiadający klucz publiczny jako rekord DNS TXT pod selector._domainkey.yourdomain.com. Po trzecie, gdy wiadomość e-mail dociera, serwer odbierający pobiera klucz publiczny z DNS, odszyfrowuje skrót, ponownie oblicza skrót z otrzymanej wiadomości i porównuje. Jeśli się zgadzają, DKIM przechodzi.
Czym jest selektor DKIM?
Selektor DKIM to ciąg znaków, który identyfikuje, którego klucza publicznego użyć do weryfikacji podpisu DKIM. Pojawia się w nagłówku DKIM-Signature jako tag s= oraz w lokalizacji rekordu DNS jako selector._domainkey.yourdomain.com. Selektory pozwalają domenie mieć jednocześnie wiele aktywnych kluczy DKIM, co jest niezbędne przy rotacji kluczy i dla domen korzystających z wielu usług poczty e-mail. Częste selektory to google dla Google Workspace, selector1 i selector2 dla Microsoft 365 oraz s1 dla SendGrid.
Jaka jest różnica między DKIM a SPF?
SPF (Sender Policy Framework) weryfikuje, że adres IP serwera wysyłającego jest uprawniony w rekordzie DNS domeny. Sprawdza nadawcę koperty (Return-Path), a nie widoczny nagłówek From. DKIM weryfikuje, że treść wiadomości nie została zmieniona podczas przesyłania, dołączając do niej podpis kryptograficzny. Kluczowa różnica: SPF zawodzi, gdy wiadomość e-mail jest przekazywana, ponieważ IP serwera przekazującego nie znajduje się w oryginalnym rekordzie SPF, ale podpisy DKIM przetrwają przekazanie, ponieważ są dołączone do samej wiadomości. DMARC łączy oba, wymagając, aby SPF lub DKIM przeszedł i był zgodny z domeną nagłówka From.
Dlaczego DKIM zawodzi?
DKIM zawodzi z kilku powodów: nagłówek DKIM-Signature lub podpisane nagłówki zostały zmodyfikowane podczas przesyłania (częste w przypadku list mailingowych, które dodają stopki lub modyfikują wiersz tematu), klucz publiczny w DNS nie odpowiada kluczowi prywatnemu użytemu do podpisania (często spowodowane niepełną rotacją kluczy), rekord DNS TXT jest brakujący lub nieosiągalny, podpis wygasł (tag x= w podpisie określa znacznik czasu wygaśnięcia) lub treść wiadomości została zmieniona przez serwer pośredniczący. Modyfikacja treści przez oprogramowanie list mailingowych, takie jak Mailman i Google Groups, jest najczęstszą przyczyną niepowodzenia DKIM.
Jak znaleźć mój selektor DKIM?
Selektor DKIM można znaleźć, badając nagłówek DKIM-Signature w dowolnej wiadomości e-mail wysłanej z Państwa domeny. Otwórz nagłówki wiadomości e-mail (w Gmailu kliknij trzy kropki i wybierz Pokaż oryginał) i poszukaj tagu s= w nagłówku DKIM-Signature. Wartość s= to Państwa selektor. Alternatywnie skorzystaj z narzędzia DKIM Lookup DMARC Report pod adresem dmarcreport.com/tools/dkim-lookup/, aby odkryć wszystkie opublikowane selektory dla Państwa domeny.
Jak często należy rotować klucze DKIM?
Dobrą praktyką jest rotowanie kluczy DKIM co 6 do 12 miesięcy dla kluczy RSA i corocznie dla kluczy Ed25519. NIST zaleca klucze RSA o długości co najmniej 2048 bitów. Rotacja kluczy obejmuje wygenerowanie nowej pary kluczy, opublikowanie nowego klucza publicznego pod nowym selektorem, skonfigurowanie serwera pocztowego do podpisywania nowym kluczem oraz usunięcie starego klucza publicznego z DNS po okresie karencji. Selektory sprawiają, że proces ten przebiega płynnie, ponieważ stary i nowy klucz mogą współistnieć podczas przejścia.
Odkryj swoje selektory DKIM
Skorzystaj z naszego bezpłatnego narzędzia DKIM Lookup, aby znaleźć wszystkie opublikowane klucze DKIM dla swojej domeny i sprawdzić, czy są poprawnie skonfigurowane.
Sprawdź rekord DKIMCo zespoły ds. bezpieczeństwa mówią o monitorowaniu DKIM
Rated 4.8/5 on G2 · 469 verified reviews
Verified User in Information Technology and Services
"Best security tool for your own domains"
The weekly reports help me a lot to analyze quickly the emails sent from my domains and that gives me peace of mind.
Ryan C.
Director
"Control Centre for Email Security"
I like that we can see and check all reports on just 1 platform. We manage multiple domains, and monitoring them all in one place is essential.
eddy g.
Director
"A great solution to a common email problem."
I have been using them for the last month after my Google business email started giving DMARC errors. I didn't even know what it meant at that time. After a little googling I found that people can spoof it as well. So far so good — the best thing is it protects every email.