Как настроить SPF, DKIM и DMARC
  • 09 Feb 2022
  • 3 минуты
  • Темная тема
    Светлая тема
  • формат pdf

Как настроить SPF, DKIM и DMARC

  • Темная тема
    Светлая тема
  • формат pdf

Введение

Английская версия статьи

SPF и DKIM в целом похожие технологии, и выполняют схожую задачу - подтверждают валидность сервера отправителя. Работают они через записи на DNS сервера. Принцип работы очень простой:

  1. Сервер получателя получает письмо с адреса info@company.com , с сервера mta.mindbox.ru

  2. Сервер получателя делает запрос к DNS для домена company.com и ищет записи SPF и DKIM

  3. В случае если записей нет, письму проставляется статус neutral (конкретно по этим проверкам) и письмо проверяется дополнительными фильтрами.

  4. В случае если записи обнаружены, проверяется, разрешено ли серверу mta.mindbox.ru отправлять почту домена company.com

  5. Если mta.mindbox.ru не найден в списке разрешенных, то письмо или отбрасывается, или проставляется статус neutral

  6. Если mta.mindbox.ru найден в списке разрешенных, письму проставляется статус pass и повышается рейтинг письма при прохождении других фильтров.

Выглядят записи в DNS вот так:

Снимок экрана 2020-07-14 в 18.30.05.png

Важно! Домен второго уровня для DKIM проставляется автоматически!

Например, если ключ добавляется для домена company.com , то запись должна быть вида mindbox._domainkey , а если для домена mail.company.com , то запись должна быть mindbox._domainkey.mail

Настройка SPF записей

Вся настройка SPF сводится к тому, чтобы создать специальную TXT запись в DNS, в которой указать, с каких серверов разрешено отправлять почту для этого домена.
Если у Вас нет SPF записи, нужно ее создать на днс-сервере домена отправителя:

Имя записи Тип записи Значение
TXT v=spf1 a mx ptr include:spf.mindbox.ru ?all

Эти записи говорят о том, что почту с этого домена могут отправлять основные сервера домена (a mx) а также все серверы из SPF записи домена mindbox.ru (include:spf.mindbox.ru ) - мы поддерживаем список наших серверов актуальным, и Вам нет необходимости в последствии изменять эти записи. ?all говорит о том, что с других серверов тоже можно отправлять почту с этого домена (просто она получит статус neutral, а не pass).
Если записи у Вас уже есть, нужно просто добавить туда include:spf.mindbox.ru

Если используется Sender ID, в него также нужно добавить include:spf.mindbox.ru

Проверка SPF записей

Обновление днс записей обычно занимает от 30 минут до 4 часов - стоит подождать некоторое время, чтобы записи успели обновиться.
Затем идем сюда и вбиваем доменное имя, для которого Вы прописали записи. Жмем SPF Record Lookup.

66504096d8abdc04fac83e77ed43b2f04.png

Если все правильно, Вы увидите что-то похожее на эту картинку

6650409901ded2580d92395cd89ef0785.png

Если Вы видите пустое окно - значит либо Вы что-то неправильно прописали, либо днс записи еще не обновились.

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

665041001c79bcda2a06d226db47d2da6.png

Там нужно найти строчку Received-SPF: pass - значит все правильно.
Если стоит failed или neutral - значит что-то прописано неправильно, и гугл не доверяет серверу, с которого было отправлено письмо.
Учтите, что mxtoolbox игнорирует наличие переносов в записи.

Для дополнительной проверки используйте сервисы https://2ip.ru/dig/ (выбираем тип TXT) или http://www.mail-tester.com/spf-dkim-check

Настройка DKIM

Настройка DKIM немного сложнее, так как предварительно нужно сгенерировать ключи для подписи сообщений. Для Вас это может сделать ваш менеджер. Либо вы можете сгенерировать DKIM из системы самостоятельно по этой инструкции.

  1. Ваш менеджер отправляет соответствующие записи для добавления в DNS.

  2. Полученные записи нужно внести на днс-сервере (аналогично SPF записям).Первая запись говорит о том, что не вся почта домена подписывается. t=y; - указывать не надо, это для тестового режима. Вторая запись содержит публичный ключ.

ВАЖНО: ключ должен быть одной строкой - если есть переносы строк, ключ нужно скопировать в блокнот и убрать их, чтобы получилась одна длинная строка - именно ее нужно вносить в днс.

66504101eb8e96ad912142f605cf5e422017-02-151114001.png

Проверка DKIM

  1. Идем по ссылке http://www.mail-tester.com/spf-dkim-check

  2. Вводим доменное имя в соответствующее поле и mindbox в после "Выбор DKIM" (оно же Selector), жмем "Проверить SPF и DKIM записи"

Если все настройки правильные, то мы увидим их на странице:

665041021cadf5f25f102062de228482Img19-04-201611-00-10.jpg

Также для проверки DKIM можно отправить письмо на Gmail, открыть оригинал

66504103d2f7ae4f93a72acaf71e328e61.png

И найти dkim=pass - это значит что все настроено правильно. Если нет, проверьте что есть запись DKIM-Signature: v=1; ... - если есть, значит неправильная подпись. Если нет - значит сообщения вообще не подписываются.

Если при попытке отправить письмо на mail.ru получаете ошибку вида dkim=invalid reason=pubkey_syntax, проверьте опубликованную запись DKIM на наличие пробелов.

Настройка DMARC

Настраивать запись DMARC можно только после того, как у вас уже есть корректно настроенные записи SPF и DKIM, так как технология DMARC использует для проверки одну (любую) из описанных выше.

Аналогично предыдущим, запись DMARC – это запись типа TXT. Чтобы создать её, нужно добавить в ДНС:

Имя записи: _dmarc .company.com

Значение (TXT): v=DMARC1; p=none

Проверка DMARC

Для проверки нужно пройти по ссылке https://mxtoolbox.com/dmarc.aspx и ввести в поле поиска почтовый домен клиента.
Если запись настроена, детали должны отобразиться на странице в развёрнутом виде:

66504104607a2ccb9f307b0c409f0f88dmarc.png

Отправив письмо на адрес Gmail, открыть оригинал

665041054cb732e33f44f46d83fffdc0dmarc1.png

И найти в заголовках проверку DMARC:

66504106f8dee0aac5f91e3379f8bc1bdmarc2.png