SPF-запись
SPF (Sender Policy Framework) — это список IP-адресов в виде буквенного кода, который прописывается в настройках домена и содержит информацию о серверах, с которых владелец разрешает отправлять письма.
SPF-запись выглядит, например, так:
v=spf1 ip4:176.57.223.0/24 -all
где v — версия SPF, всегда принимает значение v=SPF1;
ip4 — IP-адрес, с которого разрешена отправка писем;
-all — механизм работы с письмами, отправленными с других IP-адресов.
Данная SPF-запись простая и весьма строгая. Она разрешает отправку писем только с указанного IP. Все остальные письма должны быть заблокированы, так как указан механизм «-all».
Как работает SPF-запись
После отправки письма почтовый сервер получателя проверяет, с какого IP-адреса пришло сообщение. Он сверяет его со списком, который прописан в SPF.
Если адрес есть в списке, значит, все в порядке. Письмо попадает во входящие. Если IP-адреса нет в списке, то письмо может быть заблокировано почтовым провайдером .
Что такое SPF (UVA, UVB, физические и химические фильтры)
А вот если SPF не прописан, велика вероятность, что письмо будет доставлено. И тогда мошенники легко могут написать сообщение от вашего имени и украсть личные данные подписчиков.
Для чего нужна SPF-запись
Часто владельцы доменов пренебрегают SPF. А зря. Настройка этой записи займет несколько минут, но убережет от многих проблем.
Иногда SPF и хотелось бы настроить, но нет такой возможности. Довольно часто встречаю хостинги и даже сервисы рассылок, которые ограничиваются только настройкой DKIM и дополнительных механизмов аутентификации отправителя (проверки подлинности) не предусматривают.
email-маркетолог, основатель блога «Практичный email маркетинг» и автор книг по email-маркетингу
Защита домена от спуфинга. Главная причина настроить SPF — это обеспечить безопасность вашего домена.
Иногда мошенники отправляют письма от имени другой компании или человека, маскируются под известный бренд, присылают сообщения «от банка» о переводе средств и просят перейти по ссылке. Они делают это, чтобы украсть данные пользователей, деньги с карты или поселить в компьютер вирусную программу.
Если вам пришло подобное письмо, проверьте, с какого адреса оно отправлено и сверьте его с официальным. А лучше позвоните на горячую линию компании. Банки обычно не пишут такие сообщения
Схема, при которой отправитель письма пытается выдать себя за другого, использует чужой логотип и похожий email-адрес, называется спуфинг-атакой. Чтобы защитить корпоративную почту и домен от блокировки, а ваших подписчиков от мошенников, нужно настроить SPF. Тогда подмена отправителя будет уже менее страшна.
Доставка писем во входящие. Почтовые провайдеры лояльны к отправителям, которые настроили email-аутентификацию, в том числе прописали SPF. Почтовики с большей вероятностью пропускают письма таких компаний во входящие.
Дополнительные возможности. Если вы добавили SPF-запись, то сможете подключить сервисы расширенной статистики по отправленным рассылкам — постамстеры. Правда, для этого еще потребуется настроить DKIM.
Механизмы SPF-записи
Любая SPF-запись начинается с v=spf1, это значение не меняется.
Далее указываются параметры, или механизмы. Чаще всего используют следующие: all, ip4, ip6, a, mx, include, redirect.
Параметры «ip4/ip6» указывают конкретные адреса, с которых можно отправлять письма. Параметр «a» проверяет A-запись домена, «mx» — МХ-запись домена.
А-запись домена отвечает за связь с IP-адресом сервера. Если A-запись не прописана, сайт не будет работать. А вот МХ-запись отвечает за сервер, через который работает почта.
Механизмы include, redirect позволяют применять настройки SPF другого домена. Их используют компании, у которых несколько доменов и почтовых серверов. Тогда можно прописать настройки SPF один раз и тем самым упростить работу.
Параметр «all» задает обработку всех писем с адресов, не указанных в SPF-записи. Как именно почтовик будет поступать с этими письмами, зависит от префикса, прописанного перед параметром.
Префиксы (или определители) диктуют действия, которые следует применить к письмам отправителя:
«+» — pass, принимать почту.
«-» — fail, отклонять почту.
«~» — softFail, принимать почту, но помещать ее в спам.
«?» — обрабатывать как обычное письмо.
Пара примеров для закрепления:
v=spf1 a include:other-domain.com -all
Принимать почту с А-записи текущего домена и серверов, указанных в SPF-записи домена other-domain.com. Остальные письма отклонять.
v=spf1 ip6:2002:db7 ~all
Принимать почту с указанного адреса, остальные письма отправлять в спам.
Как настроить SPF для рассылок
Если вы отправляете письма только через почтовые провайдеры, сделайте SPF-запись в настройках аккаунта. У Яндекс, Google и Mail.ru есть подробные инструкции.
Если вы используете сервис рассылок, то для настройки SPF вам потребуется доступ к хостингу вашего сайта. Мы написали пошаговую инструкцию, как настроить SPF с нуля в Unisender.
На всякий случай уточню такой нюанс: SPF-запись для домена в DNS делается только одна. И в неё уже включаются все IP-адреса, с которых допустима отправка писем.Например, если мы используем для рассылок несколько сервисов: какой-то сервис для массовых рассылок, отдельный сервис для отправки писем с товарными рекомендациями, отдельное решение для отправки транзакционных писем — то везде у них будут разные IP-адреса для отправки. Все их понадобится включить в единую SPF-запись. В этом отличие от DKIM, которых может быть добавлено в DNS несколько (в данном конкретном примере это будет три отдельных DKIM-подписи для трёх разных сервисов отправки писем).
email-маркетолог, основатель блога «Практичный email маркетинг» и автор книг по email-маркетингу
Как проверить SPF
При настройке SPF через сервисы рассылок достаточно проверить статус записи в разделе email-аутентификации. Например, в Unisender корректно настроенная SPF-запись будет отмечена зеленым цветом.
Еще один способ проверить SPF-запись — специальные сервисы, например MailTester.com.
Отправьте ваше письмо на указанный адрес, а сервис проверит, каковы его шансы попасть во входящие.
После отправки сервис покажет общий рейтинг, а также статус настроек email-аутентификации.
Итак, SPF-запись помогает предотвратить спуфинг-атаку на домен, улучшить доставляемость писем и защитить ваших подписчиков от спама.
Источник: www.unisender.com
Создать SPF: Как сделать так, чтобы письма не попадали в СПАМ
SPF — это не только уровень защиты от солнечных лучей. Это еще и мощная технология, которая ограждает домен отправителя от действий мошенников. О том, как она работает и почему без настроенной SPF все меры по защите почтовой репутации летят коту под хвост — рассказываем.
P.S. будет много технических терминов, но мы их просто объясним.:)
SPF: что? зачем? и как?
SPF (Sender Policy Framework/структура политики отправителя) — это метод борьбы со спамом, который работает по принципу паспорта. Как главный документ удостоверяет нашу личность, так SPF подтверждает, что емейл пришел с проверенного надежного адреса. Но в отличие от объемной книжечки, Sender Policy Framework представляет собой одну строку в TXT-записи домена. Например, такую:
example.org. IN TXT «v=spf1 +a +mx -all»,
где v=spf1 — это используемая версия SPF, а +a +mx -all — механизм и условия защиты домена от мошенников.
Это самый простой пример записи, который говорит о том, что отправлять письма от имени домена 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 ~all»
и означает, что отправлять сообщения от имени домена example.org. могут все сервера, указанные в mx-записях, а также отправленные с IP 195.3.159.250. Кроме того, можно принимать письма с серверов, указанных в SPF-записи домена gmail.com. Письма со всех остальных серверов нужно отправить в спам без проверки: ~all».
И это далеко не самая сложная SPF-запись. При необходимости, она может вмещать до 10 параметров. Для удобства, мы собрали их все в одном месте:
+ принимать сообщение. Например: +all — принимать все письма;
— отклонить сообщение. Например: -all — отклонять все письма;
~ принять емейл, но пометить как СПАМ. ~all — отправлять все письма в СПАМ;
mx все адреса, указанные в MX-записях домена;
ip4 указывает конкретный IP-адрес. Например: ip4:195.3.156.134 — принимать письма с IP 195.3.156.134;
a указывает действие, которое нужно сделать при получении письма от конкретного домена. Например: +a — принять все письма, которые присланы с IP, который совпадает с IP-адресом в записи отправляющего домена;
include разрешает принимать письма с серверов, разрешенных SPF-записями домена. Например: include:gmail.com — принимать письма с айпишников, которые указаны в SPF домена gmail.com;
all все остальные IP, которые не указаны в SPF-записи;
exists проверяет работоспособность доменного имени;
redirect указывает, что нужно проверять SPF указанного домена, вместо текущего; задает сообщение об ошибке, которое передается отправителю. Например:
exp example.org. IN TXT «v=spf1 +a +mx -all exp=spf.example.org»
spf.example.org. IN TXT «You host not allowed e-mail to me from this domain!»
Главная функция SPF — предотвратить попытки спуфинга и других атак на репутацию отправителя. Ее длина и сложность зависит от нужного уровня защиты и навыков специалиста. Зачастую ее можно прописать самостоятельно, и мы расскажем как — чуть дальше:)
Как SPF защищает домен от спуфинга?
Как известно, основной метод спуфинга — это подмена адреса в поле “FROM”. SPF-запись, как противоядие, направлено именно на это поле, поскольку оно содержит главный критерий для проверки: домен отправителя и его IP адрес. Сопоставляя его с теми айпишниками, которые прописаны в SPF-записи как разрешенные, сервер-получатель принимает решение о безопасности сообщения.
Коротко, алгоритм работы SPF проходит четыре этапа. Для примера, возьмем отправку сообщения с адреса [email protected] на адрес [email protected] через почтовый сервис Estismail:
- сервер Estismail с IP (для примера) 1.3.4.7 отправляет письмо с адреса [email protected] на адрес [email protected];
- почтовый сервер beispiel.com проверяет DNS запись о типе TXT для домена example.com и определяет IP отправляющего домена;
- мейл-сервер beispiel.com ищет IP адрес 1.3.4.7, среди тех, которым SPF-запись example.com разрешает делать отправку от своего имени;
- если IP отправителя есть в списке “правильных” айпишников, письмо поступает во “Входящие”. Если нет — “отбивается” или попадает в СПАМ.
И такие этапы проходит каждое письмо. Графически, преодоление SPF-фильтра выглядит следующим образом:
Базовую роль в проверке домена играет список IP адресов, указанных в SPF-записи. Именно он подтверждает честные намерения отправителя. Поэтому постарайтесь вписать в этот список все возможные IP, которым вы разрешаете отправку: все корпоративные адреса, а также не забудьте о сервисах почтовых рассылок.
Как настроить и проверить SPF-запись для своего домена самостоятельно?
Создание SPF — простая операция. В большинстве случаев для установки базовой защиты достаточно прописать одну строку в TXT-записи домена. Но и здесь есть много подводных камней:
- SPF работает на уровне домена и не передается на поддомены. Это значит, что на каждый уровень нужно создавать свою SPF-запись.
- В проверке домена SPF ориентируется исключительно на поле “FROM”, поэтому она работает вместе с DKIM и DMARC, которые задают параметры поиска мошенника не только в поле “Отправитель”, но и в тексте сообщения.
Процесс настройки SPF-записи проходит на сайте провайдера и состоит из 5 этапов. Последний из них — проверка работоспособности и правильности SPF. Ее можно провести на одном из специальных сервисах:
- Kitterman Technical Services;
- MXToolBox.
или в личном аккаунте почтового сервиса Estismail. Зеленая галочка в разделе “Статус” означает, что SPF прописана и внедрена в TXT — запись домена верно:
Поздравляем, теперь Вы можете самостоятельно за несколько минут настроить SPF-запись для своего домена и обеспечить мощную защиту репутации отправителя. Тем не менее, одному лишь SPF не под силу полностью оградить домен от фишинга и спуфинга. Для полной защиты нужно действие трех магов: SPF, DMARC и DKIM.
Если хотя бы один из них будет не настроен, то в защите отправляющего домена образуется брешь, через которую спуферы смогут подменить информацию об отправителе. В результате — ваши клиенты от вашего же имени получают спам или вирус, а вы — ни сном ни духом. Чтобы избежать такой ситуации — проверьте все записи или обратитесь в нашу службу поддержки. Мы всегда поможем.
Источник: vc.ru
Что такое Service Provider Foundation?
Поддержка этой версии Service Provider Foundation (SPF) закончилась. Рекомендуем выполнить обновление до SPF 2022.
System Center — Virtual Machine Manager (VMM) предоставляет все ресурсы, необходимые для создания, обслуживания и мониторинга облачной инфраструктуры. Однако поставщикам услуг и крупным предприятиям требуются дополнительные функции для поддержки нескольких клиентов, интеграции инфраструктуры с сложными веб-порталами самообслуживания и распределения рабочих нагрузок управления между несколькими центрами обработки данных.
System Center — Service Provider Foundation (SPF), в комплекте с System Center Orchestrator, предоставляет эту функцию с расширяемым API open Data Protocol через веб-службу REST, которая взаимодействует с VMM.
Поставщики услуг могут использовать SPF для предоставления клиентам инфраструктуры как услуги (IaaS). Если у поставщика услуг есть интерфейсный портал для клиентов, клиент может отправлять запросы к ресурсам поставщика услуг размещения, не выходя из портала. Облачными ресурсами, предоставляемыми VMM, можно управлять с помощью стандартных интерфейсов управления с поддерживаемых устройств в любом месте.
На следующем рисунке показано, как работает SPF.
Службы SPF
SPF предоставляет ряд служб:
- Администратор веб-служба. Предоставляет серверы, клиенты и метки для Service Provider Foundation.
- Служба VMM: предоставляет доступ к возможностям VMM.
- Служба поставщика: используется Microsoft Azure Pack
Веб-служба администрирования
- Поставщики услуг размещения используют веб-службу администрирования для создания клиентов, ролей пользователей, серверов, штампов и других административных объектов и управления ими.
- Доступ к веб-службе Администратор можно получить по URL-адресу.https://server:8090/SC2012R2/Admin/Microsoft.Management.Odata.svc
Примечание Указанный выше URL-адрес применим для SPF 2016 и более поздних версий.
Веб-служба VMM
Веб-служба VMM вызывает VMM для выполнения запрошенных операций, таких как создание виртуальных машин, виртуальных сетей, определений ролей пользователей и другой структуры для облака. Эта служба координирует изменения между участниками и обеспечивает следующие динамические возможности.
- Приложения портала и другие клиенты обнаруживают изменения, внесенные SPF и VMM.
- VMM отображает изменения, внесенные приложениями портала, другими клиентами и Service Provider Foundation.
- Service Provider Foundation отражает все изменения, внесенные участниками.
Для регистрации экземпляра T:Microsoft.SystemCenter.Foundation.Cmdlet.New-SCSPFServer VMM можно использовать командлет PowerShell. Доступ к веб-службе VMM можно получить по URL-адресу. https://server:8090/SC2012R2/VMM/Microsoft.Management.Odata.svc
Указанный выше URL-адрес применим для SPF 2016 и более поздних версий.
Удостоверение пула приложений VMM в IIS | Должен быть членом Администратор групп и SPF_VMM групп. |
Группа Администратор в разделе «Управление компьютером» | Должны быть включены учетные данные для удостоверения пула приложений VMM |
Группа SPF_VMM в разделе «Управление компьютером» | Должен включать локального пользователя, который является членом группы Администратор, и учетные данные для удостоверения пула приложений VMM. |
Администратор роли пользователя в VMM | Необходимо включить учетные данные для удостоверения пула приложений VMM в качестве члена роли пользователя Администратор |
Веб-служба использования
- Веб-служба использования используется только Microsoft Azure Pack и сторонними поставщиками выставления счетов. К конечной точке веб-службы «Использование» не следует обращаться для других целей, чтобы предотвратить потерю данных из-за ненужных или ошибочных запросов.
- Веб-служба использования использует регистрации экземпляров хранилищ данных Operations Manager (которые размещаются в VMM) для сбора метрик использования виртуальной машины клиента и другого использования структуры. Данные об использовании собираются для таких процессов, как возвратный платеж.
- Вы можете использовать командлеты Windows PowerShell для регистрации параметров подключения к хранилищу данных Operations Manager в базе данных SPF. Эта регистрация позволяет SPF агрегировать данные об использовании из хранилищ данных.
- Веб-служба использования возвращает данные об использовании, относящиеся ко всем подпискам служб.
Свойства базы данных для базы данных OperationsManagerDW SQL Server (щелкните правой кнопкой мыши) на сервере Operations Manager.
Веб-служба поставщика
Поставщики ресурсов для предоставления инфраструктуры как услуги (IaaS) используют веб-службу поставщика. Веб-служба поставщика предоставляет веб-интерфейс API Microsoft ASP.NET. Это не служба открытых данных (OData). Веб-служба поставщика также использует веб-службы VMM и администрирования.
Удостоверение пула приложений поставщика в IIS | Должен быть членом групп Администратор и групп SPF_Provider, SPF_VMM и SPF_Admin. |
Группа Администратор в разделе «Управление компьютером» | Должны быть включены учетные данные для удостоверения пула приложений поставщика |
Группа SPF_Provider в разделе «Управление компьютером» | Должен включать локального пользователя, который является членом группы Администратор, и учетные данные для удостоверения пула приложений поставщика. |
Веб-служба service Management Automation.
В SPF можно настроить события, которые будет использовать веб-служба Service Management Automation. Для этого веб-служба должна иметь учетные данные для доступа к веб-службам SPF. Кроме того, можно использовать PowerShell для автоматизации модулей Runbook.
Одно или несколько удостоверений пула приложений SPF, необходимых для автоматизации | Должен быть членом группы Администратор на сервере с установленной службой Service Management Automation. |
Взаимодействие с SPF
Хосты и клиенты взаимодействуют с SPF следующим образом:
- Поставщики услуг размещения используют службу администрирования для выделения пропускной способности сети, дискового пространства и серверов, которые вместе представляют частное облако для клиентов.
- Клиенты представляют клиента с ресурсом в системе хост-сервера. Клиенты потребляют и управляют службами, которые им предлагает поставщик услуг размещения. С каждым клиентом связаны собственные администраторы, приложения, скрипты и другие средства.
- Поставщик услуг размещения управляет ресурсами, доступными каждому клиенту. У хост-сервера есть интерфейсный портал, который могут использовать все клиенты.
- Клиентские службы подготавливаются для пользователей самообслуживания администраторами клиента в виде сетей виртуальных машин, виртуальных машин, виртуального оборудования и облачной инфраструктуры.
- Хост-сайт выделяет ресурсы структуры в метку. Ресурсы клиента можно выделять для меток любым способом, подходящим для хост-сервера. Ресурсы могут быть разделены на несколько меток (определенная коллекция ресурсов).
- SPF позволяет хост-службе представить клиенту удобный пользовательский интерфейс, агрегируя данные из каждой метки и позволяя клиенту использовать API SPF для доступа к этим данным.
- По мере увеличения спроса на клиенты поставщик услуг размещения предоставляет дополнительные штампы для удовлетворения этого спроса.
- Каждый экземпляр VMM, с которым взаимодействует SPF, называется меткой управления. SPF может взаимодействовать не более чем с пятью метками.
- Метка — это экземпляр System Center, который поддерживает виртуализированную инфраструктуру платформы, состоящую из сервера VMM, узлов, виртуальных машин и параметров конфигурации, таких как учетные записи служб и роли пользователей. Метки предоставляют логическую границу. Например, можно создать отдельную метку для каждого сайта, управляемого сервером VMM.
- Метки должны поддерживать мониторинг и включать экземпляр System Center Operations Manager. Экземпляр Operations Manager может обеспечить мониторинг нескольких меток.
На этом рисунке показано, как SPF взаимодействует с VMM
VMM, SPF и Microsoft Azure Pack
Microsoft Azure Pack предоставляет интерфейс, похожий на Azure, для облаков организации. Azure Pack предоставляет ряд компонентов, а также облачную службу виртуальной машины. Облачная служба виртуальной машины интегрируется с VMM для предоставления следующих компонентов:
- Портал управления для администратора для включения размещения или предоставления служб для настройки инфраструктуры подготовки виртуальных машин
- Портал клиента, на котором клиенты могут зарегистрироваться в службе облаков виртуальных машин и подготовить виртуальные машины. Microsoft Azure Pack использует SPF для интеграции с VMM для предоставления службы облаков виртуальных машин, как показано на следующем рисунке.
Источник: learn.microsoft.com
Настройка SPF-записи
SPF (Sender Policy Framework) — это DNS-запись, содержащая список доверенных серверов, с которых может отправляться почта данного домена, и сведения о механизме обработки писем, отправленных с других серверов. Корректная настройка SPF позволит снизить вероятность рассылки спама злоумышленниками от вашего имени.
В панели Timeweb SPF настраивается в разделе « Домены и поддомены » — «Настройки DNS» — «Добавить DNS запись» — «TXT». Если TXT-запись с параметрами SPF уже создана, необходимо ее отредактировать. Не рекомендуется создавать несколько SPF-записей для домена, так как это может вызывать проблемы с доставкой почты.
SPF-запись Timeweb выглядит следующим образом:
v=spf1 include:_spf.timeweb.ru ~all
Основной синтаксис
Любая SPF-запись начинается с v=spf1, этот параметр не изменяется. Он указывает на версию записи, и в настоящее время поддерживается только spf1.
Далее указываются параметры (механизмы). Чаще всего используются следующие: all , ip4 , ip6 , a , mx , include , redirect . Также существуют, но используются значительно реже: ptr , exists , exp . Они все будут рассмотрены ниже.
Помимо механизмов используются префиксы (определители):
- + — Pass, принимать почту. Прописывать этот параметр необязательно, он установлен по умолчанию (т.е. значения «+a +mx» и «a mx» — идентичны).
- — — Fail, отклонять почту.
- ~ — SoftFail, «мягко» отклонять (принимать почту, но помещать ее в «Спам»).
- ? — нейтрально (обрабатывать как обычное письмо).
all
Параметр «all» подразумевает все серверы, не упомянутые отдельно в SPF-записи. «All» задает обработку полученных с них писем и указывается в конце записи.
v=spf1 ip4:176.57.223.0/24 ~all
— принимать почту только из подсети 176.57.223.0/24; письма с других адресов должны быть помечены как спам.
v=spf1 a -all
— принимать почту только с A-записи домена; письма с других адресов должны отвергаться.
v=spf1 -all
— отвергать все письма с домена. Такую настройку можно использовать для доменов, с которых не должна отправляться вообще никакая почта.
В последующих примерах мы не будем дополнительно комментировать значения параметров ~all и -all в SPF-записях.
ip4 / ip6
Используется для указания конкретных адресов и подсетей, из которых могут отправляться письма. Синтаксис для IPv4 и IPv6 идентичен.
v=spf1 ip4:176.57.223.0/24 ~all
— принимать почту из подсети 176.57.223.0/24.
v=spf1 ip6:2001:db8::10 ~all
— принимать почту с IPv6-адреса 2001:db8::10.
a
IP отправителя проверяется на соответствие A-записи домена.
v=spf1 a ~all
— принимать почту с A-записи текущего домена.
v=spf1 a:sub.domain.com ~all
— принимать почту с A-записи домена sub.domain.com.
mx
IP отправителя проверяется на соответствие IP-адресам серверов, указанных в MX-записях домена. На текущий день для многих современных сервисов эта директива уже не так важна, так как серверы входящей и исходящей почты зачастую имеют разные IP.
v=spf1 mx mx:sub.domain.com -all
— принимать почту с MX-серверов текущего домена и домена sub.domain.com.
v=spf1 mx/24 -all
— принимать почту из подсети, в которую входят MX-серверы текущего домена.
include
Позволяет учитывать в SPF-записи настройки SPF другого домена.
v=spf1 a include:other-domain.com -all
— принимать почту с A-записи текущего домена и серверов, указанных в SPF-записи домена other-domain.com.
При такой настройке проверяется SPF домена other-domain.com; если это, допустим, «v=spf1 a -all», то далее IP отправителя проверяется на соответствие A-записи домена other-domain.com.
redirect
Технически, redirect является модификатором, а не механизмом. Он выполняет одну основную функцию: сообщает, что необходимо применять настройки SPF другого домена.
v=spf1 redirect=other-domain.com
— почта должна приниматься или отклоняться согласно настройкам домена other-domain.com.
Прочие механизмы
Здесь мы рассмотрим оставшиеся механизмы, которые используются в настройках значительно реже.
ptr
PTR-запись IP-адреса отправителя проверяется на соответствие указанному домену. Данный механизм требует большого количества DNS-запросов при проверке, поэтому без острой необходимости использовать его в SPF не рекомендуется.
v=spf1 ptr:other-domain.com -all
— принимать почту со всех адресов, PTR-запись которых направлена на домен other-domain.com
exists
Запрашивается А-запись указанного домена; если она существует, проверка считается пройденной. Другими словами, проверяется, резолвится ли домен на какой-либо (любой) IP-адрес.
v=spf1 exists:mydomain.com -all
— принимать почту, если существует A-запись домена mydomain.com.
exp
Параметр «exp» применяется для отправки сообщения об ошибке отправителю письма. С помощью «exp» в SPF прописывается определенный поддомен, в TXT-записи которого указан текст сообщения об ошибке. Имя поддомена и текст ошибки может быть любым.
Параметр «exp» всегда указывается в конце записи (после all).
v=spf1 mx -all exp=error-spf.mydomain.com
При этом TXT-запись домена error-spf.mydomain.com содержит: «Not authorized to send mail for this domain».
Примеры настроек
Настройка SPF для «Почты для доменов» от Mail.Ru
(подробнее о настройке DNS для Mail.ru см. здесь )
Если вы отправляете почту только с серверов Mail.Ru:
v=spf1 redirect=_spf.mail.ru
Если вы отправляете почту так же и с других серверов (укажите IP-адреса или подсети вместо IP1, IP2 и т.д.):
v=spf1 ip4:IP1 ip4:IP2 ip4:IP3 include:_spf.mail.ru ~all
Настройка SPF для Яндекс.Почты
(подробнее о настройке DNS для Яндекса см. здесь )
При использовании только серверов Яндекса:
v=spf1 redirect=_spf.yandex.net
При использовании также и других серверов (укажите IP-адреса или подсети вместо IP1, IP2 и т.д.):
v=spf1 ip4:IP1 ip4:IP2 ip4:IP3 include:_spf.yandex.net ~all
Настройка SPF для Google
(подробнее о настройке DNS для Google см. здесь )
При использовании только серверов Google:
v=spf1 include:_spf.google.com ~all
При использовании также и других серверов (укажите IP-адреса или подсети вместо IP1, IP2 и т.д.):
v=spf1 ip4:IP1 ip4:IP2 include:_spf.google.com ~all
Другие примеры
v=spf1 a ip4:176.57.223.12 include:domain2.com -all
— принимать почту с IP-адресов, соответствующих A-записям текущего домена, с IP-адреса 176.57.223.12 и серверов, указанных в SPF-записи domain2.com; прочие письма отклонять.
v=spf1 mx/24 a:domain2.com/24 ~all
— принимать почту из подсети, в которую входят MX-серверы текущего домена, и из подсети, в которую входят A-записи домена domain2.com; прочие письма помещать в спам.
Видеоинструкция
- 00:00 | Зачем нужна SPF-запись?
- 00:50 | Что происходит с письмом после отправки?
- 2:44 | Настраиваем бесплатный домен и почту
- 5:18 | Где редактировать почтовые записи. Виды записей
- 6:50 | Проверяем письмо на подозрительность
- 8:06 | Как уберечь свою почту от спама?
Источник: timeweb.com
Что такое SPF
Думаю, никому не нужно объяснять, какой проблемой является спам в наше время. Борьба с этим злом — дело не простое, и если хочется приблизится к идеалу, требующее сочетания нескольких элементов. Одним из этих элементов является протокол SPF. Будучи опубликованным в апреле 2006 года в RFC 2006 года к настоящему времени протокол имеет статус «экспериментальный», и достаточно неплохую распространенность.
SPF взят на вооружение такими гигантами, как Google, Яндекс, Mail.Ru, Microsoft, Рамблер. Yahoo не поддерживает SPF, а пытается продвигать свою разработку DKIM, к слову, не слишком успешно.
Итак — как же работает SPF?
Общие принципы работы
Основная идея такова — хозяин адреса указывает, с каких адресов следует ожидать его почту, и как интерпретировать ошибку, в случае несоответствия. Важно понимать, что эти данные — всего лишь рекомендация отправителя по проверке. Да-да, конечно же, стандарт описывает, как должна принимающая сторона обрабатывать результат, но по всяким причинам принимающая сторона фактически может с ними делать все, что заблагорассудится — полностью соблюсти, интерпретировать по-своему или же вообще проигнорировать рекомендации.
Технические детали
Для размещения данных используется поле TXT в DNS. Так IANA назначила DNS поле с кодом 99 для SPF. Формат SPF поля идентичен TXT. Вообще, использование поля TXT не является оптимальным, но проблема в том, что не всякий DNS сервер и клиент понимает новый SPF тип записи. Поэтому совместное использование TXT и SPF считается хорошим подходом, обеспечивающим совместимость и будущее развитие.
Стандарт рекомендует доменам, удовлетворяющим требованиям SPF, иметь записи обоих типов. Вместе с тем, как минимум одна запись должна присутствовать обязательно. В случае наличия двух записей они должны быть идентичны. Например:
example.com. IN TXT «v=spf1 +mx a:colo.example.com/28 -all»
example.com. IN SPF «v=spf1 +mx a:colo.example.com/28 -all»
Если установлена запись SPF, то TXT записи должны быть проигнорированы.
Механизм взаимодействия
mx.example.com. IN A 208.77.188.166
example.com. IN MX 10 mx.example.com.
example.com. IN TXT «v=spf1 +mx -all»
Итак, mx.example.com устанавливает соединение с SMTP example.net и получает от него, нечто вроде
>> 220 example.net ESMTP Service (Mailer v1.0) ready at 30.07.2009 12:28:21 UTC
затем mx.example.com представляется через HELO/EHLO.
В зависимости от настроек принимающей стороны, после данного представления уже может быть проверка на соответствие представленного имени правилам SPF, но в данном месте это не обязательно
>> 250 example.net Hello mx.example.com., pleased to meet you
А вот в этом месте, после выдачи отправителем MAIL FROM должна последовать обязательная проверка, интерпретация результата и реакция на него.
В данный момент модуль, отвечающий за проверку SPF делает следующие вещи. Осуществляется запрос к DNS. Запрашиваются SPF и TXT поля. Если в полученном ответе присутствует правило SPF, то оно разбирается и происходит анализ на соответствие. В нашем примере это правило «v=spf1 +mx -all».
Согласно правила проверяются MX записи, и проводится сверка указанных в записях IP-адресов, полученного из представления DNS-имени и IP-адреса подключившегося отправителя. В данном случае все совпадает, управление возвращается почтовику, и он начинает прием сообщения.
Если бы, вдруг, фактический IP подключившегося отправителя был иным, то анализатор сообщил бы почтовику, что входящее сообщение не валидно, и лучше бы его вообще не принимать, ну или на крайний случай отмаркировать отдельно.
Формат записи
Запись SPF выглядит примерно так:
example.com. IN SPF «v=spf1 +mx a:colo.example.com/28 -all»
Эта запись содержит следующую информацию:
версия SPF — 1 (кстати, пока единственная используемая)
письмо может иметь отправителя с IP-адресом, соответствующим записям в MX для домена example.com
письмо может иметь отправителя с IP-адресом, соответствующим одному из адресов в подсети colo.example.com/28
Во всех остальных случаях, когда адрес не соответствует перечисленным условиям, считать отправителя недостоверным.
Вообще, в условии есть 2 части — определитель и механизм.
Определители могут быть: «+» Pass, «-» Fail, «~» SoftFail, «?» Neutral
Механизмы: all, include, A, MX, PTR, IP4, IP6, exists
Результатами проверки условий могут являться следующие определенные результаты:
* None — означает, что либо в домене нет записей, либо вообще не удается проверить домен. В общем никакого внятного ответа не получено.
* Neutral — возникает в ситуации, когда хозяин домена не хочет или не может сообщить разрешен ли IP. Этот результат должен обрабатываться так же, как и None.
* Pass — означает, что все ОК и получатель может принять письмо.
* Fail — явно указывает на то, что письмо принимать не следует. Проверяющая сторона может отмаркировать письмо либо отбросить.
* SoftFail — находится где-то между Fail и Neutral. Принимающая сторона не должна отбрасывать письмо на основании только этого результата.
* TempError — результат, возникающий, если клиент в момент проверки получает временную ошибку. Сообщение можно принять или временно отвергнуть.
* PermError — ошибка, возникающая при невозможности корректной интерпретации DNS записей отправителя.
Возьмем, для примера, какой-нибудь реальный домен. Допустим Google.com. Запрос TXT возвращает
«v=spf1 include:_netblocks.google.com ~all»
тут говорится, что нужно включить правила из записи _netblocks.google.com. Интересно, что у _netblocks.google.com отсутствует A-запись, а есть только TXT-запись. Вот она:
«v=spf1 ip4:216.239.32.0/19 ip4:64.233.160.0/19 ip4:66.249.80.0/20 ip4:72.14.192.0/18 ip4:209.85.128.0/17 ip4:66.102.0.0/20 ip4:74.125.0.0/16 ip4:64.18.0.0/20 ip4:207.126.144.0/20 ?all»
Тут перечислены подсети, в которых могут находится почтовые сервера Google. Последний механизм all c определителем Neutral сообщает анализатору о том, что адрес отправителя может быть не из разрешенного диапазона. Письма из чужих адресных пространств рекомендуется проверять дополнительно, а не отвергать безусловно. Для такой масштабной структуры, как Google — это верное решение, ибо в процессе работы адреса могут изменятся, например, при временном отказе и переключении на резерв. И к тому же, адрес может меняться пересылками.
Более хитрая SPF запись у Рамблера:
«v=spf1 ip4:81.19.66.0/23 ip4:81.19.88.0/24 -exists:%.spf.rambler.ru -exists:%.u.spf.rambler.ru ~all»
тут указаны 2 подсети, из которых разрешено принимать почту, и 2 набора источников, почта с которых будет иметь результат проверки Fail.
Проблема пересылки
Заключение
SPF является простым и достаточно эффективным способом оценить легитимность передаваемой почты. Администраторам почтовых серверов стоит минимальных телодвижений добавление SPF записей в DNS. Простота внедрения и поддержка основными популярными MTA делают распространение SPF все шире и шире, что несет всем пользователям электронной почты пользу, почтовым серверам снижение трафика и в целом делает мир лучше 🙂
Источник: habr.com