Nova Uptime
Доставляемость emaildkim-checkdkim-checkerdkim-record

DKIM простыми словами: что это, как работает и как настроить

Полный гайд по DKIM — проверьте свою DKIM-запись, разберитесь в селекторах, сгенерируйте ключи и исправьте ошибки аутентификации. Бесплатный DKIM checker.

SN
Sumit Nova Uptime
11 февраля 2026 г. · 10 min read
Share:

Каждый день миллиарды писем пересекают интернет. Без способа проверить, что сообщение действительно с того домена, который оно заявляет, атакующие могут подделать поле «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 Workspacegoogle
Microsoft 365selector1, selector2
SendGrids1, s2, sendgrid
Mailchimpk1, k2, k3
Zohos1, s2, zoho
Amazon SESamazonses
Postmarkpostmark
Mailgunmailgun

Пошаговая настройка 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 повышает шанс попасть в спам-фильтр.

Похожие материалы

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

Похожие статьи