Настройка DKIM · 2 min read · Sep 27, 2025

Настройка DKIM для нескольких доменов на Postfix с dkim-milter 2.8.x (CentOS 5.3)

Настройка DKIM для нескольких доменов на Postfix с dkim-milter 2.8.x (CentOS 5.3)

Введение

Стандарт Интернета DomainKeys Identified Mail (DKIM) позволяет отправителям электронной почты цифровым образом подписывать свои сообщения, чтобы получатели могли проверить, что эти сообщения не были подделаны. Схема аутентификации отправителя DKIM позволяет получателю сообщения подтвердить, что сообщение произошло из домена отправителя и что содержание сообщения не было изменено. Решение на основе криптографии, DKIM предоставляет компаниям стандартный метод для снижения мошенничества с электронной почтой и защиты бренда и репутации организации при относительно низких затратах на внедрение. Основная спецификация DKIM разрабатывается компанией Sendmail, Inc. в сотрудничестве с Cisco и Yahoo!.

Этот учебник основан на учебнике Настройка DKIM на Postfix с dkim-milter (CentOS 5.2) и моем личном опыте. Я не даю никаких гарантий, что это сработает для вас!

Установка

Программное обеспечение Topdog предоставляет Centos rpms для Dkim-milter по адресу http://www.topdog-software.com/oss/dkim-milter, поэтому мы установим последнюю версию. На момент написания этого учебника последняя версия - dkim-milter-2.8.3-1

Установите rpm dkim-milter, (поддерживаются 32-битные и 64-битные версии Intel)

wget http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.3-1.i386.rpm  
rpm -ivh dkim-milter-2.8.3-1.i386.rpm

Генерация ключей

/usr/bin/dkim-genkey  -r -d mydomain1.com

Замените mydomain1.com на имя домена, для которого вы будете подписывать почту. Команда создаст два файла.

default.txt - содержит открытый ключ, который вы публикуете через DNS
default.private - закрытый ключ, который вы используете для подписания вашей электронной почты

Переименуйте и переместите закрытый ключ в директорию ключей dkim-milter и защитите его.

mv default.private default  
mkdir /etc/mail/dkim/keys/mydomain1.com  
mv default /etc/mail/dkim/keys/mydomain1.com  
chmod 600 /etc/mail/dkim/keys/mydomain1.com/default  
chown dkim-milt.dkim-milt /etc/mail/dkim/keys/mydomain1.com/default

Важно: повторите эти шаги для других доменов и для каждого домена используйте отдельную папку, как вы можете видеть выше, иначе вы получите сообщение об ошибке “dkim: FAILED, invalid (public key: not available)”

Настройка DNS

Вам нужно опубликовать ваш открытый ключ через DNS, клиентские серверы используют этот ключ для проверки вашей подписанной электронной почты. Содержимое default.txt - это строка, которую вам нужно добавить в ваш файл зоны, пример приведен ниже

default._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG81CNNVOlWwfhENOZEnJKNlikTB3Dnb5kUC8/zvht/S8SQnx+YgZ/KG7KOus0By8cIDDvwn3ElVRVQ6Jhz/HcvPU5DXCAC5owLBf/gX5tvAnjF1vSL8ZBetxquVHyJQpMFH3VW37m/mxPTGmDL+zJVW+CKpUcI8BJD03iW2l1CwIDAQAB"
; ----- DKIM default для mydomain1.com

Также добавьте это в ваш файл зоны.

_ssp._domainkey IN TXT "t=y; dkim=unknown"

Конфигурация

Вам нужно проверить файл /etc/dkim-filter.conf.

vi /etc/dkim-filter.conf

Он должен выглядеть так:

ADSPDiscard             yes
ADSPNoSuchDomain        yes
AllowSHA1Only           no
AlwaysAddARHeader       no
AutoRestart             yes
AutoRestartRate         10/1h
BaseDirectory           /var/run/dkim-milter
Canonicalization        simple/simple
Domain                  mydomain1.com   #добавьте все ваши домены здесь и разделите их запятой
ExternalIgnoreList      /etc/mail/dkim/trusted-hosts
InternalHosts           /etc/mail/dkim/trusted-hosts
KeyList                 /etc/mail/dkim/keylist
LocalADSP               /etc/mail/dkim/local-adsp-rules
Mode                    sv
MTA                     MSA
On-Default              reject
On-BadSignature         reject
On-DNSError             tempfail
On-InternalError        accept
On-NoSignature          accept
On-Security             discard
PidFile                 /var/run/dkim-milter/dkim-milter.pid
QueryCache              yes
RemoveOldSignatures     yes
Selector                default
SignatureAlgorithm      rsa-sha1
Socket                  inet:20209@localhost
Syslog                  yes
SyslogSuccess           yes
TemporaryDirectory      /var/tmp
UMask                   022
UserID                  dkim-milt:dkim-milt
X-Header                yes

Проверьте файл /etc/mail/dkim/keylist.

vi /etc/mail/dkim/keylist

Он должен выглядеть так:

*@mydomain1.com:mydomain1.com:/etc/mail/dkim/keys/mydomain1.com/default

Примечание: если у вас есть другие домены, вы должны добавить их в этот файл. Каждая строка для одного домена

Настройка Postfix

Вам нужно добавить следующие параметры в файл main.cf postfix, чтобы включить его использование milter.

vi /etc/postfix/main.cf
smtpd_milters = inet:localhost:20209
non_smtpd_milters = inet:localhost:20209
milter_protocol = 2
milter_default_action = accept

Добавьте параметры dkim-milter к существующим milters, если у вас уже настроены другие milters.
Запустите dkim-milter и перезапустите postfix:

service dkim-milter start  
service postfix restart

Тестирование

Отправьте электронное письмо на [email protected] или [email protected], вы получите ответ, в котором будет указано, правильно ли работает ваша настройка.

Обновления

Обновленные rpms всегда доступны по адресу http://www.topdog-software.com/oss/dkim-milter

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.