Настройка Postfix с DKIM, DMARC и SPF подписями.

Как создать свой почтовый сервер и избежать попадания вашей почты в спам?

Необходимо настроить подписи DKIM, DMARC и SPF записи!

Postfix

  • Устанавливаем программное обеспечение:
apt-get install opendkim opendkim-tools postfix-policyd-spf-python postfix-pcre
sudo adduser postfix opendkim

Opendkim

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

  • Создаем директорию с ключами:
mkdir -p /etc/opendkim/keys
  • Генерируем ключи:
export DOMAIN=burlutsky.su

cd /etc/opendkim/keys/
mkdir $DOMAIN
cd $DOMAIN
opendkim-genkey -s mail -d $DOMAIN

Тут используется селектор с именем mail. Замените burlutsky.su на имя вашего домена.

  • Создаем таблицу подписей:
cat >>/etc/opendkim/SigningTable <<EOF
*@$DOMAIN mail._domainkey.$DOMAIN

cat /etc/opendkim/TrustedHosts 
127.0.0.1
localhost

$DOMAIN
*.$DOMAIN
EOF
  • Создаем таблицу ключей:
cat > /etc/opendkim/KeyTable <<EOF
mail._domainkey.$DOMAIN $DOMAIN:mail:/etc/opendkim/keys/$DOMAIN/mail.private
  • Добавляем наши файлы в /etc/opendkim.conf:
AutoRestart             Yes
AutoRestartRate         10/1h
SyslogSuccess           Yes
LogWhy                  Yes
Canonicalization        relaxed/simple

ExternalIgnoreList      refile:/etc/opendkim/TrustedHosts
InternalHosts           refile:/etc/opendkim/TrustedHosts
KeyTable                refile:/etc/opendkim/KeyTable
SigningTable            refile:/etc/opendkim/SigningTable
Mode                    sv
Socket                  inet:12301@localhost
  • Настраиваем работу службы opendkim на интерфейсе localhost и TCP сокете. Изменяем: /etc/defaults/opendkim
SOCKET="inet:12301@localhost"
  • Добавляем postfix фильтр (milter) с opendkim сокетом. В файле /etc/postfix/main.cf:
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:12301
non_smtpd_milters = inet:localhost:12301

policyd-spf_time_limit = 3600
smtpd_helo_required = yes
smtpd_recipient_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    reject_unauth_destination,
    check_policy_service unix:private/policyd-spf

smtp_tls_security_level = may
smtp_tls_ciphers = export
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_loglevel = 1
  • Устанавливаем права на новые файлы:
chown -R opendkim:opendkim /etc/opendkim
  • Добавляем новую политику в конце файла /etc/postfix/master.cf:
policyd-spf  unix  -       n       n       -       0       spawn
    user=policyd-spf argv=/usr/bin/policyd-spf
  • Включаем в автозагрузку и запускаем службы:
systemctl enable postfix
systemctl restart postfix
systemctl enable opendkim
systemctl restart opendkim

DNS

Пришло время конфигурации DNS. Необходимо добавить следующие записи:

  • SPF запись.
TXT "v=spf1 a:burlutsky.su -all"

замените burlutsky.su на имя вашего домена.

  • Теперь необходимо получить сгенерированный открытый ключ DKIM:
cat /etc/opendkim/keys/$DOMAIN/mail.txt 

Вы увидите что-то типа:

mail._domainkey IN      TXT     ( "v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq+...)  ; ----- DKIM key mail 

Добавьте эту запись в DNS.

  • Включаем DMARC:
_dmarc.burlutsky.su IN TXT "v=DMARC1; p=none; sp=none;"
  • Можно тестировать вашу почту с gmail или онлайн сервисами, например: https://mxtoolbox.com/dkim.aspx . В качестве селектора укажите selector = mail .

DKIM postfix

Tagged with:

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

Ваш e-mail не будет опубликован.