DKIM — это цифровая подпись писем, отправляемых с вашего сервера. Она гарантирует, что письмо отправлено именно с него, и не было изменено. Наличие DKIM на отправляемой корреспонденции крайне положительно сказывается на прохождении antispam тестов, поэтому лучше бы её настроить.
Принцип работы. На сервере лежит закрытый ключ, которым подписываются исходящие письма. Удалённый почтовый сервер (Яндекс, Маил, Гугл и т.д.) при получении письма видит в заголовках эту подпись и проверяет ее путем запроса открытого ключа из DNS-записи домена.
Поехали.
Часть 1. OpenDKIM
Устанавливаем opendkim:
dnf install opendkim.x86_64
Cоздаём директорию для хранения ключей:
mkdir -p /etc/opendkim/keys/mydomain.com
Генерим ключи, название селектора «mail»:
opendkim-genkey -D /etc/opendkim/keys/mydomain.com -d mydomain.com -s mail
Назначаем права доступа и владельца на папку с нашими ключами:
chown -R opendkim:opendkim /etc/opendkim/keys/mydomain.com
chmod 640 /etc/opendkim/keys/mydomain.com/mail.private
chmod 644 /etc/opendkim/keys/mydomain.com/mail.txt
Правим конфиг /etc/opendkim.conf:
Mode sv
Canonicalization relaxed/simple
Domain mydomain.com
Selector mail
KeyFile /etc/opendkim/keys/mail.private
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
Правим /etc/opendkim/KeyTable:
mail._domainkey.mydomain.com mydomain.com:mail:/etc/opendkim/keys/mydomain.com/mail.private
Правим /etc/opendkim/SigningTable:
*@mydomain.com mail._domainkey.mydomain.com
Правим /etc/opendkim/TrustedHosts:
127.0.0.1
::1
localhost
mydomain.com
192.168.1.0/24 #если необходимо
Правим/создаем /etc/default/opendkim:
SOCKET="inet:8891@localhost"
Запускаем демона openDKIM:
systemctl start opendkim
Включаем автостарт демона openDKIM:
systemctl enable opendkim
Часть 2. Sendmail
Правим /etc/mail/sendmail.mc, добавляем в конец:
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@127.0.0.1')
Рестартуем sendmail:
systemctl restart sendmail
Часть 3. DNS-запись
Идем к нашему регистратору домена и добавляем DNS-запись:
тип записи - TXT
имя поддомена - mail._domainkey
содержание - "v=DKIM1; k=rsa; p=***много символов***"
TXT запись содержит данные из файла:
/etc/opendkim/keys/mydomain.com/mail.txt
Некоторые регистраторы ставят кавычки для TXT записи самостоятельно, некоторые нет. Мой кавычки ставит самостоятельно.
Время обновления записей от нескольких минут до 72 часов.
На кеширующих DNS-серверах интернет-провайдеров может потребоваться до нескольких суток.
DNS-серверы компании Google обновляются быстрее других (3-4 часа).
Зона .RU обновляется 4 раза в сутки по расписанию в 02:00, 10:00, 14:00, 19:00 (по Москве).
Зона .РФ обновляется каждый нечетный час.
Проверяем командой dig (запрашиваем у гугла):
dig @8.8.8.8 mail._domainkey.mydomain.com TXT
Часть 4. Enjoy
🙂
Зябл, только не надо просить подробнее расписывать… подробнее некуда 😀
Юлии П из Abuse Team Mail.ru большой респект (:give_rose:)
Щас почитаю.