Полное руководство по настройке SPF, DKIM и DMARC для защиты email
Зачем нужна email-аутентификация
Электронная почта — один из главных инструментов деловой коммуникации и одновременно один из самых уязвимых каналов. Большинство кибератак начинается с фишингового письма, а подделка адреса отправителя (email spoofing) не требует специальных знаний.
Три протокола — SPF, DKIM и DMARC — работают вместе, чтобы подтвердить подлинность отправителя и защитить получателей от поддельных писем.
Что дают SPF, DKIM и DMARC
- Защита от спуфинга — никто не сможет отправлять письма от имени вашего домена
- Улучшение доставляемости — легитимные письма не попадают в спам
- Защита бренда — фишинговые письма от вашего имени блокируются
- Compliance — требования PCI DSS, ГОСТ, отраслевых стандартов
- Видимость — отчёты DMARC показывают, кто отправляет письма от вашего домена
SPF: Sender Policy Framework
Что такое SPF
SPF (Sender Policy Framework) — это DNS-запись, которая указывает, какие серверы имеют право отправлять email от имени вашего домена. Когда почтовый сервер получает письмо, он проверяет SPF-запись домена отправителя и сравнивает IP-адрес отправляющего сервера со списком разрешённых.
Как настроить SPF
Шаг 1. Составьте список серверов отправки
Определите все источники, которые отправляют письма от имени вашего домена:
- Корпоративный почтовый сервер
- Хостинг-провайдер (для веб-форм)
- CRM-система
- Сервис email-рассылок
- Сервис транзакционных писем
Шаг 2. Создайте SPF-запись
SPF-запись добавляется как TXT-запись в DNS:
v=spf1 ip4:192.168.1.1 include:_spf.google.com include:sendgrid.net -all
Расшифровка:
v=spf1— версия протоколаip4:192.168.1.1— конкретный IP-адрес сервераinclude:_spf.google.com— разрешить серверы Google Workspaceinclude:sendgrid.net— разрешить серверы SendGrid-all— отклонить все остальные (hard fail)
Шаг 3. Опубликуйте в DNS
Добавьте TXT-запись для вашего домена (не поддомена):
example.com. IN TXT "v=spf1 ip4:192.168.1.1 include:_spf.google.com -all"
Типичные ошибки SPF
- Превышение лимита DNS-lookup — SPF допускает максимум 10 DNS-запросов. Каждый
include— это один lookup. Решение: используйте IP-адреса вместоincludeгде возможно, или объедините записи. - Использование
+all— разрешает отправку с любого IP, полностью обнуляя защиту. - Забытые сервисы — не включили CRM или рассыльщик, письма от которых попадают в спам.
- Несколько SPF-записей — допустима только одна TXT-запись SPF на домен.
DKIM: DomainKeys Identified Mail
Что такое DKIM
DKIM (DomainKeys Identified Mail) — это механизм цифровой подписи email. Отправляющий сервер подписывает каждое письмо приватным ключом, а получающий сервер проверяет подпись с помощью публичного ключа, опубликованного в DNS.
Как настроить DKIM
Шаг 1. Сгенерируйте пару ключей
Большинство почтовых сервисов генерируют ключи автоматически. Для собственного сервера:
openssl genrsa -out dkim_private.pem 2048
openssl rsa -in dkim_private.pem -pubout -out dkim_public.pem
Шаг 2. Опубликуйте публичный ключ в DNS
Добавьте TXT-запись для селектора:
selector._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w..."
selector— произвольное имя (например,google,mail,s1)v=DKIM1— версия протоколаk=rsa— алгоритм ключаp=...— публичный ключ в формате base64
Шаг 3. Настройте подпись на сервере
Настройте почтовый сервер на подпись всех исходящих писем приватным ключом.
Типичные ошибки DKIM
- Слишком короткий ключ — используйте минимум 2048 бит (1024 уже ненадёжен)
- Не ротируются ключи — рекомендуется менять ключи раз в 6-12 месяцев
- Селектор не уникален — при смене провайдера используйте новый селектор
DMARC: Domain-based Message Authentication
Что такое DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) объединяет SPF и DKIM, определяя:
- Что делать с письмами, не прошедшими проверку (reject, quarantine, none)
- Куда отправлять отчёты о проверках
Как настроить DMARC
Шаг 1. Начните с мониторинга (policy=none)
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-forensic@example.com; pct=100"
v=DMARC1— версияp=none— не предпринимать действий (только мониторинг)rua— адрес для агрегированных отчётовruf— адрес для forensic-отчётовpct=100— применять к 100% писем
Шаг 2. Анализируйте отчёты 2-4 недели
Отчёты покажут:
- Какие серверы отправляют письма от вашего домена
- Какие из них проходят SPF и DKIM
- Есть ли легитимные серверы, не включённые в SPF
Шаг 3. Ужесточите политику до quarantine
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com; pct=100"
Теперь письма, не прошедшие проверку, попадают в спам.
Шаг 4. Переведите на reject
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; pct=100"
Письма, не прошедшие проверку, полностью отклоняются.
Типичные ошибки DMARC
- Сразу p=reject — без предварительного мониторинга можно заблокировать легитимные письма
- Не читают отчёты — смысл rua/ruf теряется, если отчёты не анализируются
- Забытый pct — без pct=100 политика может применяться не ко всем письмам
Проверка настроек
После настройки SPF, DKIM и DMARC обязательно проверьте корректность:
- DNS-проверка — убедитесь, что записи правильно опубликованы
- Отправка тестового письма — проверьте заголовки (Authentication-Results)
- Анализ отчётов — первые DMARC-отчёты придут через 24 часа
Проверить DNS-настройки и email-аутентификацию можно бесплатно с помощью инструмента DNS-проверки Периметра. Он покажет наличие и корректность SPF, DKIM и DMARC записей.
Дополнительные протоколы
BIMI (Brand Indicators for Message Identification)
BIMI позволяет показывать логотип компании рядом с письмом в почтовом клиенте. Требования:
- DMARC с политикой
quarantineилиreject - SVG-логотип в формате Tiny PS
- VMC-сертификат (Verified Mark Certificate)
MTA-STS (Mail Transfer Agent Strict Transport Security)
MTA-STS обеспечивает шифрование при передаче писем между серверами:
- Создайте файл политики на
https://mta-sts.example.com/.well-known/mta-sts.txt - Добавьте DNS-запись
_mta-sts.example.com
TLS-RPT (TLS Reporting)
TLS-RPT позволяет получать отчёты о проблемах с TLS-соединениями:
_smtp._tls.example.com. IN TXT "v=TLSRPTv1; rua=mailto:tls-reports@example.com"
Порядок внедрения
Рекомендуемый порядок настройки:
- SPF — начните с мягкой политики (
~all), затем ужесточите (-all) - DKIM — настройте подпись для всех сервисов отправки
- DMARC — начните с
p=none, через 2-4 неделиquarantine, затемreject - MTA-STS — после стабилизации основных протоколов
- BIMI — после достижения
p=rejectв DMARC
Мониторинг на постоянной основе
Настройка — не разовое действие. Необходимо:
- Регулярно проверять DMARC-отчёты
- Обновлять SPF при добавлении новых сервисов
- Ротировать DKIM-ключи
- Мониторить доставляемость писем
Периметр включает проверку email-аутентификации в комплексное сканирование безопасности домена. Это позволяет отслеживать корректность SPF, DKIM и DMARC в рамках регулярного мониторинга.
Что внедрить в первую очередь
SPF, DKIM и DMARC — это три столпа email-аутентификации, которые защищают ваш домен от подделки писем и фишинга. Настройка не занимает много времени, но значительно повышает безопасность корпоративной почты и защищает бренд.
Ключевые выводы:
- SPF определяет, какие серверы могут отправлять почту
- DKIM подтверждает целостность и подлинность письма
- DMARC объединяет оба протокола и определяет политику
- Внедряйте постепенно — от мониторинга к блокировке
- Мониторьте — анализируйте отчёты и обновляйте настройки
Похожие статьи
HTTP Security Headers: полный гид по CSP, HSTS, X-Frame-Options
Подробное руководство по HTTP-заголовкам безопасности: CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy с примерами для nginx и Apache.
Как проверить безопасность своего сайта: пошаговый чек-лист 2026 года
Полный чек-лист из 20 пунктов для проверки безопасности сайта: SSL, заголовки, DNS, email-аутентификация, порты, утечки, WAF и OWASP.
Защита бренда от фишинга: как обнаружить и заблокировать поддельные домены
Полное руководство по защите бренда от фишинга: виды угроз, методы обнаружения поддельных доменов, CT logs, DNS-мониторинг, процедура takedown.
