НОВОСТИ

Что такое 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 запись (пример):

Хост: селектор._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 сообщит, что есть подозрение к этому домену.

Есть также специальные онлайн-валидаторы 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 )
Подписка на KRASHENININ.TECH

Получайте регулярные обновления на почту!


Виталий Крашенинин/ автор статьи
Основатель блога, публицист, IT-специалист. Предоставляю услуги по администрированию, техническому обслуживанию, поисковой оптимизации и продвижению веб-сайтов.
Не забудьте поделиться материалом в соцсетях:
KRASHENININ.TECH - блог о веб-технологиях, и не только
Подписаться
Уведомление о
guest
3 Комментарий
Встроенные отзывы
Просмотреть все комментарии
Slavic
Slavic
8 месяцев назад

Очень долго мучался со всеми этими ключами, но вроде заработало. Помогла ваша статья. А как подключить SPF-запись? Что-то не нахожу в вашем руководстве. Благодарю за ответ.

Slavic
Slavic
8 месяцев назад

Спасибо за оперативный ответ. Пока буду пробовать сам. Если возникнут трудности – обращусь!

3
0
Есть мысли? Прокомментируй!x
()
x
Читайте ранее:
AMP страницы
Что такое AMP и “с чем его едят”?

Наверное вы уже сталкивались с термином AMP. Для тех, кто не знает - вкратце объясню. AMP расшифровывается как Accelerated Mobile...

Закрыть