DKIM ключ

Что такое DKIM подпись и зачем она нужна?

Если вы создали корпоративную почту на своем домене, но ваши письма попадают в СПАМ — вам сюда, я расскажу, как от этого избавиться. В роли «лекарства» будем использовать DKIM-подпись, которая верифицирует ваш почтовый домен. Что ж, давайте поподробнее.

Что такое DKIM простыми словами

DKIM (Domain Key Identified Mail) — веб-технология, которая подтверждает почтовый домен (Email верификация) и ваши письма не попадают в СПАМ. Данная технология была разработана Марком Делани, сотрудником компании Yahoo в 2003 году, а потом подхвачена Cisko и другими крупными компаниями, с целью уменьшить фишинг (подделка домена), который набирал оборотов..

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

История цифровой подписи DKIM

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

DKIM - принцип действия

Официальная страница DKIM: http://dkim.org

Как получить DKIM ключ и настроить его?

Получить цифровую подпись DKIM можно с помощью встроенных инструментов, которые входят в состав панелей управления хостингом (ISP Manager, cPanel, Vesta Panel), утилиты OpenSSL (используется консоль), а также с помощью онлайн-генераторов.

Я использую онлайн-генераторы:

  • https://2ip.ru/dkim/
  • https://dkimcore.org/tools/keys.html
  • https://www.port25.com/dkim-wizard/
  • https://www.socketlabs.com/domainkey-dkim-generation-wizard/
  • https://luxsci.com/dkim-wizard
  1. Заходим на веб-сервис
  2. Вбиваем туда свой домен
  3. Задаем селектор (условное обозначение ключа, псевдоним, так как ключей можно использовать несколько для разных почтовых доменов)
  4. Выбираем размер ключа — от 1024 до 2046 бит (я выбираю по умолчанию 1024, хотя 2046 более надежнее)
  5. Создаем DKIM

На выходе получаем — приватный и публичный DKIM-ключ. Скачиваем их себе.

Публичный ключ нужно будет внести в DNS зону вашего домена, сделать это можно у регистратора доменного имени или контроль-панели вашего хостинга (ISPmanager, cPanel), в зависимости от того к каким NS-серверам направлен домен. В редактировании DNS-зоны домена добавляем новую TXT запись (пример):

Читайте также:  Книга "DNS и BIND" (2008)

Хост: селектор._domainkey.вашдомен.com. (обязательно с точкой в конце)

Txt-значение: то, что вам выдал генератор, например:

v=dkim1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAИЕЩЕМНОГОБУКВ

Ttl: скорость обновления кэша данной DNS записи;

Также рекомендуется добавить в DNS-зону запись о политике:

_domainkey.example.com. TXT "t=s; o=~;"

где: o=~ - некоторые сообщения от этого домена подписываются; 
o=- - все сообщения подписываются;

После этого настройки DNS должны обновиться (от 30 мин до 48 часов, в зависимости от настроек кэша TTL).

Синтаксис DKIM

«v» — версия DKIM, всегда принимает значение v=DKIM1;
«k» — тип ключа, всегда k=rsa;
«p» — публичный ключ, кодированный в base64.
Необязательные элементы:
«t=y» — режим тестирования. Нужно только для отслеживания результатов;
«t=s» — означает, что запись будет использована только для домена, к которому относится; не рекомендуется, если используются субдомены;
«h» — предпочитаемый hash-алгоритм, может принимать значения «h=sha1» и «h=sha256»;
«s» — тип сервиса, использующего DKIM. Принимает значения «s=email» (электронная почта) и «s=*»(все сервисы). По умолчанию «*»;
«;» — разделитель.

Основные теги и их значения:

  • b — содержимое письма (тело + заголовки, закодированные в Base64)
  • bh — хэш канонизированного тела письма (также в Base64)
  • d — доменное имя отправителя
  • h — список подписанных заголовков

Дополнительные теги:

  • a — основной алгоритм для генерации сигнатуры
  • v — версия системы
  • s — селектор для разделения пространства имен для «d=» тега
  • c — алгоритм для приведения тела письма и заголовков к каноническому виду
  • q — список алгоритмов для получения публичного ключа
  • x — время истечения сигнатуры
  • i — подпись клиента, проставившего DKIM-подпись
  • l — размер тела письма в байтах, включённых в криптографический хэш
  • t — таймстамп проставленной сигнатуры
  • z — копии заголовков на момент проставления сигнатуры

Проверка DKIM

Проверить работу DKIM-подписи можно, отправив сообщение на GMAIL, так как Google использует проверку на основе DKIM. Если письмо будет не подписано — оно придет со значком знака вопроса, Google сообщит, что есть подозрение к этому домену.

Читайте также:  ТОП 5 лучших Whois сервисов

Есть также специальные онлайн-валидаторы DNS-зон, и собственно DKIM:

  • https://mxtoolbox.com/NetworkTools.aspx
  • http://www.mail-tester.com
  • https://www.dnswatch.info
  • https://dkimcore.org/tools/
  • https://dkimvalidator.com (рекомендую)
  • https://tools.dnsstuff.com/mstc
  • https://www.dmarcanalyzer.com/dkim/dkim-check/

Вывод

Без DKIM-подписи письма с вашего почтового домена будут с 99% попадать в СПАМ или помечаться Google как фишинг. Хорошо DKIM использовать вместе с другими технологиями — SPF и DMARC, но настраивать их нужно только после корректно установленного DKIM ключа.

Оценка:
( 1 оценка, среднее 5 из 5 )
Виталий Крашенинин / автор статьи
Основатель блога, публицист, IT-специалист
Понравилась статья? Поделиться с друзьями:
Opt In Image
Хочешь первым получать свежую информацию от меня?
Тогда подписывайся ↓
Krasheninin IT Блог - все о веб-технологиях, и не только
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

9 + двенадцать =

>