Spf запись что это
Что такое SPF
Думаю, никому не нужно объяснять, какой проблемой является спам в наше время. Борьба с этим злом — дело не простое, и если хочется приблизится к идеалу, требующее сочетания нескольких элементов. Одним из этих элементов является протокол SPF. Будучи опубликованным в апреле 2006 года в RFC 2006 года к настоящему времени протокол имеет статус «экспериментальный», и достаточно неплохую распространенность.
SPF взят на вооружение такими гигантами, как Google, Яндекс, Mail.Ru, Microsoft, Рамблер. Yahoo не поддерживает SPF, а пытается продвигать свою разработку DKIM, к слову, не слишком успешно.
Итак — как же работает SPF?
Общие принципы работы
Основная идея такова — хозяин адреса указывает, с каких адресов следует ожидать его почту, и как интерпретировать ошибку, в случае несоответствия. Важно понимать, что эти данные — всего лишь рекомендация отправителя по проверке. Да-да, конечно же, стандарт описывает, как должна принимающая сторона обрабатывать результат, но по всяким причинам принимающая сторона фактически может с ними делать все, что заблагорассудится — полностью соблюсти, интерпретировать по-своему или же вообще проигнорировать рекомендации.
Технические детали
Если установлена запись SPF, то TXT записи должны быть проигнорированы.
Механизм взаимодействия
>> 220 example.net ESMTP Service (Mailer v1.0) ready at 30.07.2009 12:28:21 UTC
> 250 example.net Hello mx.example.com., pleased to meet you
Если бы, вдруг, фактический IP подключившегося отправителя был иным, то анализатор сообщил бы почтовику, что входящее сообщение не валидно, и лучше бы его вообще не принимать, ну или на крайний случай отмаркировать отдельно.
Формат записи
» SoftFail, «?» Neutral
Механизмы: all, include, A, MX, PTR, IP4, IP6, exists
Результатами проверки условий могут являться следующие определенные результаты:
* None — означает, что либо в домене нет записей, либо вообще не удается проверить домен. В общем никакого внятного ответа не получено.
* Neutral — возникает в ситуации, когда хозяин домена не хочет или не может сообщить разрешен ли IP. Этот результат должен обрабатываться так же, как и None.
* Pass — означает, что все ОК и получатель может принять письмо.
* Fail — явно указывает на то, что письмо принимать не следует. Проверяющая сторона может отмаркировать письмо либо отбросить.
* SoftFail — находится где-то между Fail и Neutral. Принимающая сторона не должна отбрасывать письмо на основании только этого результата.
* TempError — результат, возникающий, если клиент в момент проверки получает временную ошибку. Сообщение можно принять или временно отвергнуть.
* PermError — ошибка, возникающая при невозможности корректной интерпретации DNS записей отправителя.
тут указаны 2 подсети, из которых разрешено принимать почту, и 2 набора источников, почта с которых будет иметь результат проверки Fail.
Проблема пересылки
Заключение
SPF является простым и достаточно эффективным способом оценить легитимность передаваемой почты. Администраторам почтовых серверов стоит минимальных телодвижений добавление SPF записей в DNS. Простота внедрения и поддержка основными популярными MTA делают распространение SPF все шире и шире, что несет всем пользователям электронной почты пользу, почтовым серверам снижение трафика и в целом делает мир лучше 🙂
SPF-запись
SPF-запись помогает снизить риск того, что письмо, отправленное с адреса на вашем домене, попадет в спам у адресата. Чтобы настроить SPF-запись, нужно создать TXT-запись со списком серверов, которые отвечают за отправку почты с вашего домена.
Если вы делегировали домен на серверы Яндекса, SPF-запись будет настроена автоматически.
Общая инструкция по настройке SPF-записи
Войдите в панель управления на сайте компании, которая предоставляет вам DNS-хостинг.
Если вы делегировали домен на серверы Яндекса, перейдите в DNS-редактор Коннекта.
Создайте TXT-запись со следующими значениями полей (в разных панелях управления названия полей могут различаться):
Имя поддомена (или Хост ) — @
Если это поле отсутствует в панели управления, можно его не указывать.
Подождите, пока изменения в DNS вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Инструкции по настройке SPF-записи у некоторых хостинг-провайдеров
Откройте страницу https://reg.ru и войдите в ваш аккаунт.
Text — v=spf1 redirect=_spf.yandex.net
Подождите, пока изменения в DNS вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Откройте страницу https://cp.masterhost.ru и войдите в ваш аккаунт.
значение (IP/host.) — v=spf1 redirect=_spf.yandex.net
Поле MX preference оставьте пустым.
Подождите, пока изменения в DNS вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Откройте страницу https://mcp.sweb.ru и войдите в ваш аккаунт.
В выпадающем списке выберите нужный домен.
Подождите, пока изменения в DNS вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Создать SPF: Как сделать так, чтобы письма не попадали в СПАМ
P.S. будет много технических терминов, но мы их просто объясним.:)
SPF (Sender Policy Framework/структура политики отправителя) — это метод борьбы со спамом, который работает по принципу паспорта. Как главный документ удостоверяет нашу личность, так SPF подтверждает, что емейл пришел с проверенного надежного адреса. Но в отличие от объемной книжечки, Sender Policy Framework представляет собой одну строку в TXT-записи домена. Например, такую:
Это самый простой пример записи, который говорит о том, что отправлять письма от имени домена example.org могут все все сервера, указанные в записях a и mx. Другие же адреса должны быть удалены: -all.
Более сложный уровень SPF-защиты для того же домена может выглядеть так:
example.org. IN TXT «v=spf1 mx ip4:195.3.159.250 +a:smtp.mail.ru include:gmail.com
и означает, что отправлять сообщения от имени домена example.org. могут все сервера, указанные в mx-записях, а также отправленные с IP 195.3.159.250. Кроме того, можно принимать письма с серверов, указанных в SPF-записи домена gmail.com. Письма со всех остальных серверов нужно отправить в спам без проверки:
И это далеко не самая сложная SPF-запись. При необходимости, она может вмещать до 10 параметров. Для удобства, мы собрали их все в одном месте:
принять емейл, но пометить как СПАМ.
mx все адреса, указанные в MX-записях домена;
all все остальные IP, которые не указаны в SPF-записи;
exists проверяет работоспособность доменного имени;
spf.example.org. IN TXT «You host not allowed e-mail to me from this domain!»
Как известно, основной метод спуфинга — это подмена адреса в поле “FROM”. SPF-запись, как противоядие, направлено именно на это поле, поскольку оно содержит главный критерий для проверки: домен отправителя и его IP адрес. Сопоставляя его с теми айпишниками, которые прописаны в SPF-записи как разрешенные, сервер-получатель принимает решение о безопасности сообщения.
Коротко, алгоритм работы SPF проходит четыре этапа. Для примера, возьмем отправку сообщения с адреса info@example.com на адрес example@beispiel.com через почтовый сервис Estismail:
И такие этапы проходит каждое письмо. Графически, преодоление SPF-фильтра выглядит следующим образом:
Базовую роль в проверке домена играет список IP адресов, указанных в SPF-записи. Именно он подтверждает честные намерения отправителя. Поэтому постарайтесь вписать в этот список все возможные IP, которым вы разрешаете отправку: все корпоративные адреса, а также не забудьте о сервисах почтовых рассылок.
Создание SPF — простая операция. В большинстве случаев для установки базовой защиты достаточно прописать одну строку в TXT-записи домена. Но и здесь есть много подводных камней:
Процесс настройки SPF-записи проходит на сайте провайдера и состоит из 5 этапов. Последний из них — проверка работоспособности и правильности SPF. Ее можно провести на одном из специальных сервисах:
SPF-запись
SPF-запись помогает снизить риск того, что письмо, отправленное с адреса на вашем домене, попадет в спам у адресата. Чтобы настроить SPF-запись, нужно создать TXT-запись со списком серверов, которые отвечают за отправку почты с вашего домена.
Если вы делегировали домен на серверы Яндекса, SPF-запись будет настроена автоматически.
Общая инструкция по настройке SPF-записи
Войдите в панель управления доменом (зоной DNS) на сайте компании, которая предоставляет вам DNS-хостинг.
Если вы делегировали домен на серверы Яндекса, перейдите в DNS-редактор в Яндекс.Коннекте.
SPF-запись помогает снизить риск того, что письмо, отправленное с адреса на вашем домене, попадет в спам у адресата. Чтобы настроить SPF-запись, нужно создать TXT-запись со списком серверов, которые отвечают за отправку почты с вашего домена.
Имя поддомена (или Хост ) — @
Если это поле отсутствует в панели управления, можно его не указывать.
Подождите, пока изменения вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Инструкции по настройке SPF-записи у некоторых хостинг-провайдеров
Откройте страницу https://reg.ru и войдите в ваш аккаунт.
Text — v=spf1 redirect=_spf.yandex.net
Подождите, пока изменения в DNS вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Откройте страницу https://cp.masterhost.ru и войдите в ваш аккаунт.
значение (IP/host.) — v=spf1 redirect=_spf.yandex.net
Поле MX preference оставьте пустым.
Подождите, пока изменения в DNS вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Откройте страницу https://mcp.sweb.ru и войдите в ваш аккаунт.
В выпадающем списке выберите нужный домен.
Подождите, пока изменения в DNS вступят в силу. Может потребоваться до 72 часов, чтобы DNS-серверы в интернете обменялись данными о новых DNS-записях.
Настройка SPF-записи
Для доменов, делегированных на наши NS-серверы, SPF-запись указывается автоматически и выглядит примерно следующим образом:
Такая запись означает, что письма с данного домена могут отправляться из подсетей 176.57.223.0/24 и 92.53.116.0/22, а письма, пришедшие с других серверов (all), должны проходить дополнительную проверку (
Основной синтаксис
Любая SPF-запись начинается с v=spf1, этот параметр не изменяется. Он указывает на версию записи, и в настоящее время поддерживается только spf1.
Далее указываются параметры (механизмы). Чаще всего используются следующие: all, ip4, ip6, a, mx, include, redirect. Также существуют, но используются значительно реже: ptr, exists, exp. Они все будут рассмотрены ниже.
Помимо механизмов используются префиксы (определители):
Параметр «all» подразумевает все серверы, не упомянутые отдельно в SPF-записи. «All» задает обработку полученных с них писем и указывается в конце записи.
— принимать почту только из подсети 176.57.223.0/24; письма с других адресов должны быть помечены как спам.
— принимать почту только с A-записи домена; письма с других адресов должны отвергаться.
— отвергать все письма с домена. Такую настройку можно использовать для доменов, с которых не должна отправляться вообще никакая почта.
В последующих примерах мы не будем дополнительно комментировать значения параметров
all и -all в SPF-записях.
ip4 / ip6
Используется для указания конкретных адресов и подсетей, из которых могут отправляться письма. Синтаксис для IPv4 и IPv6 идентичен.
— принимать почту из подсети 176.57.223.0/24.
— принимать почту с IPv6-адреса 2001:db8::10.
IP отправителя проверяется на соответствие A-записи домена.
— принимать почту с A-записи текущего домена.
— принимать почту с A-записи домена sub.domain.com.
IP отправителя проверяется на соответствие IP-адресам серверов, указанных в MX-записях домена. На текущий день для многих современных сервисов эта директива уже не так важна, так как серверы входящей и исходящей почты зачастую имеют разные IP.
— принимать почту с MX-серверов текущего домена и домена sub.domain.com.
— принимать почту из подсети, в которую входят MX-серверы текущего домена.
include
Позволяет учитывать в SPF-записи настройки SPF другого домена.
— принимать почту с A-записи текущего домена и серверов, указанных в SPF-записи домена other-domain.com.
redirect
Технически, redirect является модификатором, а не механизмом. Он выполняет одну основную функцию: сообщает, что необходимо применять настройки SPF другого домена.
— почта должна приниматься или отклоняться согласно настройкам домена other-domain.com.
Прочие механизмы
Здесь мы рассмотрим оставшиеся механизмы, которые используются в настройках значительно реже.
PTR-запись IP-адреса отправителя проверяется на соответствие указанному домену. Данный механизм требует большого количества DNS-запросов при проверке, поэтому без острой необходимости использовать его в SPF не рекомендуется.
— принимать почту со всех адресов, PTR-запись которых направлена на домен other-domain.com
exists
Запрашивается А-запись указанного домена; если она существует, проверка считается пройденной. Другими словами, проверяется, резолвится ли домен на какой-либо (любой) IP-адрес.
— принимать почту, если существует A-запись домена mydomain.com.
Параметр «exp» применяется для отправки сообщения об ошибке отправителю письма. С помощью «exp» в SPF прописывается определенный поддомен, в TXT-записи которого указан текст сообщения об ошибке. Имя поддомена и текст ошибки может быть любым.
Параметр «exp» всегда указывается в конце записи (после all).
При этом TXT-запись домена error-spf.mydomain.com содержит: «Not authorized to send mail for this domain».
Примеры настроек
Настройка SPF для «Почты для доменов» от Mail.Ru
(подробнее о настройке DNS для Mail.ru см. здесь)
Если вы отправляете почту только с серверов Mail.Ru:
Если вы отправляете почту так же и с других серверов (укажите IP-адреса или подсети вместо IP1, IP2 и т.д.):
Настройка SPF для Яндекс.Почты
(подробнее о настройке DNS для Яндекса см. здесь)
При использовании только серверов Яндекса:
При использовании также и других серверов (укажите IP-адреса или подсети вместо IP1, IP2 и т.д.):
Настройка SPF для Google
(подробнее о настройке DNS для Google см. здесь)
При использовании только серверов Google:
При использовании также и других серверов (укажите IP-адреса или подсети вместо IP1, IP2 и т.д.):
Другие примеры
— принимать почту с IP-адресов, соответствующих A-записям текущего домена, с IP-адреса 176.57.223.12 и серверов, указанных в SPF-записи domain2.com; прочие письма отклонять.
— принимать почту из подсети, в которую входят MX-серверы текущего домена, и из подсети, в которую входят A-записи домена domain2.com; прочие письма отклонять.
— принимать почту с A-записи текущего домена, IP-адреса 176.57.223.12, а также с серверов, указанных в SPF домена domain2.com.