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