Главная

DKIM: что это такое, зачем нужен и как настроить для домена

Дата: 2025-06-02 | Время чтения: 7 минут (1436 слов)

DKIM (DomainKeys Identified Mail) — это технология, которая подтверждает, что емейл действительно отправлен с того домена, который указан в адресе отправителя, и его никто не подделал по пути. Когда вы отправляете письмо, сервер добавляет в него специальную цифровую подпись, которая связана с вашим доменом. Сервер получателя проверяет эту подпись с помощью открытого ключа, который хранится в DNS — это и есть та самая DKIM-запись.

Зачем нужна DKIM-подпись в email-маркетинге

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

2. Доверие со стороны почтовых систем. Gmail, Outlook, Yahoo и другие почтовые сервисы учитывают наличие и результат DKIM-проверки при фильтрации писем. Подписанные емейлы с валидным DKIM чаще попадают во «Входящие».

3. Защита бренда. Без DKIM в заголовке письма может появиться пометка вроде «через сторонний сервис». Это снижает доверие и портит восприятие бренда. С DKIM письмо выглядит как отправленное от вашей компании. Получатель видит имя домена, которому он доверяет.

4. Поддержка DMARC. DMARC требует, чтобы письмо прошло хотя бы одну проверку — SPF или DKIM — и домены совпадали. Если DKIM не настроен, а SPF не проходит, почтовые сервисы отклоняют письмо. Без DKIM вы не получаете полноценные DMARC-отчёты и не контролируете, кто отправляет письма от вашего имени.

5. Повышение эффективности рассылок. DKIM улучшает доставляемость, особенно в больших объёмах. Электронная почта с такой подписью может отображать логотип отправителя через BIMI. Кроме того, корректная настройка DKIM (вместе с SPF и DMARC) даёт доступ к аналитике в Gmail Postmaster и других сервисах.

Повышайте эффективность рассылок!

Узнайте, как это сделать с CDP Altcraft

Посмотреть

Механизм DKIM-проверки

1. Генерация ключей и публикация DKIM-записи

Владелец домена генерирует пару криптографических ключей: закрытый (приватный) и открытый (публичный). Закрытый ключ хранится на сервере отправителя, открытый размещается в DNS в виде TXT-записи — это и есть DKIM-запись для домена.

Имя записи включает селектор и домен с поддоменом _domainkey, например: selector1._domainkey.example.com. В содержании (value) указываются параметры DKIM: версия (v=DKIM1), алгоритм шифрования (k=rsa) и сам публичный ключ (p=…). Эта запись открыта для всех почтовых серверов, которые затем используют её для проверки подписанных писем.

2. Подпись исходящего письма

На этом этапе сервер:

  • выбирает определённые заголовки письма (например, From, To, Subject, Date) и тело сообщения;
  • применяет к ним алгоритм хеширования с учетом канонизации (simple или relaxed);
  • отдельно хеширует тело письма;
  • шифрует полученные хеши с помощью закрытого ключа;
  • кодирует результат в Base64 и добавляет в заголовок DKIM-Signature.

Заголовок DKIM-Signature содержит ключевые параметры:

  • v — версия DKIM (обычно DKIM1);
  • d — домен отправителя (например, example.com);
  • s — селектор (например, selector1);
  • h — список подписанных заголовков (например, from:to:subject:date);
  • bh — хеш тела письма (Body Hash);
  • b — сама цифровая подпись.

3. Проверка DKIM-подписи получателем

Почтовый сервер получателя (например, Gmail или корпоративный шлюз) ищет в письме заголовок DKIM-Signature. Найдя его, сервер:

  • формирует DNS-запрос на поиск TXT-записи, используя домен (d=) и селектор (s=) из подписи;
  • получает открытый ключ из DNS;
  • вычисляет хешы подписанных заголовков и тела письма с учетом указанной канонизации;
  • расшифровывает подпись b= открытым ключом и сравнивает результат с вычисленным хешем.

Если хеши совпадают, эл. почта считается подлинной (DKIM=pass). Если нет, сервер отмечает письмо как невалидное (DKIM=fail) и может применить дополнительные фильтры.

4. Результат проверки и его значение

Результат проверки (pass или fail) влияет на обработку письма фильтрами спама. Валидная подпись в письме повышает репутацию отправителя. Неверная подпись (fail) ухудшает репутацию сильнее, чем полное отсутствие DKIM.

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

5. Ограничения DKIM

DKIM-проверка подтверждает только целостность письма и подлинность домена отправителя. Он не гарантирует, что отправитель честен — любой может зарегистрировать домен с валидным DKIM. Подпись DKIM ломается, если письмо изменяют в пути. Например, добавление баннера или изменение заголовков приводит к нарушению подписи. Чтобы минимизировать риск, используют канонизацию типа relaxed или дополнительные механизмы вроде ARC (Authenticated Received Chain).

