Настройка 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.cfsmtpd_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
Get new posts in your inbox
No spam. Unsubscribe anytime.