SMTP-роутер с поддержкой DKIM/DMARK/SPF

Устанавливаем необходимые пакеты

# apt-get install opendkim opendkim-tools postfix mailutils

Создаем ключи DKIM

# mkdir /etc/opendkim
# opendkim-genkey -D /etc/opendkim/ --domain interlan.xyz --selector dkim-interlan
# opendkim-genkey -D /etc/opendkim/ --domain anton-c.ru --selector dkim-antonc
# opendkim-genkey -D /etc/opendkim/ --domain bds.su --selector dkim-bds
# opendkim-genkey -D /etc/opendkim/ --domain aagt.ru --selector dkim-aagt
# chown opendkim:opendkim /etc/opendkim/*

Прописываем записи в DNS

Прописываем в nginx записи из соответствующих файлов (например):

# cat /etc/opendkim/dkim-antonc.txt

Проверяем, что DNS записи зарегистрированы и доступны на глобальных DNS-серверах.

# dig TXT dkim-antonc._domainkey.anton-c.ru @8.8.8.8

# dig TXT dkim-interlan._domainkey.interlan.xyz @8.8.8.8

Добавляем в Zimbra CS домены и создаем там алиасы для нужных учетных записей.

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

compatibility_level = 2
mail_owner = postfix
myhostname = smtp.interlan.xyz
mydomain = interlan.xyz
myorigin = /etc/mailname
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost
relay_domains = smtp.interlan.xyz, localhost.interlan.xyz, localhost, interlan.xyz, aagt.ru, bds.su, anton-c.ru
smtpd_banner = $myhostname ESMTP
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_invalid_hostname
smtpd_sender_restrictions = reject_non_fqdn_sender
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8, 37.194.5.244/32
transport_maps = hash:/etc/postfix/transport
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
setgid_group = postdrop
smtp_tls_security_level = may
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:10021
non_smtpd_milters = inet:localhost:10021
relayhost =
mailbox_size_limit = 0
recipient_delimiter = +

Настраиваем DKIM

Конфигурационные файлы:

/etc/opendkim.conf

Syslog                  yes
UMask 007
Socket inet:10021@localhost
PidFile /var/run/opendkim/opendkim.pid
OversignHeaders From
TrustAnchorFile /usr/share/dns/root.key
UserID opendkim
Mode sv
SyslogSuccess yes
LogWhy yes
SendReports yes
ReportAddress "Domain DKIM Admin" <chernousov@interlan.xyz>
SoftwareHeader yes
Canonicalization relaxed/simple
Domain interlan.xyz
Selector default
MinimumKeyBits 1024
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts

/etc/opendkim/KeyTable

dkim-aagt._domainkey.aagt.ru aagt.ru:dkim-aagt:/etc/opendkim/dkim-aagt.private
dkim-antonc._domainkey.anton-c.ru anton-c.ru:dkim-antonc:/etc/opendkim/dkim-antonc.private
dkim-bds._domainkey.bds.su bds.su:dkim-bds:/etc/opendkim/dkim-bds.private
dkim-interlan._domainkey.interlan.xyz interlan.xyz:dkim-interlan:/etc/opendkim/dkim-interlan.private

/etc/opendkim/SigningTable 

*@aagt.ru dkim-aagt._domainkey.aagt.ru
*@anton-c.ru dkim-antonc._domainkey.anton-c.ru
*@bds.su dkim-bds._domainkey.bds.su
*@interlan.xyz dkim-interlan._domainkey.interlan.xyz

/etc/opendkim/TrustedHosts 

127.0.0.1
localhost
*.interlan.xyz
*.bds.su
*.aagt.ru
*.anton-c.ru
37.194.5.244
78.24.222.93

Проверяем DKIM

Отправляем письмо по адресу: check-auth@verifier.port25.com

Дополнительные конфигурационные файлы

Файл transport:

interlan.xyz smtp:mail.interlan.xyz
aagt.ru smtp:mail.interlan.xyz
bds.su smtp:mail.interlan.xyz
anton-c.ru:mail.interlan.xyz

Обязательно делаем файлам postmap:

# postmap ./transport

Перезапуск Postfix и DKIM (добавляем в автозапуск)

# systemctl restart opendkim
# systemctl restart postfix
# systemctl enable opendkim
# systemctl enable postfix

Добавляем пользователя dkim в группу postfix

# usermod -a -G opendkim postfix

Сервисы для проверки настроек почтового сервера

Проверка на Open Relay

Комплексное тестирование настроек

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

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