Как настроить DKIM для домена

Шаг 1. Генерация DKIM-ключей

Создайте пару ключей — публичный и приватный — для вашего домена. Если вы используете сервис email-рассылок или почтовый хостинг, он обычно предлагает автоматическую генерацию ключей. Используйте RSA-ключ длиной 2048 бит (минимум — 1024 бит для совместимости). Выберите селектор — любое короткое имя на латинице без пробелов: dkim1, mail, default. В примерах используется селектор default.

Шаг 2. Создание DKIM-записи в DNS

Добавьте DKIM-запись в DNS вашего домена у регистратора или провайдера хостинга:

  • Тип записи — TXT.
  • Имя записи._domainkey.<вашдомен>. Обратите внимание на подчёркивание и правильную структуру имени.
  • Значение записи — строка, начинающаяся с v=DKIM1; k=rsa; p=…, где после p= указывается ваш публичный ключ в формате Base64.

Шаг 3. Настройка почтового сервера или сервиса

Настройте сервер или сервис так, чтобы он подписывал исходящие письма вашим приватным ключом.

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

Шаг 4. Проверка настройки DKIM

Проверьте, работает ли DKIM правильно:

  • отправьте тестовый емайл на свой ящик в Gmail или Yahoo, откройте исходные заголовки и убедитесь, что статус DKIM — PASS, а отправитель — ваш домен;
  • проверьте наличие TXT-записи через консольную утилиту: dig TXT default._domainkey.yourdomain.com
  • проанализируйте отчёты DMARC, если у вас настроена политика отправки отчётов: в них видно, прошла ли DKIM-проверка.

Шаг 5. Поддержание и регулярный мониторинг

После настройки регулярно следите за состоянием DKIM:

  • обновляйте DKIM-ключи раз в 1-2 года для повышения безопасности: создайте новые ключи, опубликуйте новую запись в DNS, переключите сервер на использование нового ключа и удалите старую запись;
  • при добавлении новых доменов сразу настраивайте для них DKIM по аналогичной схеме.

Ошибки при настройке DKIM и их решения

1. DKIM-запись не найдена (No DKIM record)

Почтовый сервер не может найти ваш открытый ключ в DNS. Это происходит, если вы не добавили DKIM-запись, указали её с ошибками или забыли включить _domainkey в имя. Иногда DNS-сервера ещё не успели обновиться после добавления записи.

Что делать: проверьте, что вы создали TXT-запись с именем вида selector._domainkey.example.com. Убедитесь, что она находится в нужной зоне. Используйте dig, nslookup или онлайн-проверки, чтобы убедиться в наличии записи. При необходимости исправьте и подождите до обновления DNS (обычно 15-60 минут).

2. Неверный формат DKIM-записи

Некорректный формат записи вызывает ошибки при проверке. Часто это результат лишних пробелов, кавычек или автоматического разбития строки в панели управления DNS. Иногда вместо TXT-записи создают CNAME, что тоже вызывает сбой.

Что делать: проверьте, что строка начинается с v=DKIM1; и полностью соответствует формату, полученному при генерации ключа. Удалите лишние символы. Убедитесь, что вы выбрали именно TXT, а не другой тип записи.

3. DKIM-подпись не проходит проверку (DKIM=fail)

Вы опубликовали ключ, но подпись всё равно не проходит. Это может означать, что вы используете неправильный селектор, неподходящий ключ или письмо изменилось по пути (например, его модифицировал внешний сервис). Иногда подпись указывает на один домен, а письмо отправлено с другого.

Что делать: проверьте, совпадают ли селектор и домен в подписи с записью в DNS. Убедитесь, что ваш сервер подписывает письма корректным ключом. Если письмо проходит через сторонние системы, отключите модификации или включите повторную подпись.

4. Дублирование DKIM-записей

При добавлении или замене ключа в DNS часто остаются старые записи. Если вы оставили несколько TXT-записей с одинаковыми именами, проверка не будет работать.

Что делать: удалите лишние записи. Для каждого селектора оставьте только одну запись. При ротации используйте уникальные селекторы (например, dkim2025) и удаляйте старые записи, когда переходите на новые ключи.

Заключение

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

DKIM — обязательная часть работы с почтовой инфраструктурой и важное условие для поддержания хорошей репутации в цифровой среде.

Подписывайтесь на наш Telegram-канал. Там вы найдёте самые интересные тренды и новости в сфере digital-маркетинга и технологий. Будьте в теме вместе с нами!

Vkontakte

LinkedIn

Twitter

Telegram

Поделиться

Если статья была вам полезна, поделитесь с вашими друзьями

Vkontakte

LinkedIn

Twitter

Telegram