Ежедневно отправляются миллиарды поддельных писем — фишинг, спуфинг, мошенничество от имени чужих доменов. Три протокола — SPF, DKIM и DMARC — составляют современный стандарт аутентификации электронной почты. С 2024 года Google и Yahoo требуют их наличие у всех массовых отправителей. Без них письма попадают в спам или вовсе отклоняются.
В этом руководстве разберём каждый протокол: что он делает, как работает и как правильно настроить. В конце — чеклист проверки и частые ошибки.
Что такое SPF и как он работает
SPF (Sender Policy Framework) — DNS-запись типа TXT, которая указывает, какие серверы имеют право отправлять почту от имени вашего домена.
Когда получатель (Gmail, Яндекс, Mail.ru) принимает письмо, он проверяет IP-адрес отправляющего сервера по SPF-записи домена из заголовка Return-Path. Если IP не в списке — письмо помечается как подозрительное.
Синтаксис SPF-записи
v=spf1 ip4:192.168.1.1 include:_spf.google.com include:sendgrid.net ~all
Основные механизмы:
ip4:/ip6:— разрешить конкретный IP или подсетьinclude:— включить SPF другого домена (для сторонних сервисов: Google Workspace, SendGrid, Mailchimp)a— разрешить IP, на который указывает A-запись доменаmx— разрешить IP MX-серверов домена~all— soft fail для всех остальных (рекомендуется на начальном этапе)-all— hard fail (строгий режим, рекомендуется после полной настройки)
Частые ошибки SPF
- Больше 10 DNS-запросов — SPF допускает максимум 10 include/a/mx/redirect. Превышение = PermError, запись игнорируется
- Несколько SPF-записей — у домена должна быть ровно одна TXT-запись, начинающаяся с
v=spf1 +allили отсутствиеall— разрешает отправку с любого IP, обнуляя защиту
Что такое DKIM и как он работает
DKIM (DomainKeys Identified Mail) — механизм цифровой подписи, который подтверждает, что письмо действительно отправлено с вашего домена и не было изменено при передаче.
Принцип работы:
- Отправляющий сервер подписывает заголовки и тело письма закрытым ключом
- Подпись добавляется в заголовок
DKIM-Signature - Получатель извлекает открытый ключ из DNS-записи
selector._domainkey.example.com - Если подпись совпадает — письмо подлинное
DNS-запись DKIM
selector._domainkey.example.com TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhki..."
Где selector — имя ключа (например, google, s1, default). У домена может быть несколько DKIM-ключей с разными селекторами для разных сервисов.
Как сгенерировать DKIM-ключ
Используйте DKIM Генератор Enterno.io — он создаст пару ключей (2048 бит RSA) и готовую DNS-запись. Длина ключа важна: 1024 бит считается устаревшим, минимум — 2048 бит.
Частые ошибки DKIM
- Ключ 1024 бит — слишком короткий, Gmail и Яндекс могут снизить доверие
- Неправильный селектор — селектор в DNS должен совпадать с тем, что указан в заголовке DKIM-Signature
- Открытый ключ обрезан — TXT-запись длиннее 255 символов требует разбиения на строки в DNS
Что такое DMARC и как он работает
DMARC (Domain-based Message Authentication, Reporting and Conformance) — политика, которая говорит получателям, что делать с письмами, не прошедшими SPF и DKIM.
DMARC объединяет SPF и DKIM в единую систему: письмо должно пройти хотя бы одну проверку (SPF или DKIM) с совпадением домена (alignment).
DNS-запись DMARC
_dmarc.example.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; pct=100"
Ключевые теги:
p=none— только мониторинг (начните с этого)p=quarantine— отправлять в спамp=reject— полностью отклонять (максимальная защита)rua=— email для агрегированных отчётов (XML)ruf=— email для детальных отчётов о неудачных проверкахpct=— процент писем, к которым применяется политика (100 = все)
Путь к полной защите
- Начните с
p=none— собирайте отчёты 2-4 недели - Анализируйте отчёты — найдите все легитимные источники писем
- Настройте SPF и DKIM для каждого сервиса
- Переходите на
p=quarantineсpct=10, постепенно увеличивая - Финальный шаг:
p=reject; pct=100— полная защита
Как всё это работает вместе
При получении письма почтовый сервер выполняет три проверки последовательно:
- SPF: IP отправителя в списке разрешённых? Домен из Return-Path совпадает с From?
- DKIM: Подпись валидна? Домен из DKIM-Signature совпадает с From?
- DMARC: Хотя бы одна проверка пройдена с alignment? Какая политика: none/quarantine/reject?
Результат определяет судьбу письма: доставка во входящие, отправка в спам или полное отклонение.
Как проверить настройку
Используйте инструменты Enterno.io для проверки:
- Email Deliverability — комплексная проверка SPF, DKIM, DMARC для любого домена
- DKIM Генератор — создание и валидация DKIM-ключей
- MX Lookup — проверка MX-записей и DNS-конфигурации почты
- DNS Lookup — просмотр всех DNS-записей домена включая TXT
Чеклист: настройка почтовой аутентификации
- Создана одна SPF-запись с перечислением всех легитимных отправителей
- Количество DNS-запросов в SPF не превышает 10
- SPF заканчивается на
~allили-all - DKIM настроен для каждого сервиса отправки (основной сервер, Google Workspace, рассылки)
- DKIM-ключи минимум 2048 бит
- DMARC-запись создана (
_dmarc.example.com) - Указан
rua=для получения отчётов - Тестовое письмо проходит все три проверки (проверить через Email Deliverability)
- Через 2-4 недели мониторинга: перейти с
p=noneнаp=quarantine, затемp=reject
Требования Google и Yahoo (2024+)
С февраля 2024 года Google и Yahoo требуют от отправителей более 5000 писем в день:
- Валидные SPF и DKIM для домена отправки
- DMARC-запись (минимум
p=none) - Совпадение домена в заголовке From с доменами в SPF/DKIM (alignment)
- Возможность отписки в один клик (List-Unsubscribe)
- Уровень жалоб на спам ниже 0.3%
Несоблюдение этих требований приводит к массовому попаданию в спам или блокировке доставки.
Итог
SPF, DKIM и DMARC — не опциональные настройки, а обязательный минимум для любого домена, отправляющего почту. Начните с мониторинга (p=none), постепенно ужесточайте политику, и ваши письма будут надёжно доставляться, а домен — защищён от подделки.