Что такое DKIM-подпись

DKIM, или DomainKeys Identified Mail — метод почтовой аутентификации. С его помощью сервер-получатель определяет, пришло письмо от достоверного отправителя или мошенника.

Что такое DKIM-подпись и как она выглядит

Чтобы метод аутентификации DKIM работал, создают два ключа: приватный и публичный.

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

Публичный ключ и есть DKIM-подпись или DKIM-запись. Выглядит она как txt-запись, которую необходимо добавить в настройки DNS-зоны домена. Выглядит она так:

v=DKIM1; k=rsa; t=s; p=»‎»‎*******….»‎»

где:

  • v — версия DKIM;
  • k — тип ключа, всегда указывается равным «‎rsa»‎;
  • p — ключ, который создаётся через настройки сервисов почтовых рассылок, или его можно сгенерировать на сторонней платформе.

Зачем нужен DKIM

Защищает от мошенников

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

Такая подделка почты называется фишингом. DKIM позволяет серверу-получателю распознавать фишинговые письма и перемещать их в папку «Спам»‎.

Читайте также

Что нужно сделать, чтобы не попасть в спам

Повышает доставляемость

Через DKIM сервер-получатель может выяснить, каким рейтингом обладает отправитель письма. Письма от отправителя с хорошим рейтингом с большей вероятностью попадают в папку «Входящие».

Даёт доступ к использованию постмастеров

Постмастеры — это сервисы, на которых удобно проводить анализ рассылок: отслеживать доставляемость, проверять открытия писем, количество отписок и жалоб на спам.

Но пользоваться постмастером можно, если настроена email-аутентификация. Один из элементов email-аутентификации — DKIM-подпись. Без неё пользоваться постмастером нельзя.

Как работает DKIM

Для каждого сервера создаётся два ключа шифрования — приватный и публичный.

Приватный ключ размещается на сервере отправителя. Он понадобится для создания DKIM-заголовков всех исходящих писем. В заголовках зашифровываются данные об отправителе.

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

Когда письмо с DKIM-подписью приходит на сервер-получатель, он расшифровывает DKIM-заголовок, созданный приватным ключом, с помощью публичного ключа. Если данные из заголовка и публичного ключа при проверке совпадут, письмо попадёт во «Входящие», если нет — сервер-получатель перемещает его в «‎Спам‎»‎.

Как настроить DKIM-подпись

Чтобы настроить DKIM-подпись, надо:

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

Как создать DKIM-ключи

Создать ключи можно создать на почтовом сервисе, который используется для рассылки писем. Например, чтобы создать ключ в Google, необходимо:

  1. Зайти в консоль администратора.
  2. Пройти путь Приложения → Google Workspace → Gmail.
  3. Кликнуть «‎Аутентификация электронной почты‎»‎.
  4. Выбрать домен, где будет использоваться DKIM.
  5. Нажать «‎‎Создать новую запись‎»‎.
  6. Указать размер ключа DKIM в битах: 1024 или 2048, если нужен более надёжный ключ.
  7. Выбрать префикс.
  8. Нажать «‎‎Создать‎»‎.

Создать DKIM-ключ можно и на стороннем сервисе, например, на DKIM-генераторе. Необходимо указать имя домена, селектор домена и выбрать размер ключа — 1024 или 2048 битов.

что такое DKIM-подпись и размер ключа

После нажать кнопку «‎Рассчитать»‎ и скопировать сгенерированные ключи.

ключи в DKIM-подписи

Общая настройка

После того как ключи сгенерированы, их надо разместить на домене и сервере, с которого отправляется почта.

