SPF расшифровывается как Sender Policy Framework, что можно перевести на русский как «политика безопасности отправителя. Эта технология позволяет решить сразу две важные задачи:
- Защитить владельца домена от возможной подделки его сообщений;
- Позволяет получателю лучше идентифицировать письма и отделять спам от действительно важных электронных посланий.
Стоит отметить, что SPF ещё в 2006 году был принят как основной отраслевой стандарт RFC 4408. Однако, к большому сожалению, он не получил такого распространения, какого мог бы легко достигнуть. Ведь эта, весьма нехитрая технология, позволяет уменьшить количество ненужной информации в почтовом ящике сразу в несколько раз.
Чтобы чуть глубже осознать ключевые моменты работы этой системы, можно обратиться к истокам сеть Интернет, которая начала развиваться более тридцати лет назад. В то далёкое время был создан протокол SMTP – который до сих пор используется в основе передачи электронной корреспонденции. Тогда мало кто мог предположить, что международная Сеть перерастёт несколько десятков университетов и научных центров, в которых пользователи лично знали друг друга. Именно поэтому, в протокол передачи писем никто даже и не подумал внедрить простейший механизм идентификации корреспонденции. На сегодняшний день, от этой своеобразной «халатности» страдает огромное число людей, которые вынуждены ежедневно удалят спам-сообщения из своего почтового ящика. Но, справедливости ради хотелось бы отметить, что в момент изобретения Александром Беллом телефона никто и не думал устанавливать на аппарат определитель номера.
Технология SPF предлагает возможность пользователю, который отправляет почту, указать точный список IP адресов, которым будет разрешено отправлять e-mail с его личным именем в графе «From». Список авторизованных хостов-отправителей прописывается хозяином домена в DNS-зоне, в форме обычного текста, как правило, в формате TXT.
Технология работает достаточно просто и эффективно: сервер адресата проверяет IP-адрес на легитимность через запрос к зоне DNS. После этого, если в DNS сделана соответствующая запись, почтовый сервер будет обрабатывать письмо в строгом соответствии с той политикой, которая была определена пользователем.
В том случае, если IP-адрес отправителя сообщения указан в SPF-записи, то сервер не тратит свои ресурсы для того, чтобы проводить дополнительные проверки легитимности письма. В противном случае, письмо блокируется ещё на первоначальном этапе установления SMTP-сессии, что также экономит время и ресурсы оборудования.
Кроме того, SPF достаточно просто может быть внедрена самими владельцами домена, технология этой записи позволяет в значительной степени оптимизировать ресурсы всей системы. Особенно актуально это становится на момент, когда каждые сутки через электронную почту проходит более миллиона сообщений, каждое из которых необходимо проверить и отсортировать ещё до того, как они попадут в папку «входящие». Именно поэтому, SPF весьма популярна на платформах бесплатных почтовых серверов, поскольку каждый запрос к DNS не занимает больше десятка или сотни байт, что в современных условиях никак не отобразиться на скорости работы оборудования.
Таким образом, если перед бизнесом стоит задача сделать массовую рассылку на адреса бесплатных серверов, без применения SPF записи будет просто не обойтись. В противном случае, сообщения с корпоративной почты с вероятностью около 90% попадут в папку «спам» или будут причислены к «сомнительным».
Внедрение SPF при отправке сообщений
Для того, чтобы внедрить технологию SPF, достаточно единовременно внести изменения в файлы DNS-зоны и, в дальнейшем, только наслаждаться от удобства использования этого метода авторизации почты. Последующие изменения наверняка могут быть связаны только с актуализацией той или иной информации. В качестве примера, ниже приведены записи различных SPF-записей для доменов, в синтаксисе наиболее распространённого DNS-сервера Bind.
Запись
@ IN TXT "spf=v1 a:mail.tendence.ru -all"
эта запись говорит о том, что верифицированные сообщения с домена могут отправляться исключительно с серверов mail.tendence.ru, а все остальные отправки «по умолчанию» считаются мошенническими и должны быть отвергнуты (запись «~all»). Начало строки: "spf=v1" – свидетельствует о версии, по состоянию на 2013 год, она первая и единственная.
Чуть более сложный пример,
@ IN TXT "spf=v1 +a +mx -all"
предписывает почтовому сервер-получателю принимать сообщения только от хостов, указанных в A и MX-записях домена, а остальные отвергать "-all".
Пример с указанием разрешённых IP-адресов в явном виде,
@ IN TXT "spf=v1 ip4:91.232.243.0/24 -all"
позволяет получение почты от имени домена со всех IP-адресов подсети 91.232.243.0/24
Стандарт описывает также и следующий синтаксис,
@ IN TXT "spf=v1 +a +mx ip4:91.232.243.0/24 ~all"
или даже
@ IN TXT "spf=v1 +a +mx ip4:91.232.243.0/24 +all"
однако, использование таких мягких правил "~all/+all" для отправителей не соответствующих внесённым правилам девальвирует идею SPF и не рекомендуется к применению.
Проверка SPF при приёме сообщений
Внедрение технологии SPF происходит во все современные почтовые серверы. Поскольку, как и было описано выше, этот стандарт безопасности был принят ещё в 2006 году. Таким образом, проверка входящей корреспонденции на SPF уже включается в программное обеспечение почтового сервера платформы Windows по умолчанию. Если же почтовый сервер на Linux, возможно, понадобится дополнительная установка ещё одного пакета, к примеру, pypolicyd-spf для Postfix.