Важное предупреждение: Google и Yahoo будут требовать DMARC с апреля 2024 года.
PowerDMARC

Синтаксис записи SPF

Синтаксис записи SPF

Синтаксис записи SPF

Время чтения: 8 мин

Запись Sender Policy Framework(SPF) является важной частью системы аутентификации, отчетности и соответствия сообщений на основе домена (Domain-based Message Authentication, Reporting and Conformance, DMARC).DMARC) протокола, который определяет метод предотвращения подделки адресов отправителей.

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

Что такое SPF-запись?

Запись SPF - это тип записи DNS, которая определяет, каким серверам разрешено отправлять электронную почту от имени вашего домена. Для этого в ней перечислены серверы, уполномоченные отправлять электронную почту для вашего домена; если любой другой сервер попытается отправить электронное письмо от имени вашего домена, он будет отклонен как неавторизованный отправитель.

Запись SPF предназначена для предотвращения отправки злоумышленниками поддельных сообщений электронной почты с вашим доменом в поле From. Это может произойти, если злоумышленник рассылает массовое количество спама с вашего сервера, подменяя или подделывая ваш домен.

Как работает SPF?

1. Создание синтаксиса SPF-записи

Вы создаете синтаксис записи SPF на своем DNS-сервере, который определяет, каким IP-адресам разрешено отправлять электронную почту с вашего домена. Это означает, что если кто-то попытается отправить поддельную электронную почту с вашего домена, его сообщения не пройдут, поскольку IP-адрес его почтового сервера не будет указан в списке разрешенных серверов.

Например, если вы хотите, чтобы только учетные записи Gmail могли отправлять почту с вашего доменного имени, но не учетные записи Outlook, то вы добавите следующую строку в запись SPF:

 v=spf1 a mx include:_spf.google.com ~all

 Это говорит серверам, что любые сообщения, отправленные с любого узла, чей IP-адрес заканчивается на _spf.google.com, следует считать действительными (m), в то время как все остальные сообщения должны быть отброшены (a). 

Вы можете использовать наш генератор SPF-записей чтобы начать создание бесплатной записи прямо сейчас!

2. Поиск DNS

Когда отправитель электронной почты пытается отправить сообщение, сервер получателя выполняет DNS-поиск в домене отправителя на предмет наличия SPF-записи - это называется "аутентификацией". Существует ограничение в 10 поисков, разрешенных для одного запроса, превышение которого приводит к SPF permerror.

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

 Если IP-адреса не указаны, то аутентификация будет провалена. В противном случае будет выполнен запрос A для каждого IP-адреса, указанного в порядке появления в TXT-записи.

IP-адрес, который возвращает код результата NXDOMAIN или NOERROR, будет считаться авторизованным сервером SPF, а его имя хоста будет добавлено в список авторизованных узлов отправки для этого домена.

3. Результат аутентификации

Почтовый сервер либо доставляет сообщение получателю, либо помечает его для отклонения на основании правил, указанных в записи SPF.

Результаты аутентификации могут принимать три формы: Прошел, Нейтрально или Не прошел.

Pass означает, что почтовый сервер принимает сообщение как легитимное и разрешает его доставку. Нейтральный означает, что для данного домена в DNS либо вообще нет записи, либо она недействительна, поэтому нет возможности узнать, является ли это сообщение легитимным от данного домена. Отказ означает, что что-то в этом сообщении не является достаточно подлинным для его доставки.

Например, почтовый сервер с IP-адресом '234.2.1.2' отправляет электронное письмо с адреса 'join@apple.com'. Входящий сервер обратится к службе доменных имен(DNS), чтобы определить, имеет ли этот IP-адрес право отправлять электронные письма от имени домена 'apple.com'. Если да, то сообщение будет доставлено, в противном случае оно будет отброшено или помечено как спам, т.е. отсортировано в соответствии с механизмом, указанным в записи SPF.

Синтаксис записи SPF

Синтаксис записи SPF состоит из нескольких элементов - директив, квалификаторов и механизмов.

Директивы - это первая часть синтаксиса записи SPF. Они указывают, как интерпретировать остальную часть записи. В SPF-записи могут присутствовать три директивы: v=spf1, a и mx. Директива v указывает, что эта запись является записью SPFv1; директива a указывает, что эта запись является отчетом об отказе аутентификации в стиле SPFv2; директива mx указывает список серверов почтового обмена для домена.

Квалификаторы указывают, где в зоне DNS вы хотите разместить свои SPF-записи: exim4, enduser или _spf. Эти квалификаторы указывают получателям почты, где искать ваши SPF-записи, когда они сверяют их со своими DNS-записями.

Механизмы используются для указания способа обработки адресов электронной почты, не прошедших проверку SPF. Вы можете выбрать один из нескольких механизмов: all, none, softfail, neutralize или reject.

Квалификаторы синтаксиса записи SPF

Квалификаторы" в синтаксисе записи SPF помогают указать область применения записи SPF. В основном они используются для указания того, имеет ли конкретный IP-адрес право отправлять электронную почту от имени вашего домена.

Отборочный тур Код результата Пояснение
+ Пройти единственный классификатор, не имеющий негативной коннотации. Он указывает на то, что запись безопасности доменного имени не содержит ошибок или предупреждений и считается безопасной.
- Провал указывает на то, что запись безопасности доменного имени содержит ошибки или предупреждения, которые не позволяют считать его безопасным.

 

