DKIM

В DNS

mail._domainkey

TXT

v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjq7VZbmaVP5AtsTxx5SMX/VMBWg+cS7+wj0CRavQWpiqVvqIghXByy6Kek0OWRrPP6a0/umEtEpDPG7FUDsMFMq52hNZeESbn1CVCFP+2L4XoiwSwoYeT853TYb8v9YqSCclEhFI4Q8Y52mAVv1r+MkCwgZ5CKSmMQ4vtRQ9UowIDAQAB

mail._domainkey

де "mail"

має назву "Selector"

В якому файлі на Ubuntu знаходиться DKIM ключ?

Ага, це залежить від того, який софт ти використовуєш для DKIM-підпису 🙂


1. opendkim (найчастіший варіант на Ubuntu)

  • Приватний ключ зазвичай лежить у:

    /etc/opendkim/keys/yourdomain.com/mail.private
  • Публічний (який ти копіюєш у DNS) —

    /etc/opendkim/keys/yourdomain.com/mail.txt
  • Конфіг KeyTable у /etc/opendkim/KeyTable показує, де саме лежить приватний ключ. Приклад рядка:

    mail._domainkey.yourdomain.com yourdomain.com:mail:/etc/opendkim/keys/yourdomain.com/mail.private

2. Postfix з DKIM через opendkim

  • Postfix сам по собі не генерує ключі, він тільки через opendkim звертається.

  • У Postfix ти побачиш лише інтеграцію через сокет:

    milter_default_action = accept
    milter_protocol = 6
    smtpd_milters = unix:/opendkim/opendkim.sock
    non_smtpd_milters = unix:/opendkim/opendkim.sock

3. Якщо інший софт (наприклад, rspamd, dksign)

  • rspamd зберігає ключі зазвичай у:

    /var/lib/rspamd/dkim/yourdomain.com.dkim.key
  • Або у тому каталозі, що ти вкажеш у local.d/dkim_signing.conf.


Як знайти "живий" файл ключа на сервері

На Ubuntu можна перевірити так:

grep -r "domainkey" /etc/opendkim

або

grep -r "private" /etc/opendkim

Тоді точно покаже шлях до приватного ключа.


як на Ubuntu перевірити, де саме твій opendkim бере ключ і чи він реально використовується при підписі

Добре, кицю, ось тобі готовий чекліст для Ubuntu з opendkim + Postfix (найпопулярніша зв’язка):


🔍 Чекліст: де знайти та перевірити DKIM-ключ

1. Подивись конфіг opendkim

sudo nano /etc/opendkim.conf

Там знайди рядки:

  • KeyTable → файл з таблицею ключів

  • SigningTable → відповідність доменів ключам

  • Socket → шлях до сокета (щоб Postfix міг підключатись)


2. Перевір KeyTable

Відкрий файл (шлях див. у KeyTable):

sudo cat /etc/opendkim/KeyTable

Там щось таке:

mail._domainkey.yourdomain.com yourdomain.com:mail:/etc/opendkim/keys/yourdomain.com/mail.private
  • mail → selector

  • /etc/opendkim/keys/yourdomain.com/mail.private → це і є приватний ключ


3. Подивись SigningTable

sudo cat /etc/opendkim/SigningTable

Наприклад:

*@yourdomain.com mail._domainkey.yourdomain.com

Тут видно, що всі листи з @yourdomain.com підписуються ключем mail._domainkey.


4. Переконайся, що ключ існує

sudo ls -l /etc/opendkim/keys/yourdomain.com/

Там має бути:

  • mail.private (приватний ключ, секретний!)

  • mail.txt (публічний ключ для DNS)


5. Перевір інтеграцію з Postfix

У файлі /etc/postfix/main.cf повинні бути рядки:

smtpd_milters = unix:/opendkim/opendkim.sock
non_smtpd_milters = unix:/opendkim/opendkim.sock
milter_default_action = accept
milter_protocol = 6

6. Перевір роботу підпису

Відправ листа (наприклад, на свою Gmail-скриньку) → відкрий заголовки. Шукай щось таке:

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yourdomain.com; s=mail; ...
  • d=yourdomain.com → підписується твій домен

  • s=mail → selector (mail._domainkey)


👉 Якщо це все збігається — твій DKIM реально працює.


Last updated