Перейти к содержимому
Alex Kovalev

SPF, DKIM и DMARC — что это такое?

Понятное руководство по DNS-записям аутентификации почты — SPF, DKIM и DMARC — что они делают и как их настроить для лучшей доставляемости писем.

2мин чтения
Парные картины Габриэля Метсю: мужчина пишет письмо, а женщина читает его, пока служанка стоит рядом.
Парные картины Габриэля Метсю: мужчина пишет письмо, а женщина читает его, пока служанка стоит рядом.

Проще говоря, это DNS-записи типа TXT. Если вы слышите о них впервые, скорее всего, это потому, что Gmail начал их требовать.

Простыми словами:

SPF – кто может отправлять почту от вашего имени?

Эта TXT-запись перечисляет IP-адреса или домены, которым разрешено отправлять почту от вашего имени. Настроить её — самое простое: зайдите к своему DNS-провайдеру и добавьте TXT-запись вроде этой:

mysite.com. IN TXT "v=spf1 include:_spf.google.com include:_spf.microsoft.com ip4:203.0.113.0/24 -all"

Разберём по частям:

  1. v=spf1 – версия SPF
  2. include: / ip4: – разрешённые домены и IP
  3. -all / ~all – жёсткий или мягкий отказ, «блокируй» или «ну, может, заблокируй». В любом случае это лишь рекомендация: последнее слово за получателем.

DKIM – это точно вы?

Ваш почтовый сервер подписывает каждое исходящее письмо приватным ключом (та же идея пары ключей, что и в SSH). Парный публичный ключ лежит у вас в DNS, так что получатель может проверить подпись и узнать две вещи: письмо подписал тот, у кого есть ключ вашего домена, и по дороге его никто не изменил.

Только вот ничего при этом не шифруется. Любой по пути всё равно может прочитать письмо. Это сургучная печать, а не запертый сейф.

DNS mysite.com
отправитель
From: ceo@mysite.com · via 198.51.100.66v=spf1 include:_spf.google.com include:_spf.microsoft.com ip4:203.0.113.0/24 -all
SPF?IP в списке?
DKIM?сургучная печать?
DMARC?политика
ОтказСпамВходящие

Выберите отправителя, пощёлкайте записи, нажмите «Отправить».

Три DNS-записи, трое ворот. Последнее слово всё равно за получателем.

Настройка:

  1. В вашем почтовом менеджере (SMTP-клиент, DirectAdmin, cPanel) создайте пару ключей DKIM. DirectAdmin хранит их здесь:
Terminal window
/etc/dkim.keys
  1. В вашем DNS-менеджере добавьте запись с публичным ключом. Она должна выглядеть примерно так:
v=DKIM1; p=76E629F05F709EF665853333EEC3F5ADE69A2362BECE40658267AB2FC3CB6CBE

DMARC – что делать с отклонёнными письмами?

Он опирается на две предыдущие записи: это ваша политика для писем, которые не прошли проверки (отклонить, отправить в карантин или всё-таки пропустить), плюс бесплатный мониторинг в придачу. Типичный DMARC выглядит так:

_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:forensics@example.com; pct=100; sp=reject"

Он указывает получателю отправлять данные об отклонённых письмах на forensics-адрес (содержимое и данные) и статистику на адрес для отчётов (сколько писем было отправлено с такого-то IP).

Если на одном дыхании

SPF говорит, кому разрешено отправлять. DKIM доказывает, что письмо ваше и его никто не трогал. DMARC говорит получателю, что делать, если проверки не пройдены, и куда слать отчёт. Настройте все три, и у вашей почты будет куда больше шансов не оказаться в спаме по соседству с нигерийскими принцами.

Записи уже есть, но непонятно, что в них написано? Вставьте их в конструктор SPF и DMARC: он расскажет простыми словами, что они значат, отметит типичные ошибки или соберёт новые из нескольких вариантов.


Обложка: Габриэль Метсю, «Мужчина, пишущий письмо» и «Женщина, читающая письмо», около 1664–66, Национальная галерея Ирландии, общественное достояние.

Комментарии

Комментарии живут в GitHub Discussions (через giscus), так что для участия нужен аккаунт GitHub.

Чирикну, когда выйдет новый пост

Одно письмо на каждый новый пост, обычно по пятницам. Больше ничего, а отписаться можно в любой момент.

Удобнее читать в RSS-ридере? Есть RSS-лента.

© Alex Kovalev. Все права защищены. · Политика конфиденциальности