Настройка DKIM-, SPF- и DMARC-записей домена

Мы разработали видеоинструкцию, где в удобном формате объяснили как осуществляется настройка DKIM и SPF записей.

Смотреть видеоинструкцию

В этой статье мы поможем разобраться в настройках цифровой подписи для вашего домена, чтобы письма были доставлены и не попали в «Спам»

Технология DKIM – это метод email-аутентификации. Заголовок DKIM-Signature прикрепляется к письму, а в самом DKIM зашифрована информация о домене отправителя. Так DKIM-Signature подтверждает его.

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

На стороне получателя система проверяет подпись и определяет репутацию отправителя. После этого письмо или доставляется, или отправляется в «Спам» / на дополнительную проверку. 

Действия почтового сервера на стороне получателя можно также настроить с помощью DMARC.

Правила, указывающие почтовым серверам, что делать с письмами, которые не прошли проверку SPF или DKIM, называются DMARC. 

Настройка DKIM-подписи при отправке рассылок через хостинг Beget

На нашем хостинге вы можете настроить DKIM для следующих способов отправки писем:

  • через SMTP-сервер;
  • через функцию PHP mail(), он же sendmail.

Чтобы создать DKIM-подпись для рассылки через PHP mail(), нужен выделенный IP-адрес. Вы можете подключить его из панели управления аккаунтом (в разделе “Сайты”). Затем напишите тикет из раздела “Помощь и поддержка” с указанием домена сайта для настройки DKIM-подписи .

Чтобы сделать DKIM-подпись для писем с функцией SMTP, напишите тикет из панели управления аккаунтом, раздел “Помощь и поддержка”, в нем укажите домен, с которым вы работаете. Эти функции доступны только на оплаченных аккаунтах (минимум на месяц по текущему тарифному плану). Мы можем настроить вам DKIM только если письма отправляются через наш хостинг – то есть указаны наши MX-записи.

Настройка DKIM при отправке рассылок через сторонний сервис (на примере unisender.com)

Если рассылки отправляются через “Яндекс.Почту” или аналогичные сервисы, нужно самостоятельно внести требуемые записи в разделе "DNS” в панели управления, чтобы работа DKIM была корректной.

Рассмотрим, как запустить рассылку через unisender.com. Инструкция подойдет и для других похожих сервисов.

1. Смотрим настройку DKIM, SPF и DNS на сервисе рассылок:

DKIM SPF

2. В панели управления переходим в раздел “DNS”. В верхней части экрана выбираем домен, для которого начнем работу с DNS-записью. В нашем случае первые две строки с SPF-записью начинаются с символа “@”. Согласно RFC 1034 и RFC 1035, этот символ означает всю зону целиком. Нажимаем кнопку “Открыть режим редактирования” справа от основной зоны, совпадающей с названием домена, и вносим нужные TXT-записям изменения для работы DKIM:

DNS Бегет

Сохраните изменения.

Обратите внимание!
Если у вас уже есть TXT-запись “v=spf1”, просто добавляем в нее новый сервер (без создания новой записи).

В нашем примере для работы с spf2-записью ее нужно только включить, поэтому используем форму быстрого добавления:

Управление DNS

В итоге мы добавили нужные TXT-записи:

TXT Запись

Можно пойти другим путем и редактировать уже существующую TXT-запись с параметрами SPF. Лучше, если она будет одна (SPF-запись может объединять все серверы и сервисы, с которых вы отправляете письма). 

Для этого к существующей записи "v=spf1 redirect=_spf.beget.com" (если использовался наш хостинг) нужно добавить "include:spf.unisender.com", а "redirect=" заменить на "include:". В конце ставим "~all". 

3. Затем создаем подзону _domainkey и проводим работу с записью – вносим ее в это поле. Нажимаем “Добавить подзону” и вводим название подзоны в поле name через форму быстрого добавления, выбираем тип TXT в поле type, а в поле data вставляем нужную нам:

Управление DNS записями

4. Аналогично нужно создать подзону us._domainkey и внести в нее запись, где отображена сама DKIM:

Добавление TXT

После внесения записи всё выглядит так:

Добавление подзоны

У нас DNS-записи обычно обновляются 15 минут, в других сервисах может быть дольше. После этого можно проверить наличие в системе и корректность DKIM. Это покажет G Suite, например. В качестве имени нужно ввести имя подзоны: us._domainkey.вашдомен.ru

Google Suite

Чтобы проверить работу, отправьте письмо с ящика домена, для которого проводились настройки цифровой подписи, и на принимающем ящике в графе “Служебные заголовки” найдите заголовок DKIM-Signature – над ним должна быть строка “dkim=pass”.

Проверку доступности публичного ключа можно осуществить на сайте DNSWatch. Если такой же технический заголовок есть, значит, DKIM работает – вы смогли верно настроить подпись. Но если письмо оказалось не подписано, обратитесь в поддержку к нам или того сервиса, где вы работаете – это поможет настроить DKIM заново.

Для проверки мы отправили рассылку через Unisender. Видно, что заголовок DKIM-Signature есть в технических заголовках письма:

DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=us; d=доменотправителя.ru;
 h=From:To:Message-Id:Subject:MIME-Version:Content-Type:List-Help:List-Id:
 List-Unsubscribe:Date:no; i=info@доменотправителя.ru;
 bh=bXvoaXR+a1NFSNkUPp9bw+sm5KA=;
 b=Nel1LTDx3EMy9oPXgrnkVJSk7ZdWUKhuZiynSC5Voi9e/PY/46VF+CBgHD3I8fDdcOlKmsr1dbbo
   9sYcRmIKFSTVG8PfYvEUUHeqC2K1BsvW+c8IStUGi1uAbISl2mP8di/wkoija+eBPZmPyov1/aYw
   Mq3HWOr7jBTH0x9RHbI=

DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=jul2015; d=topeml.com;
 h=From:To:Message-Id:Subject:MIME-Version:Content-Type:List-Help:List-Id:
 List-Unsubscribe:Date;
 bh=bXvoaXR+a1NFSNkUPp9bw+sm5KA=;
 b=eIDPgMsW3iZmHhoDEFebsbgubtxeLvMCgfu68bfvZ65pYs6PryApPXwJjdev4/2bwcYW3UybQ4oi
   CSowVihgzRP1bab6ZatiGHwVOQfJ04W1qafl2X0NQ/vkorP5ZdyA7V+k8tQNxdp1uL3Ce32kIk2M
   1eORNohPUf9qbpOACLc=

Значит, DKIM-запись работает.

А проверить корректность работы SPF вы можете, например, через сервис PowerDMARC. Просто введите имя вашего домена в поле поиска и нажмите кнопку “Поиск”.

Настройка DMARC

DMARC определяет, какие действия с письмом, не прошедшим проверку SPF или DKIM, выполнит почтовый сервер получателя: письмо может быть отправлено в спам, отклонено почтовым сервером либо никаких действий предпринято не будет. Вы также можете настроить получение отчетов о письмах, не прошедших аутентификацию.

Обратите внимание!
Перед настройкой DMARC убедитесь, что записи SPF и DKIM добавлены и корректно работают. Инструкции по проверке SPF и DKIM приведены в предыдущем разделе.

Примеры DMARC

Рассмотрим несколько примеров DMARC-записей.

Базовая запись DMARC

Данная запись содержит параметр none – в случае, если письмо не пройдет аутентификацию, никаких действий предпринято не будет. Мы рекомендуем устанавливать это значение, если вы не планируете выполнять рассылки и вам нужна только настроенная DMARC-запись.

v=DMARC1; p=none;

Только получение отчета

Данное правило также не выполняет никаких действий с письмами, не прошедшими аутентификацию, но вы будете получать ежедневные отчеты от почтовых серверов – получателей ваших писем на указанный в параметре rua=mailto: ящик.

Если вы планируете настраивать более строгие правила, рекомендуем начать именно с этой записи. Получив отчет, вы сможете узнать, все ли ваши письма проходят аутентификацию. Узнать больше об отчетах вы можете в соответствующем разделе.

Обратите внимание!
Мы рекомендуем создать отдельный почтовый ящик для получения отчетов. Укажите этот ящик вместо dmarc@betutorial.ru

v=DMARC1; p=none; rua=mailto:dmarc@betutorial.ru

Отклонение 10% неавторизованных писем

К предыдущей записи добавляется два правила: p=none заменяется на p=quarantine – письма, не прошедшие авторизацию, помещаются в спам. Параметр pct=10 определяет, что в спам будет отправляться 10% неавторизованных писем – остальные письма будут доставлены.

Обратите внимание!
Вы будете получать ежедневные отчеты от почтовых серверов-получателей ваших писем на указанную вами почту. Мы рекомендуем создать отдельный почтовый ящик для получения отчетов. Укажите этот ящик вместо dmarc@betutorial.ru

v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc@betutorial.ru

Отклонение писем, не прошедших проверку

Обратите внимание!
Используйте данное правило, если вы уверены, что ваши письма проходят проверку SPF и DKIM.

В данной записи указан параметр p=reject – все письма, не прошедшие проверку, будут отклонены почтовыми серверами-получателями.

В данном примере отчеты будут приходить на два почтовых ящика – они указаны через запятую.

Обратите внимание!
Вы будете получать ежедневные отчеты от почтовых серверов-получателей ваших писем на указанную вами почту. Мы рекомендуем создать отдельный почтовый ящик для получения отчетов. Укажите этот ящик вместо dmarc@betutorial.ru

v=DMARC1; p=reject; rua=mailto:dmarc@betutorial.ru,postmaster@betutorial.ru

Отчеты DMARC

Указав параметр rua=, вы ежедневно будете получать отчеты от почтовых серверов, на которые приходят письма с вашего домена.

Отчеты позволяют узнать следующую информацию:

  • какие из ваших писем не проходят проверку DMARC;
  • какие сервисы рассылают поддельные письма от вашего имени;
  • что происходит с письмами, не прошедшими проверку.

Если в отчете указано, что большинство писем успешно проходят проверку DMARC, вы можете ужесточить правила, чтобы исключить подделку ваших писем.

Отчеты приходят в формате .xml. Для удобства чтения вы можете открыть их, например, через сервис MxToolbox.

Так выглядит отчет в формате таблицы:

DMARC

Добавление DMARC

Определившись с правилом DMARC, добавьте его в разделе DNS. Для этого кликните на кнопку , ”Добавить подзону”и укажите имя подзоны _dmarc:

Добавление подзоны

В блоке “Быстрое добавление”выберите созданную подзону _dmarc, затем тип записи “TXT”и в поле “Data” укажите DMARC-запись:

Быстрое добавление

Добавленная запись выглядит так:

Подзоны и записи TXT

DNS-записи обновятся в течение 15 минут. После этого проверьте корректность добавленной DMARC-записи – например, при помощи сервиса PowerDMARC.

Статус DMARC

Видим, что запись DMARC для домена корректна.

Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “Помощь и поддержка”), а если вы захотите обсудить эту статью или наши продукты с коллегами по цеху и сотрудниками Бегета – ждем вас в нашем сообществе в Telegram.

Теги:

87
65400