====== DKIM (Domain Keys Identified Mail) ====== DKIM (Domain Keys Identified Mail) — технология подтверждения подлинности отправителя письма путём проверки цифровой подписи по открытому ключу в специальной [[dns:dns|DNS]] записи тип ''TXT'' домена отправителя. http://dkim.org/ :!: Можно использовать совместно с [[spf:spf|SPF (Sender Policy Framework)]] ====== Установка ====== apt install opendkim opendkim-tools ====== Настройка ====== Для настройки нужно выполнить по порядку все следующие пункты: - Создание папки mkdir /etc/postfix/dkim/ - Создание ключей opendkim-genkey -D /etc/postfix/dkim/ -d domain.ru -s mail В результате создаются файлы: mail.private mail.txt Для дальнейшего использования с несколькими доменами нужно переименовать файлы в соответствии с именем домена, пример для ''domain.ru'': mail.domain.ru.private mail.domain.ru.txt ===== Внутренние хосты ===== :!: Обязательно нужно внести в файл адрес (значение ''inet_interfaces'' из ''/etc/postfix/postfix-o/main.cf'') [[examples:email_server_several_subdomain#выходной_сервер|выходного сервера]], чтобы не возникала ошибка следующего вида: **''opendkim 10.0.0.1 not internal''** 10.0.0.1 ===== Список ключей ===== Формат: ''Имя_ключа Домен:Селектор:Имя_файла_ключа'' mail._domainkey.domain.ru domain.ru:mail:/etc/postfix/dkim/mail.domain.ru.private ===== Список подписей ===== Формат: ''Домен Имя_ключа'' domain.ru mail._domainkey.domain.ru ===== Завершение настройки ===== Syslog yes UMask 002 OversignHeaders From Canonicalization relaxed/relaxed AutoRestart yes DNSTimeout 5 SyslogSuccess Yes LogWhy Yes Mode sv UserID opendkim:opendkim KeyTable file:/etc/postfix/dkim/KeyTable SigningTable file:/etc/postfix/dkim/SigningTable InternalHosts file:/etc/postfix/dkim/InternalHosts PidFile /var/run/opendkim/opendkim.pid Socket inet:8891@localhost Нужно задать параметры подключения: SOCKET="inet:8891@localhost" :!: Обязательно нужно установить права на файлы: #!/bin/bash chgrp opendkim /etc/postfix/dkim/* chmod g+r /etc/postfix/dkim/* chmod 640 /etc/postfix/dkim/*.private chown root /etc/postfix/dkim/*.private chown root /etc/postfix/dkim/*.txt Запуск: service opendkim restart Проверка: netstat -tulpn|grep :8891 ===== Postfix ===== В файл ''main.cf'' [[examples:email_server_several_subdomain#выходной_сервер|выходного сервера]] нужно добавить: milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = inet:127.0.0.1:8891 ===== Amavisd-new ===== Для того, чтобы [[amavisd-new:amavisd-new|Amavisd-new]] писал в заголовок поле ''Authentication-Results'' нужно: $enable_dkim_verification = 1; ===== Roundcube ===== Для отображения статуса проверки DKIM в [[roundcube:roundcube|Roundcube]] нужно использовать расширение [[https://plugins.roundcube.net/packages/roundcube/authres_status|authres_status]]: cd /tmp; wget https://github.com/pimlie/authres_status/archive/master.zip ===== DNS ===== Чтобы получатели могли проверить подлинность отправителя нужно создать специальную запись в зоне [[dns:dns|DNS]] нужного домена. ^Имя записи| ''mail._domainkey'' \\ Для домена третьего уровня ''test'' имя записи должно быть таким: ''mail._domainkey.test''| ^Тип записи| ''TXT''| ^Значение| Текст (внутри кавычек) из файла ''/etc/postfix/dkim/mail.domain.ru.txt'' | ===== Почтовый клиент оправителя ===== Также важно, чтобы домен указанный в поле обратный адрес (записывается в поле ''X-Sender'') совпадал с доменом, для которого сделан ключ, например: адрес должен быть ''user@domain.ru'' а не ''user@sub1.domain.ru'' ====== Тестирование ====== Для теста можно оправить тестовое письмо на любой из адресов: |''check-auth@verifier.port25.com''| |''check-auth2@verifier.port25.com''| Также можно проверить домен на странице:[[http://dkimcore.org/tools/keycheck.html|DKIM Core]] ====== Ссылки ====== [[wpru>DomainKeys_Identified_Mail|DomainKeys Identified Mail]] https://wiki.debian.org/ru/opendkim https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy https://www.port25.com/support/authentication-center/email-verification/ [[https://mindbox.fogbugz.com/?W504|mindbox.fogbugz.com:Инструкция по настройке SPF и DKIM]] [[https://yandex.ru/support/pdd/set-mail/dkim.xml?ncrnd=1783|Яндекс.Помощь: DKIM-подпись]] [[https://serverfault.com/questions/851215/setting-up-spf-and-dkim-records-of-a-subdomain/851254#851254|domain name system - Setting up SPF and DKIM records of a subdomain - Server Fault]] {{tag>Email DNS}}