DKIM + EXIM + Dovecot для исходящих писем

Я бегу exim+dovecot. Я попытался сгенерировать ключ dkim с помощью opendkim, но в результате я получил, что мой dkim недействителен. Должен ли я подписать DKIM подпись с openssl или с opendkim?

И как правильно настроить dkim с exim для исходящих писем?

Какова правильная настройка в exim.conf?

1 ответ

Решение

DKIM не нужно подписывать вообще. Все, что вам нужно, - это правильная пара ключей RSA/DSA, которые могут быть сгенерированы ssh-keygen в комплекте с предустановленным openssh, Оставьте парольную фразу пустой:

> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): mydomain.tld
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in mydomain.tld.
Your public key has been saved in mydomain.tld.pub.
The key fingerprint is:
SHA256:CD0n/Ut/GQgjYgKwONoj7FGXUJvdgyJt4FFczGZfqoE root@xx.yy.zz
The key's randomart image is:
+---[RSA 2048]----+
|...++o+.         |
|....=o=*o  .     |
|+  +oOXo=o=      |
|oo. +E.B =.o .   |
|ooo   . S o . .  |
|....   . . o   o |
| .        . . o  |
|             .   |
|                 |
+----[SHA256]-----+

Теперь у нас есть два файла: mydomain.tld а также mydomain.tld.pub, Второй файл содержит одну длинную строку, где второе поле (выделено полужирным курсивом) - это открытый ключ, который вы должны поместить в запись зоны для вашего домена.

ssh-rsa AAAAB3NzaC1yc..... 9akAq8YqPJN root@xx.yy.zz

Первый файл уже готов к использованию MTA. Просто переименуйте его в mydomain.tld.key и скопируйте его в безопасное место и отошлите его из конфигурации MTA. Имейте в виду, что MTA в целом требует, чтобы частный ключ DKIM был доступен для чтения только пользователю MTA, поэтому разрешения должны быть установлены на 600 вместо обычных 644.

Конфигурация DNS довольно хорошо описана в ряде практических рекомендаций. А также exim должен быть настроен так:

begin transports
xmit:
    driver              = smtp
    dkim_domain         = mydomain.tld
    dkim_selector       = mydomaintld
    dkim_private_key    = /path/to/the/mydomain.tld.key

. . . . .
Другие вопросы по тегам