Настройка SPF и DKIM

Опубликовано:

SPF и DKIM – это механизмы верификации почтового сервера, позволяющие проверить его подлинность. Многие почтовые сервера используют их при получении почты, чтобы быть уверенным в том, что получаемая почта не является спамом. Если вы организуете рассылку со своего почтового сервера, например, периодическую рассылку, либо рассылку писем от вашего интернет-магазина, вам, скорее всего, придется настраивать оба механизма, поскольку это позволит быть уверенным в том, что ваши письма доставляются и автоматически не определяются как спам.

Настройка SPF (Sender Policy Framework).

Настройка SPF является достаточно простой. Для этого достаточно создать записи DNS, определяющие, с каких серверов разрешена отправка почты для данного домена. Использоваться могут два типа записи – TXT и SPF.

В данном примере указывается,  что отправка почты данного домена разрешена только с хоста с адресом <IP-адрес-почтового-сервера>, для которого есть записи типа A и MX, со всех остальных отправка запрещена.

После добавления записей не забудьте изменить serial для зоны DNS и перезагрузить информацию о доменной зоне. Если вы всё сделали правильно, то при отправке письма на другой домен, например, на gmail.com, в заголовках письма вы увидите следующий заголовок:

Настройка DKIM (DomainKeys Identified Mail).

Настройка DKIM несколько сложнее, чем настройка SPF. Для работы этого механизма необходимо следующее:

– Почтовый сервер должен уметь подписывать письма
– Должны быть созданы приватный и публичный ключи
– Должны присутствовать записи в DNS, указывающие на наличие поддержки DKIM

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

Ключи можно сгенерировать при помощи OpenSSL. Генерация приватного ключа:

После генерации приватного ключа необходимо изменить права доступа к нему:

Генерация публичного ключа:

Ключи готовы. Их можно разместить в директории, где хранятся другие ключи. Для Debian'а это директория /etc/ssl/private. Сгенерировать их можно также при помощи программы opendkim-genkey, входящую в пакет opendkim-tools. Теперь надо добавить записи в DNS. Записей будет две.

То, что идет после «p=» – это ключ, содержащийся в файле dkimpublic.key, он записывается в одну строчку. А запись «_adsp._domainkey.domain.ru» определяет, должны ли подписываться письма. Возможные варианты:
«dkim=all» – все письма должны подписываться
«dkim=discardable» – неподписанные письма не должны приниматься
«dkim=unknown» – то же самое, что и отсутствие такой записи.
После создания записей изменяем serial и перезагружаем настройки bind'а, если у вас установлен он. И теперь осталось последнее – настроить почтовый сервер. В качестве почтового сервера возьмем Postfix.

Настройка поддержки DKIM почтовым сервером Postfix.

Последняя и, пожалуй, самая важная часть – включение подписи писем почтовым сервером. Самое первое, что нужно сделать на этом этапе, – это установить opendkim:

Теперь необходимо настроить этот сервис. Первым делом поменяем файл /etc/default/opendkim. Впишем туда следующую строчку:

Теперь наш сервер будет запускаться на порту 10024 на loopback-интерфейсе. Следующий файл, который необходимо изменить, – это /etc/opendkim.conf.

Раскомментируем строчку со словом Domain, вписываем название нашего домена:

Теперь указываем файл с приватным ключом:

После этого указываем селектор, который мы использовали для сгенерированного ранее публичного ключа, указывая его в записи DNS. В нашем случае это «mail»:

Дописываем строчку:

Теперь можно рестартовать opendkim:

И последний шаг – настройка непосредственно Postfix'а. Изменяем файл /etc/postfix/main.cf. Добавим туда следующие строчки:

Теперь перезапускаем postfix и отправляем письмо. После получения смотрим заголовки письма. В них должен присутствовать следующий заголовок:

Если вы видите строчки «spf=pass» и «dkim=pass», значит вы все сделали правильно и ваш почтовый сервер теперь будет значительно лучше восприниматься другими почтовыми серверами, с чем я вас и поздравляю

Понравилась статья, расскажи о ней друзьям, нажми кнопку!