Чтобы добавить публичный ключ в DNS-зону домена, нужно:

  1. Взять публичный ключ и копировать всё, что находится между BEGIN и END.

    ——BEGIN PUBLIC KEY—— MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuSratnoCyJR9FoZ+c3t0 UrNiDuv9lkfmD4/teG0TJ6o8doO2APZLkRKAvhNdZP0E6Pc13pCysg7ejEBECJ38 6V0kBR+Wd0fcNgLu141k1LUkoO6LHtBj/cxpOKs5WBvVeFWcyHz5j1Tnm3/fZnC+ qMskzsKu1HRdamS2F+omMbSqqk0+yULh4FJF9ZmGNDcTL1DxgjI3TYLcRACfQUuw gCXERFzJEC9X6WBFpfRNx+oEM8tZrz07XSal1cfRrnI9IyjG79MZo0AvzYXt6Edj I9+H1M511GXISz6SKmtKUAURsm2L/OdQyf1xArOBxDDh9OduUEaByHfmNTXUeuNs 5wIDAQAB ——END PUBLIC KEY——

  2. Зайти в панель управления DNS-зоной домена и создать DKIM-запись согласно следующим параметрам:

    Домен: имя_сервера.domainkey.example.com. Вместо _key1 можно использовать что угодно. Варианты: * имя сервера

    Тип: TXT

    Значение:»‎»‎k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuSratnoCyJR9FoZ+c3t0 UrNiDuv9lkfmD4/teG0TJ6o8doO2APZLkRKAvhNdZP0E6Pc13pCysg7ejEBECJ38 6V0kBR+Wd0fcNgLu141k1LUkoO6LHtBj/cxpOKs5WBvVeFWcyHz5j1Tnm3/fZnC+ qMskzsKu1HRdamS2F+omMbSqqk0+yULh4FJF9ZmGNDcTL1DxgjI3TYLcRACfQUuw gCXERFzJEC9X6WBFpfRNx+oEM8tZrz07XSal1cfRrnI9IyjG79MZo0AvzYXt6Edj I9+H1M511GXISz6SKmtKUAURsm2L/OdQyf1xArOBxDDh9OduUEaByHfmNTXUeuNs 5wIDAQAB

  3. Сохранить изменения. Настройка может вступить в силу не сразу, а, например, через 24 часа — зависит от хостинга. Проверить, начала ли работать DKIM-запись, можно на whatsmydns.net. Достаточно указать адрес сайта и нажать Enter.

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

Читайте также

Как мы проводим аудит email-маркетинга

Если DKIM не работает

Если DKIM не работает, надо проверить, полностью ли скопирован ключ — вдруг «‎потерялась‎«‎ часть символов.

Ещё вариант — у провайдера хостинга выставлено ограничение на длину ключа. Необходимо обратиться к провайдеру за помощью в добавлении записи.

Если DKIM работает с перебоями, надо проверить, не установлен ли на домене больше одного DNS-сервера. Если их несколько, возможно, один настроен с ошибками. Надо проверить настройки на каждом сервере.

Недостатки DKIM

DKIM полезен, но не гарантирует попадания письма во «‎‎Входящие». Обычные пользователи могут настроить DKIM на собственном домене. Если настройку выполнят мошенники, они смогут проходить проверку сервером-получателем.

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

Ещё недостаток — уязвимость ключей шифрования, размер которых меньше 1024 бита, однако при длине, равной 1024 или 2048, ключи взломать трудно.

Что важно запомнить

  1. DKIM — это метод проверки почты. С помощью двух ключей — приватного и публичного — сервер-получатель выясняет, от достоверного отправителя пришло письмо или мошенника.
  2. Публичный ключ называют DKIM-записью. Он размещается в DNS-зоне домена.
  3. Приватный размещается на сервере почтового провайдера. Он генерирует невидимые заголовки, которые добавляются к каждому письму. Внутри заголовков содержатся данные об отправителе.
  4. При проверке письма сервер-получатель считывает данные из заголовка, потом сравнивает их с информацией в публичном ключе и если всё сходится, перемещает письмо во «‎‎Входящие‎«‎. Если данные не сходятся, отклоняет письмо или перемещает в «Спам».
  5. С помощью DKIM можно защитить рассылку от взлома мошенников, повысить доставляемость писем и получить доступ к постмастерам — специальным сервисам, через которые можно собирать статистику о рассылке и анализировать её эффективность.