техническое · ответ с источниками
Что такое 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.