SPF, DKIM и DMARC: что это, зачем нужны и как настроить для защиты почты
Ежедневно отправляются миллиарды поддельных писем — фишинг, спуфинг, мошенничество от имени чужих доменов. Три протокола — SPF, DKIM и DMARC — составляют современный стандарт аутентификации электронной почты. С 2024 года Google и Yahoo требуют их наличие у всех массовых отправителей. Без них письма попадают в спам или вовсе отклоняются.
В этом руководстве разберём каждый протокол: что он делает, как работает и как правильно настроить. В конце — чеклист проверки и частые ошибки.
Что такое SPF и как он работает
SPF (Sender Policy Framework) — DNS Lookup типа 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), постепенно ужесточайте политику, и ваши письма будут надёжно доставляться, а домен — защищён от подделки.
Проверьте ваш сайт прямо сейчас
Проверить →