Изучение и внедрение концепции SPF важно для предприятий, ориентированных на технологии. Это может защитить их от потенциальных рисков фишинга, рассылки спама, BEC-атаки т.д. SPF или Sender Policy Framework работает с помощью следующих элементов SPF запись, которая включает в себя синтаксис SPF.
Этот блог рассказывает о синтаксической таблице SPF, механизмах SPF, классификаторах SPF и модификаторах SPF - все это необходимо для того, чтобы хорошо усвоить концепцию аутентификации электронной почты с помощью технических протоколов.
Синтаксис SPF для бенгиннеров
Запись SPF - это запись DNS, содержащая список всех IP-адресов, которым разрешено отправлять электронную почту с использованием вашего официального доменного имени. Когда сервер, не входящий в этот список, отправляет электронное письмо с использованием домена, оно рассматривается как несанкционированное. Таким образом, его запись отклоняется почтовым ящиком получателя. Это защищает имя вашей компании от вовлечения во вредоносную деятельность, инициированную хакерами.
Компании должны создавать и проверять записи SPF чтобы избежать фишинговых атак с использованием собственных доменных имен. Более 255 миллионов фишинговых атак было зарегистрировано только в первой половине 2022 года! Представьте себе, насколько важно внедрить SPF и изучить синтаксис SPF.
Запись SPF содержит инструкции, предписывающие серверу получателя проверять и подтверждать электронные письма, полученные от вашего домена. Она также указывает, что делать с теми письмами, которые не прошли проверку подлинности. Определенный компонент представляет все эти инструкции.
Давайте разберем каждый элемент на примере записи SPF. Вот как выглядит синтаксис SPF.
v=spf1 ip4:123.1.5.0 ip4:100.5.2.1 include:exampledomain.com ~all
Функция каждого элемента заключается в следующем:
- v=spf1 указывает принимающему серверу на наличие SPF-записи. Все SPF-записи должны начинаться следующим образом.
- В следующем разделе синтаксиса SPF указываются IP-адреса, которым разрешено отправлять электронную почту с использованием вашего домена. В приведенном выше примере мы имеем ip4:123.1.5.0 и ip4:100.5.2.1
- Раздел 'include:exampledomain.com' в приведенном выше примере указывает третьи стороны, которым разрешено отправлять электронные письма с использованием домена. Тег 'include' указывает серверам-получателям проверить SPF-запись включенного домена (exampledomain.com) на наличие IP-адресов, которые также авторизованы. Вы можете добавить несколько доменов в SPF-запись; однако они должны быть действительными.
- Элемент -all указывает принимающим серверам пометить электронную почту как НЕ PASS для SPF, если она отправлена с любого домена или IP-адреса вне списка, указанного в SPF-записи.
Расширенный синтаксис SPF
Синтаксическая таблица SPF определяется с помощью записи DNS TXT с одной строкой текста. Она всегда начинается с элемента 'v=', который указывает используемую версию SPF, и на данный момент существует только одна версия.
Все SPF-записи имеют свои специфические условия, которые действуют как правила для хостов, которым разрешено обмениваться сообщениями с использованием официального домена, а также могут отображать некоторую дополнительную информацию.
В продвинутом синтаксисе SPF мы разберем следующие три компонента: механизмы SPF, квалификаторы SPF и модификаторы SPF.
Механизмы SPF
- ВСЕ: Всегда соответствует и является последним механизмом, добавляемым в конец SPF-записи. Он отображает результаты по умолчанию, такие как '-all' для несовпадающих IP.
- A: Указывает на доменное имя с записью AAAA или запись A как совпадающее, поскольку в нем отбирается адрес отправителя. Если синтаксис записи DNS SPF не определен, используется текущий домен.
- ip4: Совпадение считается положительным, если отправитель связан с указанным диапазоном адресов ipv4 в записи SPF. Вы добавляете его с префиксом, определяющим длину диапазона. /32 используется при отсутствии префикса.
- ip6: Совпадение считается положительным, если отправитель относится к указанному диапазону адресов ipv6. Он добавляется с помощью директивы ip4 и префикса, указывающего длину диапазона. /128 используется при отсутствии префикса.
- MX: Разрешает отправителям с IP-адресом, совпадающим с тем, который включен в указанную MX-запись. Записи MX состоят из IP-адреса и значения приоритета для каждого сервера, принимающего сообщения.
- PTR: Указывает авторизованный домен, чтобы помочь разрешить IP-адреса к поддоменам или доменам. Для всех точно совпадающих доменов или поддоменов выполняется прямой поиск для получения IP-адреса.
Этот механизм считается трудоемким и ненадежным, поскольку требует многократного поиска. Он не рекомендуется в соответствии с RFC 7208.
- EXISTS: Выполняется поиск записи DNS A для введенного домена. Поиск считается успешным, если найдена действительная запись A, независимо от фактического результата поиска.
- ВКЛЮЧИТЬ: Авторизует сторонних отправителей электронной почты, указывая их домены. Отправитель авторизован только в том случае, если его IP-адрес совпадает с IP-адресами или доменами, указанными в SPF-записи перечисленного домена.
Квалификаторы SPF
Если механизм не имеет классификатора, но при этом есть успешное совпадение, SPF-аутентификация проходит. Каждый из 8 механизмов связан с одним из четырех классификаторов, упомянутых ниже.
Отборочный тур | Результат | Действия, предпринятые принимающим сервером |
+ | Пройти | Электронная почта успешно проходит проверку подлинности SPF, и сервер может обмениваться электронной почтой. Письма помечаются как подлинные. Это действие по умолчанию, применяемое при отсутствии классификатора. |
- | Провал | Электронное письмо не проходит аутентификацию, поскольку сервер-отправитель не входит в список. Письмо может быть отклонено почтовым ящиком получателя. |
~ | SoftFail | Почтовый ящик получателя принимает сообщение, однако оно помечается как подозрительное и попадает в папку спама. |
? | Нейтральный | Сообщение электронной почты не проходит и не проходит аутентификацию. Действия не определены, и электронное сообщение принимается получателем. |
Модификаторы SPF
Модификаторы SPD отвечают за определение рабочих параметров синтаксиса SPF. Они включают пары имен или значений, разделенные символом '=', которые разделяют дополнительные детали и исключения из правил, если таковые имеются.
Модификаторы появляются только один раз и только в последнем разделе SPF-записи. Все неопознанные модификаторы игнорируются в процессе. Модификатор 'redirect' используется для направления других записей SPF для проверки подлинности. Он используется, когда вы хотите, чтобы несколько доменов имели одинаковое содержимое SPF-записи.
Механизм 'include' используется для сторонних доменов, которым разрешено отправлять электронные письма от вашего имени или используя ваше имя. Модификатор 'exp' указывает, почему принимающий сервер вернул квалификатор Fail SPF при совпадении механизма.
Руководящие принципы для записей SPF
При создании SPF-записи с помощью таблицы синтаксиса SPF учитывайте следующее.
- Вы не можете согласовать несколько записей SPF для одного домена.
- В записи SPF не должно быть заглавных букв; в противном случае вы увидите ошибки.
- Не должно быть более 255 символов. Любая строка, превышающая это число, приведет к неудачной аутентификации.
- Удалить, если есть механизмы SPF, разрешающие один и тот же домен.
- Удалите все неиспользуемые механизмы ip4 и ip6 SPF. Также проверьте, можно ли объединить какие-либо диапазоны адресов.
- Вы можете создать поддомены для хранения информации SPF. Это можно сделать с помощью '_spf.domain.com'. Это рекомендуется для крупных IT-компаний, так как у них есть несколько IP-адресов для добавления к одной SPF-записи.
- Представляем DKIM2: будущее безопасности электронной почты - 20 ноября 2024 г.
- Атаки BreakSPF: Опередите хакеров и защитите свою электронную почту - 13 ноября 2024 г.
- PowerDMARC интегрируется с ConnectWise - 31 октября 2024 г.