Настройка DKIM/SPF в postfix

Скачать Настройка DKIM/SPF в postfix
Недавно искали:

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
25.573
Реакции
9.519
Веб-сайт
itnull.me
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Для примера будет использоваться домен example.com

Установка postfix и mailutils​

Код:
apt-get update
apt-get install postfix mailutils

Настройка postfix через конфигуратор пакета​

На первом шаге в конфигураторе пакета необходимо выбрать опцию Internet site:

Код:
Postfix Configuration
---------------------

Please select the mail server configuration type that best meets your needs.

 No configuration:
  Should be chosen to leave the current configuration unchanged.
 Internet site:
  Mail is sent and received directly using SMTP.
 Internet with smarthost:
  Mail is received directly using SMTP or by running a utility such
  as fetchmail. Outgoing mail is sent using a smarthost.
 Satellite system:
  All mail is sent to another machine, called a 'smarthost', for delivery.
 Local only:
  The only delivered mail is the mail for local users. There is no network.

  1. No configuration  2. Internet Site  3. Internet with smarthost  4. Satellite system  5. Local only

General type of mail configuration: 2
На втором шаге необходимо задать имя почтовой системы:

The "mail name" is the domain name used to "qualify" _ALL_ mail addresses without a domain name. This includes mail to and from <root>: please do not make your machine send out mail from
[email protected] unless [email protected] has told you to.

This name will also be used by other programs. It should be the single, fully qualified domain name (FQDN).

Thus, if a mail address on the local host is [email protected], the correct value for this option would be example.org.

System mail name: example.com

Настройка SPF​

Настроенный SPF и DKIM снизит вероятность попадания письма в спам.

Для настройки SPF необходимо создать TXT-запись следующего вида:

Код:
#-all означает, что письмо, которое не прошло проверку, будет отклонено
Хост        Указатель                    TTL
@           v=spf1 ip4:server_ip -all    300
server_ip необходимо заменить на IP-адрес сервера, который отправляет письма.

Настройка DKIM​

Код:
apt-get install opendkim opendkim-tools
mkdir /etc/postfix/dkim/
#создание ключей для домена example.com
opendkim-genkey -D /etc/postfix/dkim/ -d example.com -s mail
После выполнения последней команды в директории /etc/postfix/dkim/ появятся ключевая пара (публичный и приватный ключ) для домена example.com:

#Установка прав на приватный ключ
chmod 600 /etc/postfix/dkim/example.com.private
#Смена владельца директории
chown -R opendkim /etc/postfix/dkim/
Файл /etc/opendkim.conf необходимо привести к следующему виду:

Syslog yes
#Режим подписи и проверка подписей
Mode sv
#Указываем список ключей
KeyTable file:/etc/postfix/dkim/keytable
#Соответствие ключей и доменов
SigningTable file:/etc/postfix/dkim/signingtable
В файле /etc/postfix/dkim/keytable необходимо указать информацию о приватном ключе:

#имя_ключа домен:селектор:/путь/до/ключа
mail._domainkey.example.com example.com:mail:/etc/postfix/dkim/example.com.private
В файле /etc/postfix/dkim/signingtable указываются домены, которые необходимо подписывать:

#домен имя_ключа
example.com mail._domainkey.example.com
#можно указать несколько доменов
#example.net www._domainkey.example.net
В /etc/default/opendkim необходимо указать сокет, который будет слушать opendkim (другие директивы SOCKET необходимо закоментировать):

SOCKET="inet:8891@localhost"

Добавляем в /etc/postfix/main.cf:

milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Затем перезапускаем postfix и opendkim:

service postfix restart
service opendkim restart
Осталось настроить DNS.

Необходимо создать TXT-записи следующего вида:

#p=MIID...AQAB берем из файла /etc/postfix/dkim/example.com.txt

Хост Указатель TTL
mail._domainkey v=DKIM1; g=*; k=rsa; p=MIID...AQAB 300
#Указываем, что все письма для домена example.com должны быть подписаны
#Возможные варианты:
#all - все сообщения должны быть подписаны
#discardable - отклонять не подписанные сообщения
#unknown - аналогично отсутствию записи

Хост Указатель TTL
_adsp._domainkey dkim=all 300

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

Для проверки можно отправить тестовое сообщение на свой почтовый ящик с помощью утилиты mail.

Код:
echo "test" | mail -aFrom:[email protected] [email protected]

В заголовках полученного сообщения проверки SPF и DKIM должны быть успешно пройдены:

Код:
spf=pass
dkim=pass
Также проверить DKIM можно с помощью утилиты opendkim-testkey:

Код:
# opendkim-testkey -d example.com -s mail -vvv -k /etc/opendkim/keys/mail.private

opendkim-testkey: using default configfile /etc/opendkim.conf
opendkim-testkey: checking key 'mail._domainkey.example.com'
opendkim-testkey: key not secure
opendkim-testkey: key OK
 
Назад
Сверху Снизу