техническое · ответ с источниками

Что такое SPF (Sender Policy Framework)

Sender Policy Framework (SPF) — механизм аутентификации почты на основе DNS, который позволяет владельцу домена указать, каким почтовым серверам разрешено отправлять письма от имени его домена. Он защищает от подделки: принимающие почтовые серверы могут проверить, указан ли IP-адрес отправки в SPF-записи домена.

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

При получении письма принимающий сервер запрашивает TXT-запись домена из адреса SMTP MAIL FROM. SPF-запись содержит список авторизованных IP-адресов или сторонних сервисов. Получатель сравнивает IP-адрес подключившегося SMTP-сервера с этим списком. Если IP-адрес в списке есть, проверка пройдена. Если нет, результатом будет fail или softfail в зависимости от квалификатора в записи.

Почему это важно для отправителей

SPF — основная защита от подделки писем и фишинга. Без действительной SPF-записи принимающие серверы не могут проверить, действительно ли письмо, якобы отправленное с вашего домена, легитимно. Из-за этого письма часто помечаются как спам или полностью отклоняются. Настройка SPF — обязательное условие для выравнивания DMARC, которое даёт более надёжную основу для отчётности и применения политик безопасности почты.

Типичные ошибки в эксплуатации

Частая ошибка — превышение лимита в 10 DNS-запросов. SPF-записи со слишком большим числом механизмов include вызывают PermError, и аутентификация не проходит. Другая распространённая ошибка — несколько SPF-записей у одного домена: это недопустимо и автоматически приводит к результату fail. Отправителям следует объединять все авторизованные источники в одну TXT-запись, чтобы проверка была предсказуемой.

Пример SPF-записи

Типичная SPF-запись выглядит так: v=spf1 ip4:1.2.3.4 include:_spf.google.com ~all. Здесь v=spf1 обозначает версию, ip4:1.2.3.4 авторизует конкретный сервер, include:_spf.google.com авторизует Google Workspace, а ~all означает softfail для всех остальных источников. Проверить правильность синтаксиса текущей записи можно с помощью бесплатных инструментов SendHQ по адресу https://sendhq.cc/tools.

Квалификаторы проверки

Запись завершается квалификатором, который сообщает получателю, как обращаться с неавторизованной почтой. Знак минус -all означает жёсткий отказ (hard fail): почту следует отклонить. Тильда ~all означает softfail: почту следует принять, но пометить как подозрительную. Вопросительный знак ?all даёт нейтральный результат и не содержит конкретных указаний принимающему серверу.

Что спрашивают команды

Можно ли иметь больше одной SPF-записи?

Нет. У домена должна быть ровно одна SPF-запись. Несколько записей вызовут постоянную ошибку, и аутентификация не пройдёт.

Что такое лимит DNS-запросов?

SPF-записи ограничены 10 рекурсивными DNS-запросами. Превышение лимита вызывает PermError, и запись становится недействительной.

Защищает ли SPF от любой подделки?

SPF проверяет только адрес Return-Path, а не заголовок From, который видит пользователь. Для полной проверки заголовков нужны DKIM и DMARC.

Первоисточники