Email spoofing — это ситуация, когда кто-то притворяется вами, используя ваш email-адрес или домен. Так злоумышленники могут отправлять поддельные письма, перехватывать доверие получателей и вредить репутации компании.
DKIM помогает защититься от таких атак. В статье разберем, что такое DKIM-запись, зачем она нужна, как она работает, как настроить DKIM для домена и что делать, если проверка не проходит.
Что такое DKIM
DKIM, или DomainKeys Identified Mail, — это метод email-аутентификации наряду с SPF и DMARC. Он помогает принимающему серверу понять, пришло ли письмо от доверенного отправителя или от мошенника.
Технология подтверждает, что источник письма надежен, а само письмо не было изменено или подделано по пути от отправляющего сервера к принимающему.
Понять, что письмо прошло DKIM, можно по подписи в заголовке письма и строке Authentication-Results с записью `dkim=pass`. Это означает, что отправитель подтвержден, а письмо не изменяли после отправки.
Почему это важно
DKIM — один из стандартов email-аутентификации. Его основная задача — подтвердить подлинность отправителя.
Проверка DKIM полезна по двум причинам.
Она защищает целостность письма. Цифровая DKIM-подпись помогает убедиться, что письмо действительно отправлено от вашего домена и не было изменено в пути. Это защищает получателей от атак, когда кто-то пытается отправить вредоносные или спамные письма от вашего имени.
Она повышает репутацию домена. DKIM помогает интернет-провайдерам и почтовым сервисам вроде Gmail и Yahoo доверять вашему домену. Подтвержденные домены выглядят надежнее, поэтому реальные письма реже попадают в спам и лучше доставляются.
С 1 февраля 2024 года DKIM перестал быть просто хорошей практикой для массовых отправителей: Google и Yahoo включили его в обязательные требования к bulk-рассылкам.
Как работает DKIM-запись
Работу DKIM удобно разделить на две части: что происходит на отправляющем сервере и что происходит на принимающем сервере.
Для DKIM создаются два ключа:
- приватный ключ — хранится на стороне отправителя и используется для подписи писем;
- публичный ключ — публикуется в DNS домена и используется принимающим сервером для проверки подписи.
Публичный ключ выглядит как TXT-запись в DNS. Пример:
v=DKIM1; k=rsa; t=s; p="*******...."
Основные переменные:
| Переменная | Значение |
| v | Версия DKIM |
| k | Тип ключа, обычно rsa |
| p | Публичный ключ, созданный в email-сервисе или на сторонней платформе |
Отправка письма с DKIM-подписью
Если вы используете email-сервис с поддержкой DKIM, пара ключей создается для вашего домена. Провайдер использует приватный ключ, чтобы подписать письмо перед отправкой.
DKIM-подпись добавляется в заголовок DKIM-Signature. В ней есть данные, которые нужны принимающему серверу для проверки письма.
Проверка письма с DKIM-подписью
Когда письмо приходит к получателю, почтовый сервис извлекает DKIM-подпись из заголовка и запрашивает соответствующую DKIM-запись из DNS домена.
Затем сервис использует публичный ключ, чтобы проверить подлинность сообщения. Если письмо не изменяли, проверка проходит. Если содержимое или важные заголовки были изменены, проверка не проходит, и письмо может попасть в спам.
О протоколах SPF и DMARC
DKIM, SPF и DMARC — это протоколы email-аутентификации. Они помогают бороться с подделкой отправителя и улучшают безопасность и доставляемость писем.
DKIM проверяет, что письмо действительно пришло от домена, который указан отправителем, и что письмо не изменяли в пути.
SPF проверяет, разрешено ли конкретному серверу отправлять письма от имени домена. Например, если вы отправляете кампании через Selzy, вы разрешаете серверам Selzy отправлять письма от имени вашего домена.
DMARC использует результаты SPF и DKIM и говорит почтовым сервисам, что делать с письмами, которые не прошли проверку: пропустить, отправить в спам или отклонить.
Лучше настраивать все три протокола — SPF, DKIM и DMARC — до запуска email-маркетинга. Иначе письма могут возвращаться с ошибками или попадать в спам. Эти настройки показывают почтовым провайдерам, что письма действительно отправляете вы, а не мошенники.
Как настроить DKIM для домена
Чтобы настроить DKIM-подпись, нужен собственный домен и доступ администратора к DNS-настройкам. После этого можно создать DKIM-ключ и добавить его в DNS.
Создайте публичный ключ
Обычно ключ создается в email-сервисе, через который вы отправляете письма. В Selzy DKIM можно сгенерировать в настройках аккаунта, во вкладке аутентификации домена: добавьте домен и получите настройки.
Если вы используете другой сервис, процесс будет похожим: нужно добавить домен, получить DKIM-запись и скопировать публичный ключ.
Добавьте ключ в DNS
После получения публичного ключа добавьте его в DNS-записи домена. Точный путь зависит от хостинга или регистратора.
Общий порядок:
- скопируйте публичный ключ в личном кабинете email-сервиса;
- войдите в панель управления доменом или хостингом;
- создайте TXT-запись;
- в поле Value вставьте скопированный ключ;
- сохраните изменения и дождитесь обновления DNS.
Обновление DNS может занять до 72 часов. Срок зависит от политики регистратора и настроек домена.
Проверка DKIM-аутентификации
После настройки DKIM нужно проверить, работает ли подпись. Это можно сделать через email-сервис или сторонние инструменты.
Популярные варианты:
- MxToolbox — проверяет, правильно ли записан ключ. Нужно указать селектор и домен.
- DKIMCore — похожий инструмент, где можно также вставить ключ напрямую.
- Email-сервис — например, в Selzy статус домена в разделе аутентификации покажет, включен ли DKIM.
Еще один способ — отправить тестовые письма на разные почтовые ящики и проверить заголовки. В Gmail для этого можно открыть письмо и выбрать Show original. Если проверка прошла успешно, в Authentication-Results будет `dkim=pass`. Если вместо pass указан fail, проверьте корректность ключей и DNS-записи.
Ошибка DKIM: чего ожидать
Если DKIM не проходит проверку, сначала убедитесь, что ключ скопирован полностью. Иногда ошибка появляется из-за пропущенных символов или неправильных кавычек.
Еще одна причина — ограничение длины TXT-записи у хостинг-провайдера. В этом случае стоит обратиться в поддержку хостинга и попросить помочь добавить запись корректно.
Если DKIM работает нестабильно, проверьте, сколько DNS-серверов настроено для домена. Если их несколько, один из них может быть настроен неправильно. Проверьте запись на каждом сервере.
Типичные причины DKIM failure:
- ключ добавлен не полностью;
- ошибка в селекторе;
- DNS еще не обновился;
- письмо изменилось после подписи;
- неверно настроен один из DNS-серверов;
- email-сервис не использует нужный домен для подписи.
Итоги
Почтовые сервисы используют разные методы, чтобы проверять надежность входящих писем. DKIM — один из таких методов.
Главное о DKIM:
- проверка DKIM-подписи выполняется на стороне принимающего почтового сервиса;
- настройка включает создание приватного и публичного ключей;
- публичный ключ публикуется как TXT-запись в DNS домена;
- после настройки стоит проверить запись через DNS-инструменты и тестовое письмо;
- DKIM лучше использовать вместе с SPF и DMARC.
SPF и DKIM помогают подтвердить, что письма приходят от надежного отправителя. DMARC добавляет правила для писем, которые не прошли проверку. Вместе эти протоколы защищают домен, повышают доверие почтовых провайдеров и помогают улучшить доставляемость рассылок.