~ Softfail указывает, что запись безопасности доменного имени содержит ошибки или предупреждения, которые не мешают считать его безопасным, но могут указывать на проблемы с разрешением DNS или другие проблемы, связанные с якорями доверия DNS.
? Нейтральный Указывает, что домен не имеет SPF-записи или его запись синтаксически корректна, но не соответствует ни одному серверу-отправителю при проверке на одном (или более) сервере-отправителе в вашем списке доверенных IP-адресов для этого домена.

Механизмы синтаксиса записи SPF 

Механизмы используются в синтаксисе записи SPF, чтобы указать принимающему серверу, какой механизм аутентификации должен быть использован. Существует два типа механизмов: 

Механизм Назначение Директива применяется, когда Реализация
a определяет запись DNS A домена как авторизованную. Если эта директива не указана, то используется текущий домен.

 

 

может применяться при запросе записи A или AAAA в домене, содержащем IP-адрес отправителя. a

a/<prefix-length>

a:<domain>

a:<domain>/<prefix-length>

все Директива all всегда сопоставляется, и она определяет политику для всех остальных источников. Этот механизм должен применяться всегда, и этот механизм всегда соответствует. все
существует Проверяет, является ли запись A действительной для данного домена. Она работает, просматривая все записи A на данном домене и проверяя, соответствуют ли какие-либо из них критериям, заданным в вашей записи SPF. Применяется, если на указанном домене есть какая-либо запись A или если разрешены другие критерии, согласно RFC7208. exists:<domain>
включать Цель этого механизма - указать домен и искать совпадения, а также возвращать постоянную ошибку, если домен не имеет действительной записи SPF. Механизм "include" в записях SPF можно использовать для включения других записей SPF в запись домена. Если домен не имеет SPF-записи, но другой домен имеет, и этот другой домен имеет IP-адрес, совпадающий с IP-адресом отправителя, то механизм "include" заставит домен с совпадающим IP-адресом использоваться для целей авторизации.

 

include:<domain>
ip4 Вы можете указать диапазон IPv4 с помощью директивы "ip4" вместе с префиксом, обозначающим длину диапазона. Если префикс не указан, предполагается /32. Механизм "ip4" будет применяться, если любое из этих условий верно:

 

- Указанный адрес IPv4 совпадает с IP-адресом в вашей записи SPF.

 

- Указанная подсеть IPv4 содержит IP-адрес отправителя.

ip4:<ip4-address>

ip4:<ip4-network>/<prefix-length>

ip6 Вы можете указать диапазон IPv6 с помощью директивы "ip4" вместе с префиксом, обозначающим длину диапазона. Если префикс не указан, предполагается /128. Механизм "ip6" будет применяться, если любое из этих условий верно:

 

- Указанный IPv6-адрес совпадает с IP-адресом в вашей SPF-записи.

 

- Указанная подсеть IPv6 содержит IP-адрес отправителя.

ip6:<ip6-address>

ip6:<ip6-network>/<prefix-length>

mx Механизм "mx", как определено в записи SPF, определяет запись Mail Exchanger (MX) системы доменных имен (DNS) домена как авторизованную. Запись DNS MX определяет, какой сервер отвечает за прием сообщений электронной почты от имени домена. Запись DNS MX содержит IP-адрес и значение приоритета для каждого сервера, который может быть использован для приема сообщений.

 

Когда MX-запись домена содержит IP-адрес, совпадающий с IP-адресом отправителя, это означает, что данный отправитель уполномочен отправлять электронные письма от имени этого домена.

mx

mx/<prefix-length>

mx:<domain>

mx:<domain>/<prefix-length>

ptr Механизм ptr использует обратное имя хоста или поддомена отправляющего IP-адреса для определения целевого доменного имени. Применяется, только если существует хотя бы одна запись MX для запрашиваемого или указанного домена и эта запись MX содержит запись PTR с FQDN для IP-адреса отправителя. ptr

ptr:<domain>

Модификаторы синтаксиса записи SPF

В синтаксисе записи SPF модификаторы могут использоваться для изменения поведения записи SPF по умолчанию. Модификаторы могут использоваться для указания исключений из правил или для предоставления дополнительной информации получателю.

Модификатор Назначение Реализация
exp Модификатор "exp" - это значение, которое указывает объяснение того, почему сообщение было отклонено. Он предназначен для того, чтобы помочь отправителям избежать определенных проблем, и может быть использован для информирования их о конкретной причине, по которой их сообщение не было принято принимающим сервером. exp=<domain>
перенаправить Модификатор перенаправления - это строка, которая заменяет все имя домена в записи SPF. Цель этого модификатора - перенаправить всю почту, отправленную на домен, на другой сервер. Это может быть полезно для доменов с несколькими записями MX или для доменов, которые были переназначены другой компании, но все еще используют те же адреса электронной почты. redirect=<domain>

Подведение итогов

Запись SPF - это важная часть DNS-записей вашего домена. Она указывает другим почтовым серверам, как проверять подлинность сообщений, которые утверждают, что они от вас, что означает, что для вас важно иметь правильно настроенную запись SPF. Однако не забудьте объединить SPF с DMARC для усиления защиты от компрометации и подделки электронной почты. 

The SPF Record Lookup Tool поможет вам сделать именно это. Инструмент поиска даст вам быстрый обзор того, как выглядит ваша текущая SPF-запись, включая отсутствие необходимых полей. Генератор позволит вам создать синтаксис SPF-записи с нуля, со всеми необходимыми полями, чтобы ее можно было сразу же добавить в ваши DNS-записи.

Выход из мобильной версии