DKIM простыми словами: что это, как работает и как настроить
Полный гайд по DKIM — проверьте свою DKIM-запись, разберитесь в селекторах, сгенерируйте ключи и исправьте ошибки аутентификации. Бесплатный DKIM checker.
Каждый день миллиарды писем пересекают интернет. Без способа проверить, что сообщение действительно с того домена, который оно заявляет, атакующие могут подделать поле «From» и притвориться доверенным брендом. DKIM (DomainKeys Identified Mail) решает эту проблему, прикрепляя криптографическую подпись к каждому исходящему письму, чтобы принимающие почтовые серверы могли убедиться, что сообщение не было подделано и действительно отправлено с вашего домена.
В этом гайде мы разберём, как именно работает DKIM, пройдём процесс настройки шаг за шагом и рассмотрим самые частые ошибки, на которых спотыкаются.
Что такое DKIM?#
DKIM — стандарт аутентификации почты, описанный в RFC 6376. Он позволяет отправляющему домену взять на себя ответственность за сообщение, подписав его цифровой подписью. Принимающий сервер потом находит открытый ключ отправителя в DNS и проверяет подпись.
По сути DKIM отвечает на один вопрос: действительно ли это письмо отправлено доменом, указанным в подписи, и не было ли оно изменено в пути?
Сам по себе DKIM не предотвращает спам или фишинг. Он даёт строительный блок, на котором другие системы — прежде всего DMARC — принимают решения о неаутентифицированной почте.
Как работает DKIM: процесс подписания#
DKIM опирается на криптографию открытого ключа. Вот что происходит, когда письмо отправляется с DKIM-домена:
1. Генерация пары ключей#
Владелец домена генерирует пару RSA (или Ed25519):
- Закрытый ключ: безопасно хранится на почтовом сервере. Этим ключом подписываются исходящие сообщения.
- Открытый ключ: публикуется как TXT-запись в DNS. Принимающие серверы используют его для проверки подписей.
2. Подписание сообщения#
Когда письмо покидает отправляющий почтовый сервер, DKIM-модуль делает следующее:
- Канонизирует заголовки и тело: DKIM нормализует пробелы и переводы строк, чтобы небольшие изменения форматирования при пересылке не ломали подпись. Два режима канонизации: «simple» (строгий) и «relaxed» (терпимый к изменениям пробелов).
- Хеширует тело сообщения: вычисляется SHA-256 хеш канонизированного тела. Хеш помещается в тег
bh=(body hash) заголовка подписи. - Подписывает выбранные заголовки: модуль отбирает конкретные заголовки для включения в подпись (From, To, Subject, Date и др.). Считает хеш по этим канонизированным заголовкам плюс самому заголовку DKIM-Signature (без значения
b=), затем шифрует этот хеш закрытым ключом. - Вставляет заголовок DKIM-Signature: получившаяся подпись вместе с метаданными добавляется к письму как заголовок
DKIM-Signature.
3. Проверка подписи#
Когда письмо приходит на принимающий сервер:
- Сервер извлекает заголовок
DKIM-Signature. - Считывает теги
d=(домен) иs=(селектор), чтобы понять, где искать открытый ключ. - Запрашивает в DNS TXT-запись по адресу
{selector}._domainkey.{domain}. - Использует открытый ключ для расшифровки подписи и сравнивает её с собственным хешем заголовков и тела.
- Если хеши совпадают — DKIM-проверка пройдена. Если нет — провал.
Анатомия заголовка DKIM-Signature#
Пример заголовка DKIM-Signature:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=example.com; s=google;
h=from:to:subject:date:message-id;
bh=2jUSOH9NhtVGCQWNr9BrIAPreKQjO6Sn7XIkfJVOzv8=;
b=AuUoFEfDxTDkHlLXSZEpZj79LICEps6eda7W3deTVFOk...
Ключевые теги:
- v=1: версия DKIM (всегда 1).
- a=rsa-sha256: алгоритм подписи. RSA с SHA-256 — самый распространённый.
- c=relaxed/relaxed: метод канонизации заголовков/тела. «relaxed/relaxed» — самый щадящий и широко рекомендуемый.
- d=example.com: подписывающий домен. Это домен, берущий на себя ответственность за сообщение.
- s=google: селектор. Говорит верификатору, какой открытый ключ искать.
- h=from:to:subject:date:message-id: список заголовков, включённых в подпись.
- bh=...: Base64-хеш канонизированного тела.
- b=...: сама Base64-подпись.
Что такое селекторы DKIM#
Селектор — это метка, указывающая на конкретный открытый ключ в вашем DNS. Полный путь DNS-запроса:
{selector}._domainkey.{domain}
Например, если домен example.com, а селектор google, принимающий сервер запрашивает:
google._domainkey.example.com
Зачем нужны селекторы
Селекторы позволяют домену иметь несколько DKIM-ключей одновременно. Это полезно для:
- Ротации ключей: можно опубликовать новый ключ под новым селектором, обновить почтовый сервер, чтобы он подписывал им, а потом удалить старую DNS-запись — без разрыва в аутентификации.
- Нескольких почтовых сервисов: если вы шлёте через Google Workspace, SendGrid и Mailchimp, у каждого может быть свой селектор и пара ключей. Google может использовать
google, SendGrid —s1, Mailchimp —k1. - Тестирования: можно развернуть тестовый ключ под отдельным селектором перед переключением продакшен-трафика.
Частые имена селекторов по провайдерам
Разные email-провайдеры используют разные дефолтные селекторы:
| Провайдер | Частые селекторы |
|---|---|
| Google Workspace | google |
| Microsoft 365 | selector1, selector2 |
| SendGrid | s1, s2, sendgrid |
| Mailchimp | k1, k2, k3 |
| Zoho | s1, s2, zoho |
| Amazon SES | amazonses |
| Postmark | postmark |
| Mailgun | mailgun |
Пошаговая настройка DKIM#
Шаг 1: Сгенерируйте пару ключей DKIM#
Если используете хостинг почты (Google Workspace, Microsoft 365 и т. д.), провайдер обычно генерирует ключи за вас. Вам нужно лишь опубликовать открытый ключ, который они дают.
Если управляете собственным почтовым сервером, сгенерируйте 2048-битную пару RSA:
openssl genrsa -out dkim-private.pem 2048
openssl rsa -in dkim-private.pem -pubout -out dkim-public.pem
Закрытый ключ остаётся на сервере. Открытый — идёт в DNS.
Шаг 2: Выберите селектор#
Подберите описательное имя. Частые варианты: default, mail, dkim или имя на основе даты вроде jan2026 для удобства отслеживания ротации. Избегайте селекторов, раскрывающих детали внутренней инфраструктуры.
Шаг 3: Опубликуйте DNS TXT-запись#
Создайте TXT-запись по адресу {selector}._domainkey.yourdomain.com с открытым ключом. Значение записи выглядит так:
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
Теги в DNS-записи:
- v=DKIM1: идентифицирует запись как DKIM-ключ. По RFC 6376 тег
v=рекомендован, но не обязателен. - k=rsa: тип ключа (RSA по умолчанию, можно опустить).
- p=...: Base64-кодированный открытый ключ. Если тег пуст (
p=), это означает, что ключ отозван.
Важно: у многих DNS-провайдеров есть лимит символов на TXT-записи. 2048-битный ключ даёт длинную строку. Если провайдер поддерживает — публикуйте полное значение целиком. Если нет — некоторые позволяют разбить значение на несколько строк внутри одной TXT-записи.
Шаг 4: Настройте почтовый сервер#
Конфигурация зависит от вашей установки:
- Google Workspace: Admin Console → Apps → Google Workspace → Gmail → «Authenticate Email». Google даёт значение TXT-записи и селектор. Публикуете в DNS и нажимаете «Start Authentication».
- Microsoft 365: зайдите в Microsoft 365 Defender portal → Policies → DKIM. Включите DKIM-подписание для домена. Microsoft даёт две CNAME-записи для публикации.
- Postfix с OpenDKIM: установите
opendkim, настройте signing table, key table и trusted hosts. Укажите файл закрытого ключа.
Шаг 5: Проверьте конфигурацию#
После публикации DNS-записи дождитесь распространения DNS (обычно 5–60 минут, иногда до 48 часов в зависимости от TTL). Затем отправьте тестовое письмо и проверьте заголовки.
Также можно мгновенно проверить настройку DKIM через бесплатный Email Health Checker от Nova Uptime. Он автоматически сканирует более 50 распространённых селекторов, чтобы обнаружить вашу DKIM-конфигурацию, и даёт подробный отчёт о статусе аутентификации email.
Частые ошибки в DKIM#
1. Слишком короткий ключ#
1024-битный RSA-ключ считается слабым и может быть отвергнут некоторыми получателями. Всегда используйте 2048-битные ключи. Некоторые провайдеры теперь поддерживают 4096-битные, хотя ограничения размера DNS-записей могут затруднить их публикацию.
2. Ошибки форматирования DNS-записи#
Лишние пробелы, пропущенные кавычки или переводы строк в значении TXT-записи — самая частая причина сбоев DKIM. Всегда проверяйте точное содержимое записи после публикации.
3. Забыли настроить подпись для сторонних сервисов#
Если шлёте письма через маркетинговую платформу, транзакционный email-сервис или CRM, у каждого сервиса нужна своя DKIM-конфигурация. Письмо через SendGrid не будет подписано ключом Google Workspace. Нужно настраивать DKIM отдельно для каждого отправляющего сервиса.
4. Не ротируете ключи#
Ключи DKIM нужно периодически ротировать (раз в 6–12 месяцев — разумный ритм). Используйте селекторы, чтобы сделать ротацию бесшовной: опубликуйте новый ключ под новым селектором, переключите подписание, проверьте работу, затем удалите DNS-запись старого селектора.
5. Слишком мало заголовков в подписи#
Минимум — всегда включайте заголовок From в подпись. Большинство реализаций также добавляют To, Subject, Date и Message-ID. Подписание большего числа заголовков даёт сильнее защиту от подделки, но повышает риск поломки подписи при легитимной обработке почты. Заголовок From обязателен по спецификации DKIM.
6. Использование канонизации «simple»#
Режим «simple» очень строг к пробелам и форматированию. Если любой промежуточный сервер (рассылочный список, форвардер) внесёт даже мелкие изменения в заголовки или тело, подпись поломается. Используйте «relaxed/relaxed», если нет конкретной причины поступать иначе.
Как DKIM связан со SPF и DMARC#
DKIM — одна из частей трёхслойной системы аутентификации email:
- SPF (Sender Policy Framework): задаёт, какие IP-адреса авторизованы отправлять письма от вашего домена. Проверяет envelope sender (MAIL FROM), не видимый заголовок «From».
- DKIM: криптографически подтверждает, что содержание сообщения не изменено и авторизовано подписывающим доменом.
- DMARC (Domain-based Message Authentication, Reporting, and Conformance): связывает SPF и DKIM. Проверяет, что домен в видимом «From» совпадает с доменом, прошедшим SPF или DKIM, и задаёт, что делать с проваленными сообщениями (none, quarantine, reject).
Чтобы DMARC прошёл, должны пройти SPF или DKIM и совпадать с доменом «From». Это значит, что DKIM особенно важен, когда один SPF может провалиться, например при пересылке (forwarding ломает SPF, потому что меняется отправляющий IP, но DKIM-подписи переживают пересылку).
Проверка вашей DKIM-конфигурации#
Вручную опрашивать DNS на DKIM-записи утомительно: нужно знать точное имя селектора, и стандартного способа их обнаружить нет.
Email Health Checker от Nova Uptime решает это, автоматически сканируя более 50 распространённых селекторов основных email-провайдеров. Он проверяет MX, SPF, DKIM и DMARC за один проход и даёт оценку 0–100 с буквенным грейдом.
Инструмент полностью бесплатный, не требует регистрации и предлагает действенные рекомендации, если найдены проблемы с DKIM-конфигурацией.
Главное
- DKIM использует криптографию открытого ключа для подписи писем, доказывая, что они с вашего домена и не изменены.
- Система селекторов позволяет иметь несколько ключей — для ротации и для нескольких отправляющих сервисов.
- Всегда используйте 2048-битные RSA-ключи с канонизацией «relaxed/relaxed».
- Настраивайте DKIM отдельно для каждого сервиса, отправляющего письма от вашего имени.
- DKIM работает вместе с SPF и DMARC. Все три должны быть настроены для полной аутентификации.
- Используйте Email Health Checker от Nova Uptime, чтобы проверить настройку DKIM и получить полный отчёт по аутентификации email.
Правильная настройка DKIM — одно из самых эффективных действий для доставляемости. Корректно подписанное сообщение говорит принимающим серверам, что вы — легитимный отправитель, серьёзно относящийся к безопасности почты, и это серьёзно помогает попасть в инбокс.
Часто задаваемые вопросы
Как проверить мою DKIM-запись?#
Используйте бесплатный DKIM checker, чтобы найти DKIM-запись. Введите домен — инструмент автоматически просканирует 50+ распространённых селекторов и найдёт вашу DKIM-конфигурацию. Также можно проверить вручную: dig TXT selector._domainkey.yourdomain.com, если знаете имя селектора.
Что такое селектор DKIM?#
DKIM-селектор — метка, идентифицирующая, какую пару ключей DKIM использовать для подписания. Появляется в заголовке DKIM-Signature как s=selector. Частые селекторы: google, selector1, default, s1, k1. Каждый email-провайдер использует свои имена — поэтому автоматическое определение селектора ценно.
Каким инструментом проверить DKIM-запись?#
Бесплатный DKIM Checker от Nova Uptime автоматически сканирует домен на DKIM-записи. Обнаруживает селекторы, валидирует открытый ключ и проверяет соответствие RFC 6376. Для полного аудита аутентификации, включая SPF, DKIM, DMARC и блэклисты, используйте Email Health Checker.
Обязателен ли DKIM для доставки email?#
С 2026 года Gmail и Yahoo требуют DKIM для bulk-отправителей. Даже для отправителей с малым объёмом письма без DKIM с большей вероятностью попадают в спам. DKIM также нужен для DMARC-выравнивания, которое всё чаще обязательно для бизнес-почты.
Что происходит, если DKIM не проходит?#
Если проверка DKIM не пройдена, принимающий сервер смотрит на вашу DMARC-политику. При p=none письмо доставляется как обычно. При p=quarantine — в спам. При p=reject — блокируется. Даже без DMARC провал DKIM повышает шанс попасть в спам-фильтр.
Похожие материалы
- Поиск и обнаружение DKIM-селектора — как работает автоматический поиск
- Настройка и валидация DKIM-записи — пошаговая конфигурация
- Полный гайд по SPF, DKIM и DMARC — как три протокола работают вместе
- Основы доставляемости email — почему аутентификация важна для попадания в инбокс
- Бесплатный DKIM Checker — мгновенная валидация DKIM-записей
Monitor Your Website Before It Goes Down
Get uptime monitoring, SSL tracking, domain expiry alerts, and email health checks. Free plan — no credit card required.
Start Monitoring FreeПохожие статьи
Гайд по настройке DKIM: пошаговая конфигурация
Настройте DKIM за 20 минут: найдите селектор, сгенерируйте ключи, добавьте DNS-записи. Обязательно для Gmail и Yahoo с фев. 2026.
Обнаружение DKIM-селектора — как найти DKIM-запись
Не знаете свой DKIM-селектор? Бесплатное автообнаружение по 50+ провайдерам. Проверьте Google, Mailgun, SendGrid, Microsoft 365 за секунды.
SPF, DKIM и DMARC: полное руководство по аутентификации email
Гайд по трём столпам аутентификации email. Как SPF, DKIM и DMARC работают вместе, чтобы защитить ваш домен и попадание в Inbox.