Инструменты пользователя

Инструменты сайта


dkim:dkim

Это старая версия документа!


DKIM (Domain Keys Identified Mail)

DKIM (Domain Keys Identified Mail) — технология подтверждения подлинности отправителя письма путём проверки цифровой подписи по открытому ключу в специальной DNS записи тип TXT домена отправителя.

http://dkim.org/

Можно использовать совместно с SPF (Sender Policy Framework)

Установка

apt-get 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) выходного сервера, чтобы не возникала ошибка следующего вида:

opendkim 10.0.0.1 not internal
/etc/postfix/dkim/InternalHosts
10.0.0.1

Список ключей

Формат: Имя_ключа Домен:Селектор:Имя_файла_ключа

/etc/postfix/dkim/KeyTable
mail._domainkey.domain.ru domain.ru:mail:/etc/postfix/dkim/mail.domain.ru.private

Список подписей

Формат: Домен Имя_ключа

/etc/postfix/dkim/SigningTable
domain.ru mail._domainkey.domain.ru

Завершение настройки

/etc/opendkim.conf
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

Нужно задать параметры подключения:

/etc/default/opendkim
SOCKET="inet:8891@localhost"

Обязательно нужно установить права на файлы:

dkim_rights.sh
chgrp opendkim /etc/postfix/dkim/*
chmod g+r /etc/postfix/dkim/*
chmod 600 /etc/postfix/dkim/*.private
chown opendkim /etc/postfix/dkim/*.private

Запуск:

service opendkim restart

Проверка:

netstat -tulpn|grep :8891

Postfix

В файл main.cf выходного сервера нужно добавить:

/etc/postfix/postfix-o/main.cf
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

Amavisd-new

Для того, чтобы Amavisd-new писал в заголовок поле Authentication-Results нужно:

/etc/amavis/conf.d/20-debian_defaults
$enable_dkim_verification = 1;

Roundcube

Для отображения статуса проверки DKIM в Roundcube нужно использовать расширение: authres_status

DNS

Нужно создать новую запись DNS:

Имя записи mail._domainkey
Тип записи 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

Также можно проверить домен на странице:DKIM Core

Ссылки

dkim/dkim.1491840536.txt.gz · Последние изменения: 2019-05-08 12:18 (внешнее изменение)