freebsd настройка postfix dkim

Дата | 17.08.2015

На одном из доменов возросла отправка почты с сервера.
Нагрузка на почту контролируемая, не спам.
В связи с этим решил увеличить шанс исходящей почты не попадания под спам.
Если мы отсылаем почту не спам, то нам боятся нечего, если же спам, то рано или поздно домен и ип адрес попадут под фильтр в почтовиках.
100% решения антиспам нет.
Ставим утилиту, которая будит подписывать электронным сертификатом исходящую почту.

# cd /usr/ports/mail/opendkim && make install clean

Создадим директорию, где будут находиться подписи дким.

# mkdir /usr/local/etc/postfix/dkim

Сгенерируем электронные подписи для наших доменов.

# opendkim-genkey -D /usr/local/etc/postfix/dkim -d имя_домена -s mail

Посмотрим.

# ls -al /usr/local/etc/postfix/dkim/
mail.txt # Это публичный ключ, его мы поместим в днс запись домена.
mail.private # Это приватный ключ, его мы не кому не показываем.

Для удобства распознавания сертификатов, я их переименовываю.
Теперь мы изменим права на файлы сертификатов.

# chown opendkim:mail /usr/local/etc/postfix/dkim/mail.private
# chmod 600 /usr/local/etc/postfix/dkim/mail.private

У меня часть доменов делегировано на яндекс, удобно, безопасно, практично.
Добавим публичный dkim ключ к нашему домену.

# cat /usr/local/etc/postfix/dkim/mail.txt
mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIG....тра-ля-ля....DAQAB

Перейдем к настройке утилиты opendkim

# cat /usr/local/etc/opendkim.conf
# Пишем сообщений в syslog.
Syslog                  yes
SyslogSuccess yes
# Этот параметр нужен на первых порах, повышенное логирование, я его отключил.
LogWhy no
X-Header yes
# С каким права запускать утилиту.
#UserID  opendkim:mail
Socket  inet:8891@localhost
#Umask   002
# Этот пункт говорит о том, что мы хотим видеть у каждого отправленного письма, зеленую финтифлюшку, что типа письмо подписано верно.
Canonicalization        simple/simple
#Mode                   sv
# Эти два параметра я использую с префиксом file:, так как у меня несколько доменов, и приходиться создавать файл со списком доменов.
# Список ключей для подписания.
KeyTable file:/usr/local/etc/postfix/dkim/keytable
# Список учётных записей и доменов которые разрешено подписывать.
SigningTable file:/usr/local/etc/postfix/dkim/signingtable
ReportAddress root
SendReports yes

Структура конфигурационного файла /usr/local/etc/postfix/dkim/keytable

# grep mail /usr/local/etc/postfix/dkim/keytable
mail._domainkey.мой_домен.ru мой_домен.ru:mail:/usr/local/etc/postfix/dkim/mail.private

Структура конфигурационного файла /usr/local/etc/postfix/dkim/signingtable

# grep mail /usr/local/etc/postfix/dkim/signingtable
мой_домен.ru mail._domainkey.мой_домен.ru

Оповестим нашу систем, что мы хотим запускать opendkim при старте системы.

# grep open /etc/rc.conf
milteropendkim_enable="YES"
milteropendkim_uid="opendkim"

Запустим opendkim.

# /usr/local/etc/rc.d/milter-opendkim start

Добавим поддержку в почтовом сервере postfix.

# grep -A 3 smtpd_milters /usr/local/etc/postfix/main.cf
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

Перезагрузим posfix.

# /usr/local/etc/rc.d/postfix restart

Если начать отправку писем, то получим в теле письма такое сообщение dkim=neutral, это не есть хорошо.
Спустя примерно 4 часа, запись днс должны обновится и мы увидим в теле письма такую запись dkim=pass, это значит что dkim запись присвоена верно.
Можно проверять, но для полной надежности нужно подождать 24 часа, что бы днс запись обновилась полностью.
Отправим тестовое письмо.

# echo "test" | mail -s "test" почтовый ящик на яндексе.

Открываем письмо и вверху письма увидим зеленую финтифлюшку.
www_fryaha_ru_dkim

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *