Mail: DKIM – DomainKeys Identified Mail

Co to jest DKIM?

DKIM (DomainKeys Identified Mail) to mechanizm uwierzytelniania poczty e-mail, który:

dodaje do wiadomości cyfrowy podpis,

pozwala odbiorcy sprawdzić, czy wiadomość została zmodyfikowana,

potwierdza, że e-mail pochodzi z uprawnionej domeny.

DKIM nie ogranicza, kto może wysyłać wiadomości — zamiast tego gwarantuje integralność i autentyczność nadawcy poprzez podpis kryptograficzny.

Jak działa DKIM?

1. W momencie wysyłania e-maila, serwer nadawcy:

generuje cyfrowy podpis (na podstawie treści wiadomości i nagłówków),

dodaje go do wiadomości w nagłówku:

DKIM-Signature

.

2. Klucz publiczny potrzebny do weryfikacji jest publikowany w DNS domeny.

3. Serwer odbiorcy:

odczytuje podpis z wiadomości,

pobiera klucz publiczny z DNS,

sprawdza, czy podpis jest zgodny z treścią wiadomości i kluczem.

Jeśli tak – wiadomość jest autoryzowana. Jeśli nie – uznawana za potencjalnie sfałszowaną.

Struktura podpisu DKIM

Przykład nagłówka DKIM:

DKIM-Signature: v=1; a=rsa-sha256; d=ostrowski.net.pl; s=selector1; c=relaxed/relaxed;
h=from:to:subject:date;
bh=fakehash==;
b=fake_signature_data==

Element	Znaczenie
`v`	Wersja DKIM (zawsze `1`)
`a`	Algorytm kryptograficzny
`d`	Domena podpisująca
`s`	Selektor (nazwa rekordu DNS z kluczem publicznym)
`h`	Lista nagłówków objętych podpisem
`b`	Właściwy podpis
`bh`	Hash treści wiadomości

Jak skonfigurować DKIM?

1. Wygeneruj parę kluczy:

klucz prywatny – pozostaje na serwerze pocztowym (podpisuje wiadomości),

klucz publiczny – publikowany jako rekord TXT w DNS.

2. Dodaj rekord TXT do DNS:

Nazwa:

selector1._domainkey.ostrowski.net.pl

Wartość:

v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQE...

3. Skonfiguruj serwer pocztowy, aby podpisywał wiadomości za pomocą klucza prywatnego i wybranego selektora.

Składnia rekordu DKIM w DNS

v=DKIM1; k=rsa; p=KLUCZ_PUBLICZNY

Element	Znaczenie
`v`	Wersja DKIM (DKIM1)
`k`	Typ klucza (najczęściej `rsa`)
`p`	Klucz publiczny w formacie Base64

Co to jest selektor (selector)?

Selektor to unikalna nazwa identyfikująca dany klucz DKIM. Pozwala:

zarządzać wieloma kluczami dla jednej domeny,

rotować klucze bez przerywania działania DKIM.

Nazwa selektora jest częścią zapytania DNS:

[selector]._domainkey.[domena]

Przykład:

selector1._domainkey.ostrowski.net.pl

Przykład rekordu DKIM

Nazwa: selector1._domainkey.ostrowski.net.pl
Typ: TXT
Wartość: v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApn...

Testowanie DKIM

Po dodaniu rekordu możesz przetestować jego poprawność:

https://mxtoolbox.com/dkim.aspx

https://dkimcore.org/tools/keycheck.html

https://www.mail-tester.com/

Można także wysłać e-mail na:

`check-auth@verifier.port25.com`

`dkimcheck@auth.returnpath.net`

Zalecenia dla DKIM

Używaj kluczy o długości minimum 1024-bit (zalecane 2048-bit).

Regularnie rotuj selektory/klucze – np. co 6–12 miesięcy.

Nie usuwaj starego rekordu od razu po zmianie selektora – poczta może być w drodze.

Zadbaj o synchronizację daty/godziny na serwerze (ważne dla podpisu).

Czy DKIM wystarczy?

Nie. DKIM nie chroni:

przed spoofingiem adresu „From” (bo nie sprawdza, czy serwer nadawcy jest uprawniony),

przed spamem — tylko zapewnia, że wiadomość nie została zmodyfikowana.

Aby uzyskać pełną ochronę e-maila, należy połączyć:

SPF – określa, kto może wysyłać maile z domeny,

DKIM – podpisuje wiadomości,

DMARC – egzekwuje zgodność SPF/DKIM i raportuje naruszenia.

Częste problemy z DKIM

Brak lub błędny rekord DNS (zły selektor, skrócony klucz, brak `v=DKIM1`)

Serwer nie podpisuje wiadomości mimo aktywnego DKIM

Zbyt długi rekord DNS – może być źle rozparsowany (rozbij na kilka linii w DNS)

Niezgodność selektora z konfiguracją serwera

Podsumowanie

DKIM to skuteczna metoda potwierdzania, że wiadomość e-mail:

pochodzi z autoryzowanego źródła,

nie została zmodyfikowana w trakcie przesyłu.

Aby działał skutecznie:

Musi być poprawnie skonfigurowany na serwerze pocztowym,

Klucz publiczny musi być dostępny w DNS,

Powinien być stosowany razem z SPF i DMARC.

DKIM to nie tylko ochrona, ale także fundament wiarygodności poczty w oczach Gmaila, Outlooka i innych dostawców.