Spf запись для почтового сервера

SPF запись для почтового сервера: правила задания

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

Каждый раз сервер, принимающий почту делает запрос к DNS и выясняет имеется ли запись типа SPF — если запись есть он анализирует ее и поступает с полученным письмом так как запись предписывает.

Записи SPF задаются в конфигурационном файле BIND или, на практике, часто в личном кабинете компании на NS серверы которого делегировано доменное имя.

Для домена example.com запись может выглядеть так:

. IN TXT v=spf1 mx -all

SPF добавляется в виде TXT записи. Правила записи могут отличаться в зависимости от принципов работы интерфейса провадера DNS (чаще всего, это относится к наличию или отсутствию кавычек), их всегда следует уточнять, но в общем случае запись формируется по одному и тому же принципу

v=spf1 — указывает версию, данный элемент присутствует всегда

mx— говорит о том, что письма могут отправляться от всех хостов заданных в MX записях домена, аналогом может быть a:mail.example.com, т.е. указание определенного доменного имени. mx используется значительно чаще.

-all — предписывает отвергать все письма, поступающие с хостов, включение которых не предполагается mx/a тэгами. Альтернативой является задание ~all с тильдой в качестве первого знака, письма при этом будут доставляться, но в служебных заголовках будет пометка о том, что отправитель подделан. Эта опция используется чаще поскольку снижает риск потери нужным писем.

SPF запись в отличие от DKIM может присутствовать в DNS при отсутствии конфигурации Postfix, в случае с DKIM добавлять запись не рекомендуется.

Добавление SPF в конфигурацию Postfix

Прежде всего установим необходимые пакеты

apt-get install postfix-policyd-spf-python postfix-pcre

Открываем для редактирования файл /etc/postfix/master.cf в его конец дорбавляем две строки, которые обеспечат поддержку policyd-spf

mcedit /etc/postfix/master.cf

policyd-spf unix — n n — 0 spawn
user=policyd-spf argv=/usr/bin/policyd-spf

Также увеличим таймаут Postfix, это не даст пакету завершить процесс принудительно если транзакция выполняется слишком долго

mcedit /etc/postfix/main.cf

policyd-spf_time_limit = 3600

В этот же конфиг добавим check_policy_service entry:

Значения лучше указывать друг за другом через запятую без пробелов, иначе могут возникать ошибки. Опция reject_unauth_destination обязательна должна идти перед check_policy_service unix:private/policyd-spf

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

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