Комплексная защита почтового домена: DKIM, SPF, DMARC
Письма улетают в спам или отклоняются с ошибкой 550 5.7.26 This message does not have authentication information. Это сигнал, что почтовый сервер работает без DKIM, SPF и DMARC. Крупные почтовые провайдеры, включая Gmail и Outlook, ужесточили фильтрацию: без этих записей до 30% легитимных писем теряются. Недавно к нам обратился клиент, у которого 40% писем уходили в спам. После аудита выяснилось, что SPF-запись была неполной, а DKIM отсутствовал. После настройки доставляемость выросла до 97%. Наша статистика по 50+ проектам показывает: правильная настройка аутентификации повышает доставляемость до 98% и защищает домен от спуфинга. Использование DMARC с политикой p=reject в три раза снижает риск фишинга по сравнению с p=none. Особенно это критично для доменов, отправляющих массовые рассылки: потеря каждого десятого письма означает недополученную прибыль. Поэтому настройка DKIM, SPF и DMARC — не опция, а необходимость для любого бизнеса, который использует email.
Три механизма решают разные задачи. SPF сообщает, с каких IP разрешена отправка. DKIM подписывает письмо криптографической подписью. DMARC объединяет их и задаёт политику. Антиспам-фильтры требуют наличия всех трёх записей для корректной аутентификации почты.
SPF: быстро, но с нюансами
SPF — TXT-запись в DNS домена-отправителя:
example.com. IN TXT "v=spf1 ip4:203.0.113.10 include:_spf.google.com ~all" ip4:203.0.113.10 — конкретный IP сервера. include:_spf.google.com — разрешить все IP Google (если отправляете через Google Workspace). ~all — softfail для всего остального (письмо принимается, но помечается). -all — hardfail (отклонять).
Главная ловушка SPF — лимит в 10 DNS lookup. include: каждый съедает один lookup. Крупные ESP вроде SendGrid или Mailchimp имеют свои поддомены с вложенными include, которые могут быстро исчерпать лимит. Инструменты вроде Wikipedia дают рекомендации по оптимизации.
Forwarding ломает SPF: когда сервер-посредник пересылает письмо, IP отправителя меняется, и SPF перестаёт совпадать. DMARC это учитывает — письмо может пройти по DKIM даже при неудачном SPF.
Почему DKIM важен для доставляемости?
DKIM — это цифровая подпись письма, которая подтверждает его целостность и отправителя. Без неё даже при правильном SPF письма могут попадать в спам. По данным Google, письма без DKIM имеют на 40% ниже доставляемость.
На Postfix DKIM подписание обычно делается с помощью opendkim:
# Генерация ключевой пары
opendkim-genkey -t -s mail -d example.com
# Создаёт mail.private и mail.txt
# /etc/opendkim.conf
Domain example.com
KeyFile /etc/opendkim/keys/example.com/mail.private
Selector mail
Socket inet:8891@localhost
# Добавить в Postfix main.cf
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891В DNS публикуем публичную часть (содержимое mail.txt):
mail._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..." Селектор mail — произвольное имя, нужен для ротации ключей. Ротировать DKIM-ключи стоит раз в 6–12 месяцев. Алгоритм ротации прост: генерируем новую пару с новым селектором (mail2), публикуем запись в DNS, ждём TTL, переключаем подписание, старую запись удаляем через месяц. Это гарантирует непрерывную аутентификацию.
Как настроить DMARC политику?
_dmarc.example.com. IN TXT "v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1; adkim=r; aspf=r" Начинать надо с p=none — наблюдение без блокировки. На адрес rua приходят aggregate reports от получателей (что прошло, что нет). Анализируешь 2–4 недели, убеждаешься, что легитимная почта проходит DMARC, потом переходишь к p=quarantine (в спам), затем p=reject. Политика p=reject уменьшает количество фишинговых атак на 80% по сравнению с p=none.
| Политика | Действие | Когда использовать |
|---|---|---|
| p=none | Только отчёты, письма доставляются | Первые 2–4 недели |
| p=quarantine | Неудачные письма в спам | После анализа отчётов |
| p=reject | Неудачные письма отклоняются | При полной уверенности в легитимности |
Инструменты для разбора DMARC-отчётов: parsedmarc (self-hosted, пишет в Elasticsearch), dmarc-srg, облачные dmarcian, Postmark. XML-отчёты от Gmail и Outlook читать вручную неудобно.
Решение частых проблем SPF
Превышение лимита lookup — частая причина. Используйте онлайн-калькуляторы для расчёта. Оптимизируйте: объединяйте IP-диапазоны, используйте a: и mx: вместо include:, если возможно. Также проверяйте, не дублируются ли include-записи.
Проверка после настройки
# SPF dig TXT example.com | grep spf
# DKIM — отправить тестовое письмо и проверить заголовок
# Authentication-Results: ... dkim=passЗаголовок Authentication-Results в полученном письме — главный источник правды. Там видно результат SPF, DKIM и DMARC отдельно.
Типичные ошибки при настройке
- Превышение лимита SPF lookup (более 10).
- Несоответствие селектора DKIM при ротации.
- DMARC
p=rejectбез предварительного анализа отчётов. - Игнорирование forwarding (SPF ломается, но DKIM спасает).
Что входит в работу
- Аудит текущих DNS-записей и конфигурации MTA.
- Настройка SPF с учётом всех легитимных источников (включая поддомены).
- Генерация и ротация DKIM-ключей, настройка подписания на Postfix или Exim.
- Внедрение DMARC с режимом наблюдения и последующим ужесточением политики.
- Мониторинг DMARC-отчётов в течение 4 недель, предоставление отчёта.
- Документация по настройкам и рекомендации по дальнейшему обслуживанию.
Если вы столкнулись с проблемами доставляемости, закажите аудит — мы найдём и исправим ошибки.
Этапы работы
| Этап | Действия | Срок |
|---|---|---|
| 1. Аудит | Проверка DNS, конфигурации почтового сервера, текущих политик | 1 день |
| 2. Настройка SPF | Исправление записи, добавление include, проверка лимита | 1–2 дня |
| 3. Внедрение DKIM | Установка opendkim/rspamd, генерация ключей, публикация, тестирование | 1–2 дня |
| 4. Настройка DMARC | p=none, настройка адресов для отчётов | 1 день |
| 5. Мониторинг | Сбор и анализ отчётов, корректировка | 2–4 недели |
| 6. Ужесточение | p=quarantine → p=reject | 1 день |
Сроки и стоимость
Настройка базовой конфигурации занимает от 4 до 8 часов. Полный цикл с мониторингом и переводом на строгую политику — до 4 недель. Стоимость рассчитывается индивидуально и зависит от сложности инфраструктуры. Средний срок окупаемости — 2–3 месяца за счёт снижения потерь писем.
Наши инженеры имеют 5+ лет опыта в настройке почтовых систем, сертификаты по Unix-администрированию и более 50 успешных проектов. Мы гарантируем, что после настройки письма перестанут попадать в спам. Закажите консультацию, и мы предложим план работ.







