2015-12-23

SPF-запись, настройка DNS для почтовых рассылок


SPF – Sender Policy Framework (структура политики отправителя).

SPF позволяет владельцу домена указать в TXT-записи домена специальным образом сформированную строку, указывающую список серверов, имеющих право отправлять email-сообщения с обратными адресами в этом домене.

Понимать, что либо всегда проще на примерах:

example.org. IN TXT "v=spf1 a mx -all"

Опции:

  • "v=spf1" - используемая версия SPF.
  • "+" - принимать корреспонденцию (Pass). Этот параметр установлен по умолчанию. Тоесть, если никаких параметров не установлено, то это "Pass";
  • "-" - Отклонить (Fail);
  • "~" - "мягкое" отклонение (SoftFail). Письмо будет принято, но будет помечено как СПАМ;
  • "?" - нейтральное отношение;
  • "mx" - включает в себя все адреса серверов, указанные в MX-записях домена;
  • "ip4" - опция позволяет указать конкретный IP-адрес или сеть адресов;
  • "a" - указываем поведение в случае получения письма от конкретного домена;
  • "include" - включает в себя хосты, разрешенные SPF-записью указанного домена;
  • "all" - все остальные сервера, не перечисленные в SPF-записи.

Более детально на примерах:

example.org. IN TXT "v=spf1 mx ip4:8.8.8.8 a:smtp.yandex.ru include:gmail.com +a ~all"
  • "+a" - разрешает прием писем от узла, IP-адрес которого совпадает с IP-адресом в A-записи
  • "+mx" -  разрешает прием писем, если отправляющий хост указан в одной из MX-записей
  • "-all" - отвергать не прошедшие проверку с использованием перечисленных механизмов
  • "mx" - принимать от указанных в MX-записях
  • "ip4:8.8.8.8" - принимать с IP-адреса 8.8.8.8;
  • "a:smtp.yandex.ru" - то же, что и +a:smtp.yandex.ru. принимаем от smtp.yandex.ru;
  • "include:gmail.com" - принимать с разрешенных - gmail.com;
  • "~all" - от всех остальных помечать как спам

example.org. IN TXT "v=spf1 mx/24 a:my.ru/24 -all"
  • "mx/24" - разрешено отправлять со все IP-адресов MX домена с маской /24
  • "a:my.ru/24" - в список разрешенных отправителей входят все IP-адреса, находящихся в тех же сетях что и А-записи домена my.ru;
  • "-all" - всех остальных отправителей - блокируем.

example.org. IN TXT "v=spf1 ptr:example.org exist:example.org -all"
  • "ptr" - проверяет PTR запись IP адреса отправителя.
    (можно принимать от всех PTR-запись которых направлена на указанный домен)
  • "exists" - резолвится ли доме

example.org. IN TXT "v=spf1 redirect:example.ru ~all"
  • "redirect" - указывает, что надо проверять SPF домена, вместо текущего домена
  • "exp" - использование даной опции позволяет задать сообщение о ошибке, которое будет передано отправителю при возникновении таковой. Размещается в конце SPF-записи, даже после опции all. 
example.org. IN TXT "v=spf1 +a +mx -all exp=spf.example.org"
spf.example.org. IN TXT "get lost"


Примеры брал из блога коллеги и из википедии, выкинул всю воду и получилось - как получилось

Комментариев нет:

Отправить комментарий