Записи, которые встретятся почти в каждой зоне
TXT-записи: SPF, DKIM и DMARC
Запись TXT хранит произвольный текст, привязанный к доменному имени. Звучит тривиально, но именно так публикуется вся система доверия к почте, а также большая часть подтверждений владения доменом, которые вам когда-либо придётся делать.
Суть проблемы в том, что SMTP, разработанный в 1982 году, позволяет любому серверу заявить, что он отправляет почту от имени любого домена. Протокол этому ничего не препятствует. SPF, DKIM и DMARC — три уровня, добавленные позже, чтобы это исправить, и все три живут в TXT-записях.
Ключевой вывод
MX-записи определяют, куда приходит ваша почта. Эти три TXT-записи определяют, поверит ли кто-нибудь почте, заявляющей, что она от вас. Без них законные письма попадают в спам.
SPF: какие серверы могут отправлять почту от вашего имени
SPF (Sender Policy Framework) публикует список серверов, которым разрешено отправлять почту от имени вашего домена. Принимающий сервер сравнивает IP подключившегося отправителя с этим списком.
example.com. 3600 IN TXT "v=spf1 include:_spf.google.com ip4:93.184.216.34 ~all"| Часть | Значение |
|---|---|
v=spf1 | Маркер версии — должен стоять первым. |
include:_spf.google.com | Также доверять всему, что указано в SPF-записи Google. |
ip4:93.184.216.34 | Доверять этому конкретному адресу. |
~all | Мягкий отказ: всё остальное подозрительно, но не отклоняется. |
-all | Жёсткий отказ: отклонять всё, чего нет в списке. Строже. |
DKIM: криптографическая подпись
DKIM (DomainKeys Identified Mail) подписывает каждое исходящее сообщение закрытым ключом. Соответствующий открытый ключ вы публикуете в DNS, а получатели проверяют подпись.
selector1._domainkey.example.com. IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEB..."Часть selector1 выбирает ваш почтовый провайдер, и она включается в каждое подписанное сообщение, чтобы получатели знали, какой ключ запрашивать. Селекторы позволяют менять ключи или использовать нескольких провайдеров без конфликтов.
Преимущество DKIM перед SPF в том, что подпись охватывает само сообщение, поэтому она переживает пересылку. Слабость в том, что он ничего не говорит о сообщениях, приходящих вообще без подписи, — этот пробел и закрывает DMARC.
DMARC: что делать, если первые два не прошли
DMARC (Domain-based Message Authentication, Reporting and Conformance) связывает остальные два: он требует, чтобы SPF или DKIM не просто проходили, но и совпадали (alignment) с видимым адресом From, и сообщает получателям, что делать при неудаче.
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:reports@example.com; pct=100"| Тег | Значение |
|---|---|
p=none | Только мониторинг — ничего не предпринимать. С этого начинают. |
p=quarantine | Отправлять не прошедшую почту в спам. |
p=reject | Полностью отклонять не прошедшую почту. Конечная цель. |
rua= | Куда отправлять агрегированные отчёты. |
pct= | Применять политику к этому проценту почты — удобно для постепенного внедрения. |
Безопасное внедрение всех трёх
Порядок важен. Сразу перейти на p=reject — классический способ сделать собственные счета недоставляемыми.
Составьте опись всего, что отправляет почту от вашего имени
Ваш почтовый провайдер, конечно, но также инструменты выставления счетов, CRM, маркетинговые платформы, системы заявок и транзакционная почта вашего приложения. Всё, что здесь пропустите, позже сломается.
Опубликуйте SPF с мягким отказом
Включите всех отправителей из первого шага и завершите записью
~all. Мягкий отказ помечает неуказанных отправителей как подозрительных, не уничтожая почту, пока вы проверяете список.Включите подпись DKIM
Включите её у каждого провайдера и опубликуйте записи селекторов, которые они выдают. Отправьте тестовое письмо и убедитесь, что подпись проверяется.
Начните DMARC с p=none
Только мониторинг. Собирайте агрегированные отчёты две-четыре недели: они выявят забытых отправителей.
Ужесточайте постепенно
Когда по отчётам проходят только законные источники, переходите на
p=quarantine, при желании сначала сpct=25, а затем наp=reject, когда всё чисто.
TXT-записи нужны не только для почты
Тот же тип записи несёт подтверждение владения доменом для десятков сервисов: Google Search Console, Microsoft 365, Facebook и другие просят опубликовать токен в виде записи TXT, а затем проверяют его наличие.
example.com. IN TXT "google-site-verification=rXsLp2..."
example.com. IN TXT "MS=ms12345678"Они прекрасно уживаются вместе. У домена может быть много TXT-записей; правило лишь в том, что запись, начинающаяся с v=spf1, должна быть ровно одна.
Проверьте любой домен в инструменте поиска, чтобы увидеть все его TXT-записи вместе: так быстро заметить дубликат SPF-записи или токен подтверждения, который так и не удалили.
Нужно проверить публичные DNS-адреса домена? Воспользуйтесь инструментом Domain IP Lookup.
Бесплатные инструменты по этой теме
Часто задаваемые вопросы
Читайте также
Как письмо находит ваш почтовый сервер
Отправитель
you@gmail.com
Запрос MX
кто принимает почту?
Почтовый сервер
сначала приоритет 10
Входящие
доставлено
Выбирается наименьшее число приоритета; большие значения — резервные
Что такое MX-записи: как устроена маршрутизация почты
Запись, которая решает, куда попадёт ваша почта: как работают числа приоритета, что означает null MX и какие ошибки тихо теряют сообщения.
Обратный DNS: поиск в обратную сторону
IP-адрес
93.184.216.34
отправная точка
Запрос PTR
in-addr.arpa — чужая зона
Имя хоста
ответ
Обратная зона принадлежит владельцу блока IP, а не владельцу домена
Что такое обратный DNS: записи PTR
Поиск, идущий в обратную сторону: почему им управляет ваш хостинг-провайдер и почему его отсутствие незаметно отправляет вашу почту в спам.
Записи, которые встретятся почти в каждой зоне
Типы DNS-записей: полный справочник
Каждый стоящий внимания тип записи: что он делает, как выглядит и какую ошибку с ним допускают чаще всего — на одной странице справочника.