DKIM-запись (DomainKeys Identified Mail)
Что такое DKIM-запись?
DKIM-запись (DomainKeys Identified Mail) — это DNS-запись типа TXT, которая содержит публичный криптографический ключ, используемый почтовыми серверами-получателями для проверки цифровой подписи, добавленной к исходящему письму, и подтверждения того, что письмо не было изменено в пути и действительно отправлено с заявленного домена.
В 2026 году индустриальным стандартом является длина RSA-ключа 2048 бит (1024 бит считается устаревшим и не рекомендуется). Крупные почтовые провайдеры (Gmail, Outlook, Yahoo) требуют наличие DKIM для массовых отправителей (более 5 000 писем в день) с мая 2025 года. Среднее время проверки DKIM-подписи составляет 50–100 мс на стороне получателя, что незначительно влияет на общую задержку доставки письма. Рекомендуемый TTL для DKIM-записи — 3600 секунд (1 час) при активной ротации ключей, для стабильных конфигураций — 86400 секунд (24 часа).
Как это работает?
При отправке письма почтовый сервер отправителя генерирует цифровую подпись с использованием приватного ключа, которая включает заголовки письма (From, Date, Subject и др.) и тело письма. Подпись добавляется в заголовок DKIM-Signature. Сервер-получатель извлекает из этого заголовка селектор (идентификатор ключа), домен и выполняет DNS-запрос типа TXT к [селектор]._domainkey.[домен]. Полученная запись содержит публичный ключ, которым проверяется подпись. Если подпись совпадает, письмо считается аутентифицированным. Процесс устойчив к пересылке писем (в отличие от SPF), так как подпись привязана к содержимому, а не к IP-адресу отправителя.
Метрики и стандарты
- Длина ключа — минимум 2048 бит (RSA) для соответствия современным стандартам безопасности; 1024 бит считается уязвимым к взлому и отклоняется некоторыми провайдерами.
- Селектор — уникальное имя (например, default, 2026) для возможности ротации ключей без простоя; каждый селектор соответствует отдельной записи.
- TTL — рекомендуемое значение 3600 с для ключей, которые могут меняться при ротации; при стабильной конфигурации допустимо 86400 с.
- Алгоритмы — предпочтительный алгоритм подписи — RSA—SHA256 (обозначается как rsa-sha256); алгоритм SHA1 признан устаревшим.
- Коэффициент прохожденияDKIM — при правильно настроенной записи более 95% писем успешно проходят проверку DKIM, что повышает репутацию домена и снижает риск попадания в спам до 1–2%.
Почему это важно для бизнеса?
DKIM является обязательным компонентом аутентификации электронной почты в 2026 году. Отсутствие DKIM или неправильная настройка приводит к тому, что письма от вашего домена (включая транзакционные уведомления, счета, маркетинговые рассылки) либо отклоняются, либо попадают в спам. Это напрямую снижает доставляемость, подрывает коммуникацию с клиентами и партнёрами, а также подвергает ваш домен риску фишинга (злоумышленники могут подделать письма с вашим доменом, так как их подписи не будут проверяться). Кроме того, вместе с SPF и DMARC DKIM позволяет установить политику p=reject в DMARC, что полностью блокирует поддельные письма, защищая репутацию бренда и предотвращая утечки данных.
Пример применения
Сценарий: Компания «ФинТех» отправляет клиентам ежемесячные отчёты и подтверждения платежей через свой корпоративный почтовый сервер (Microsoft Exchange). Администратор генерирует пару ключей RSA-2048, публичный ключ размещает в DNS как запись default._domainkey.fintech.ru со значением v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3…. Приватный ключ устанавливается на почтовом сервере. После распространения записи (TTL 3600 с) все письма подписываются DKIM. Через неделю процент писем, попадающих в спам, снижается с 12% до 1.5%, а открываемость писем вырастает на 20%, так как клиенты видят письма во «Входящих».
Как это реализуется в WordPress?
DKIM-запись не настраивается внутри WordPress — она всегда создаётся в панели управления DNS. Однако WordPress-сайт отправляет письма (уведомления о заказах, регистрации, сбросе пароля), и для их доставляемости необходимо, чтобы исходящий SMTP-сервер (через который WordPress отправляет почту) был настроен на подпись DKIM.
- НастройкаDNS: войдите в панель управления доменом, создайте запись типа TXT с именем вида [селектор]._domainkey (например, default._domainkey) и значением, начинающимся с v=DKIM1; k=rsa; p=… (полный публичный ключ в одной строке, без переносов). Убедитесь, что ключ не превышает 255 символов — при необходимости разбейте на несколько строк в кавычках (поддерживается стандартом).
- Генерация ключей: обычно выполняется на стороне почтового сервера или провайдера (например, Google Workspace, Yandex 360, Mailgun, SendGrid). Многие сервисы автоматически создают DKIM-записи и предоставляют готовые значения для вставки в DNS.
- Плагины WordPress для почты:
- WP Mail SMTP и Post SMTP — при настройке SMTP-отправки через внешние сервисы часто отображают рекомендации по добавлению DKIM-записи или автоматически создают её, если используется собственный отправляющий сервер плагина.
- Некоторые плагины (например, Fluent SMTP) могут генерировать пару ключей и выводить значение для DNS.
- Серверный уровень: если на сервере установлен собственный почтовый агент (Postfix, Exim), необходимо настроить DKIM-подпись через утилиты (opendkim, dkim-milter). В конфигурации указывается селектор, приватный ключ и домен. Для серверов с Nginx или LiteSpeed прямых настроек DKIM нет, но важно, чтобы сервер мог отправлять исходящие письма через SMTP, который поддерживает DKIM.
- Мониторинг: используйте Google Postmaster Tools для отслеживания репутации и доли писем с DKIM-подписью. В WordPress плагины логирования писем (например, WP Mail Logging) не проверяют DKIM, но помогают убедиться, что письма отправляются через нужный SMTP-сервер.
Связанные понятия
- SPF (Sender Policy Framework) — определяет разрешённые IP-адреса отправителей; работает вместе с DKIM, но проверяет только конверт письма.
- DMARC (Domain—based Message Authentication,Reporting &Conformance) — задаёт политику обработки писем, не прошедших SPF или DKIM, и привязывает результат проверки к видимому адресу «От».
- Селектор — строка, позволяющая разместить несколько DKIM-ключей для одного домена (для разных сервисов или ротации).
- TXT-запись — тип DNS-записи, в которой хранится публичный ключ DKIM.
- Ротация ключей — периодическая смена ключей для повышения безопасности (рекомендуется раз в 1–2 года).
Ошибки:
- Использование ключа длиной менее 2048 бит — уязвимость для взлома; некоторые провайдеры блокируют подписи RSA-1024.
- Длина записи превышает 255 символов без разбивки на строки (в кавычках) — приводит к ошибкам синтаксиса; всегда проверяйте формат после публикации.
- Неправильное имя записи (например, забыт префикс ._domainkey) — запись не будет найдена, и DKIM-проверка провалится.
- Ротация ключей без учёта TTL — старая запись ещё кэшируется, письма, подписанные старым ключом, могут не пройти проверку; всегда снижайте TTL до 300 с за 24 часа до ротации.
- Настройка DKIM только на одном сервере при использовании нескольких SMTP-сервисов — каждый сервис должен иметь свой селектор и ключ, либо использовать общий приватный ключ (менее безопасно). Оптимально — отдельные селекторы для каждого сервиса.
