Почта · 1 min read · Sep 27, 2025

Настройка DKIM для Postfix с dkim-milter

Настройка DKIM для Postfix с dkim-milter

Этот гайд был заменен на http://www.topdog.za.net/postfix_dkim_milter

Введение

DKIM — это фреймворк аутентификации, который хранит открытые ключи в DNS и цифрово подписывает электронные письма на уровне домена. Он был создан в результате объединения доменных ключей Yahoo и спецификации идентифицированной интернет-почты Cisco. Он определен в RFC 4871.

Мы будем использовать реализацию milter dkim http://dkim-milter.sf.net на CentOS 5.1

Установка

Установите rpm, игнорируя зависимости, так как csh является зависимостью, но это не влияет на dkim-milter; он нужен только для некоторых примерных скриптов, которые поставляются с rpm.

rpm -Uvh http://www.c-corp.net/linux/centos/5/general/RPMS/i386/dkim-milter-2.2.1-1.i386.rpm --nodeps  
mkdir /etc/dkim-milter  
chown dkim-milt.dkim-milt /etc/dkim-milter  
chmod 700 /etc/dkim-milter  
chgrp postfix /var/run/dkim-milter  
chmod 770 /var/run/dkim-milter

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

Скачайте этот скрипт, который вы можете использовать для легкой генерации ключей для подписи почты:

./dkim-genkey.sh -d 

Замените на имя домена, для которого вы будете подписывать почту. Это создаст два файла default.txt и default.private, default.txt — это строка, которую вам нужно добавить в ваш файл зоны — пример ниже:

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

default.private содержит ваш закрытый ключ. Переместите этот файл в /etc/dkim-milter и переименуйте его в _default.key.pem:

mv default.private /etc/dkim-milter/_default.key.pem

Отредактируйте файл /etc/sysconfig/dkim-milter и установите переменные:

USER="dkim-milt"
PORT=local:/var/run/dkim-milter/dkim.sock
SIGNING_DOMAIN=""
SELECTOR_NAME="default"
KEYFILE="/etc/dkim-milter/${SIGNING_DOMAIN}_${SELECTOR_NAME}.key.pem"
SIGNER=yes
VERIFIER=yes
CANON=simple
SIGALG=rsa-sha1
REJECTION="bad=r,dns=t,int=t,no=a,miss=r"
EXTRA_ARGS="-h -l -D"

Исправление скрипта инициализации

Установите мой измененный скрипт инициализации, так как тот, который поставляется с rpm, имеет ошибку.

wget http://www.topdog-software.com/files/dkim-milter -O /etc/init.d/dkim-milter  
chkconfig --level 345 dkim-milter on   
service dkim-milter start

Настройка Postfix

Добавьте это в конфигурационный файл postfix /etc/postfix/main.cf:

smtpd_milters = unix:/var/run/dkim-milter/dkim.sock
non_smtpd_milters = unix:/var/run/dkim-milter/dkim.sock

Добавьте к существующим milters, если у вас уже настроены другие milters.

Запустите dkim-milter и перезапустите Postfix:

 service dkim-milter start
service postfix restart

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

Отправьте сообщение на [email protected]; система вернет ответ, чтобы сообщить вам, работает ли DKIM. Проверьте заголовки писем из доменов, таких как gmail, чтобы увидеть, проверяет ли ваша система подписи DKIM входящей почты.

DKIM почта в Gmail

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.