Настройка DKIM (DomainKeys Identified Mail) для лучшей доставляемости электронной почты

Все авторитетные почтовые серверы стараются блокировать электронные письма с поддельными адресами отправителей. Мошенники используют поддельные адреса отправителей, которые кажутся исходящими из законного источника, чтобы установить троянскую программу или обманом заставить пользователя раскрыть конфиденциальные данные — этот процесс называется фишингом.

Одним из способов проверки подлинности отправителя является использование DKIM — метода, позволяющего подписывать электронные письма цифровой подписью. DKIM расшифровывается как DomainKeys Identified Mail.

Широко используемый сегодня, DKIM был создан в 2004 году совместными усилиями консорциума компаний. DKIM объединяет более раннюю систему «DomainKeys» компании Yahoo и устаревшую систему «Identified Internet Mail» компании Cisco. Отсюда и аббревиатура DKIM: DK = DomainKeys, IM = Identified Internet Mail.

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

DKIM основан на взаимодействии между сервером исходящей и входящей почты. Конечный пользователь не знает об этом процессе.

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

Открытый ключ может не совпадать с подписью по следующим причинам:

  • Письмо было отправлено не с почтового сервера, указанного в заголовке письма, а с другого (мошеннического) сервера.
  • Электронное письмо было изменено при передаче от «настоящего» почтового сервера к получателю. Например, хакер может перехватить письмо, изменить его, а затем отправить повторно.

Технические компоненты DKIM

Для того чтобы понять DKIM, лучше всего рассмотреть основные составляющие этой концепции.

Хеширование

Строка, называемая хэш-значением, вычисляется из содержимого письма по определенному алгоритму. Это значение добавляется в заголовок письма.

Примечание

Хеширование основано на том же принципе, что и контрольная цифра на банковском депозитном чеке, когда значение вычисляется из цифр номера ссылки и добавляется как последняя цифра номера ссылки.

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

Асимметричное шифрование

Для того чтобы получатель мог быть уверен, что хэш-значение действительно получено от оригинального отправителя, требуется еще один шаг: цифровая подпись.

Отправители аутентифицируются с помощью асимметричного шифрования, которое основано на паре ключей: то, что зашифровано с помощью ключа А, может быть расшифровано только с помощью ключа В. Один ключ хранится в секрете (закрытый ключ), другой публикуется (открытый ключ).

Совет

Более подробную информацию о шифровании можно найти в этом обзоре методов шифрования.

Процесс выглядит следующим образом:

  1. Отправитель шифрует вычисленное хэш-значение с помощью закрытого ключа.
  2. Он добавляет зашифрованное хэш-значение в заголовок электронного письма («подпись»).
  3. Получатель ищет открытый ключ отправителя на сервере доменных имен отправителя, тем самым расшифровывая подпись.
  4. Затем он проверяет расшифрованное хэш-значение. Если хэш-значение, вычисленное получателем, совпадает с расшифрованным, все в порядке.

TXT-запись на сервере имен

Чтобы серверы входящей почты могли получить открытый ключ отправителя, он должен быть опубликован как запись ресурса TXT в зоне DNS домена.

Запись DKIM содержит следующие элементы:

  • Версия, часто кодируется v=DKIM1
  • Алгоритм шифрования, которым всегда является RSA (k=rsa).
  • Открытый ключ (p=), который представляет собой длинную строку.
  • Селектор, который различается в зависимости от провайдера. Пример: default._domainkey или k1._domainkey.

Запись DKIM обычно можно получить только с помощью заголовка электронной почты. Для поиска требуется как доменное имя, так и селектор. Селектор обычно не известен или его поиск занимает слишком много времени.

Создание DKIM-записи

Чтобы создать DKIM-запись, необходимо создать пару ключей RSA и поместить ее в нужное место на сервере. Большинство провайдеров электронной почты сделают это за вас.

Чтобы лучше понять, как работает DKIM, вы можете создать запись вручную. В Интернете можно бесплатно найти различные инструменты, например, DKIM Record Generator от EasyDMARC. В верхней части экрана введите селектор по вашему выбору (например, k1) слева и домен справа. Генератор отобразит закрытый и открытый ключи. Закрытый ключ должен храниться на почтовом сервере (это может сделать только ваш почтовый провайдер), а открытый ключ вводится в DKIM-запись.

Проверка записи DKIM

Вы можете проверить, действительно ли запись DKIM является общедоступной, используя программу проверки DKIM, например, DKIM Record Lookup от EasyDMARC.

Но самый простой способ проверки — отправить себе электронное письмо, а затем посмотреть на заголовок, где вы увидите запись «DKIM-Signature:».

Совет

Вы можете скопировать заголовок в инструмент анализатора заголовков, чтобы просмотреть более четкую и подробную информацию о заголовке электронной почты.

  • Безопасность электронной почты

    Оцените статью
    cdelat.ru
    Добавить комментарий