Используйте DKIM для проверки исходящей электронной почты, отправленной с вашего пользовательского домена

Совет

Знаете ли вы, что вы можете попробовать функции в Microsoft 365 Defender для Office 365 план 2 бесплатно? Используйте 90-дневную пробную версию Defender для Office 365 в центре пробных версий портала Microsoft 365 Defender. Сведения о том, кто может зарегистрироваться и условия пробной версии , см. здесь.

Область применения

В этой статье описаны шаги использования DomainKeys Identified Mail (DKIM) с Microsoft 365, гарантирующие, что системы электронной почты назначения доверяют сообщениям, отправленным вовне с вашего пользовательского домена.

В этой статье

Примечание.

Microsoft 365 автоматически настраивает DKIM для своих первоначальных доменов «onmicrosoft.com». Это означает, что вам не нужно ничего делать, чтобы настроить DKIM для любого исходного имени домена (например, litware.onmicrosoft.com). Дополнительные сведения о доменах см. в статье Вопросы и ответы о доменах.

DKIM — один из трех методов проверки подлинности (SPF, DKIM и DMARC), помогающих запретить злоумышленникам отправлять сообщения, которые выглядят так, как будто они приходят из вашего домена.

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

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

Совет

Вы также можете не настраивать DKIM для личного домена. Если вы не настроили DKIM для своего пользовательского домена, Microsoft 365 создаст пару личного и открытого ключей, разрешит подпись DKIM, а затем настроит политику Microsoft 365 по умолчанию для вашего пользовательского домена.

Встроенная конфигурация DKIM Майкрософт-365 является достаточной для большинства клиентов. Однако необходимо вручную настроить DKIM для личного домена в следующих случаях:

  • у вас есть несколько пользовательских доменов в Microsoft 365;
  • вы также собираетесь настроить DMARC (рекомендуется);
  • вам необходим контроль над закрытым ключом;
  • вам необходимо настроить записи CNAME.
  • вам нужно настроить ключи DKIM для сообщений электронной почты со стороннего домена, например при использовании стороннего средства для массовых рассылок.

Как DKIM работает лучше, чем один SPF, для предотвращения злонамеренного подмены

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

Схема, на которой показана проверка подлинности DKIM: пересланное сообщение не прошло проверку инфраструктурой политики отправителей.

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

Совет

DKIM использует закрытый ключ для вставки зашифрованной подписи в заголовки сообщений. Имя подписывающего домена (или домена исходящей почты) вставляется в заголовок в качестве значения поля d=. Проверяющий домен (или домен получателя) затем использует поле d= для поиска открытого ключа в DNS и проверки подлинности сообщения. Так сообщение проходит проверку DKIM.

Действия по созданию, включению и отключению DKIM на портале Microsoft 365 Defender

Все обслуживаемые домены вашего клиента будут показаны на портале Microsoft 365 Defender на странице DKIM. Если вы его не видите, добавьте обслуживаемый домен со страницы доменов. После добавления домена выполните нижеприведенные действия для настройки DKIM.

Шаг 1. Щелкните домен, который требуется настроить DKIM, на странице DKIM (https://security.microsoft.com/dkimv2 или https://protection.office.com/dkimv2).

Страница DKIM на портале Microsoft 365 Defender с выбранным доменом

Шаг 2. Сдвиньте этот переключатель в положение Включено. Вы увидите всплывающее окно, указывающее, что необходимо добавить записи CNAME.

Всплывающее меню сведений о домене с кнопкой

Шаг 3. Скопируйте CNAMES, показанные во всплывающем окне

Всплывающее окно публикации CNAME, содержащее две записи CNAME для копирования

Шаг 4. Опубликуйте скопированные записи CNAME у вашего поставщика DNS.

На веб-сайте поставщика DNS добавьте записи CNAME для каждой DKIM, которую вы хотите включить. Убедитесь, что значения полей точно соответствуют каждым из указанных ниже:

Record Type: CNAME (Alias)
> Host: Paste the values you copy from DKIM page.
Points to address: Copy the value from DKIM page.
TTL: 3600 (or your provider default)

Шаг 5. Вернитесь на страницу DKIM, чтобы включить DKIM.

Переключатель для включения DKIM

Если запись CNAME не существует, это может быть связано со следующим:

  1. Синхронизация с DNS-сервером, которая может занять от нескольких секунд до часов. Если проблема не исчезнет, повторите шаги еще раз
  2. Проверьте наличие ошибок копирования и вставки, таких как лишний пробел, позиции табуляции и т. д.

Если вы хотите отключить DKIM, вернитесь в режим отключения

Шаги по обновлению 1024-разрядных ключей до 2048-разрядных ключей шифрования DKIM вручную

Примечание.

Microsoft 365 автоматически настраивает DKIM для своих доменов onmicrosoft.com. Чтобы начать использование DKIM для начальных доменных имен (например, litware.onmicrosoft.com), не требуется никаких действий. Дополнительные сведения о доменах см. в статье Вопросы и ответы о доменах.

Так как ключи DKIM могут быть 1024- и 2048-разрядными, эти инструкции предназначены для обновления 1024-разрядных ключей до 2048-разрядных в Exchange Online PowerShell. Описанные ниже действия относятся к двум вариантам использования. Выберите вариант, подходящий для вашей конфигурации.

  • Если вы уже настроили DKIM, измените разрядность, выполнив следующую команду:

    Rotate-DkimSigningConfig -KeySize 2048 -Identity <DkimSigningConfigIdParameter>
    

    или

  • В случае новой реализации DKIM выполните следующую команду:

    New-DkimSigningConfig -DomainName <Domain for which config is to be created> -KeySize 2048 -Enabled $true
    

Сохраняйте подключение к Exchange Online PowerShell, чтобы проверить конфигурацию, выполнив следующую команду:

Get-DkimSigningConfig -Identity <Domain for which the configuration was set> | Format-List

Совет

Этот новый 2048-разрядный ключ вступает в силу с даты, указанной в параметре RotateOnDate. Пока же сообщения электронной почты будут отправляться с использованием 1024-разрядного ключа. Через четыре дня вы снова можете выполнить проверку с использованием 2048-разрядного ключа (то есть после применения изменения ко второму селектору).

Если нужно выполнить изменение для второго селектора (после 4 дней и подтверждения применения 2048-разрядных ключей), вручную измените ключ второго селектора с помощью соответствующего командлета, указанного выше.

Дополнительные сведения о синтаксисе и параметрах см. в следующих статьях: Rotate-DkimSigningConfig, New-DkimSigningConfig и Get-DkimSigningConfig.

Необходимые шаги для настройки DKIM вручную

Настройка DKIM состоит из двух этапов:

Публикация двух записей CNAME для личного домена в DNS

Для каждого домена, для которого требуется добавить подпись DKIM в DNS, необходимо опубликовать две записи CNAME.

Примечание.

Если вы не ознакомились с полной статьей, вы могли пропустить эти сведения о подключении PowerShell, экономящие время: Подключение к Exchange Online PowerShell.

Чтобы создать записи селектора, выполните следующие команды в Exchange Online PowerShell:

New-DkimSigningConfig -DomainName <domain> -Enabled $false
Get-DkimSigningConfig -Identity <domain> | Format-List Selector1CNAME, Selector2CNAME

Если вы подготовили пользовательские домены в дополнение к исходному домену в Microsoft 365, вы должны опубликовать две записи CNAME для каждого дополнительного домена. Итак, если у вас есть два домена, вы должны опубликовать две дополнительные записи CNAME и так далее.

Для записей CNAME используйте указанный ниже формат.

Важно!

Если вы один из наших клиентов GCC High, мы вычисляем customDomainIdentifier другим способом. Вместо поиска записи MX для вашего initialDomain с целью вычисления customDomainIdentifier мы вычисляем его непосредственно на основании личного домена. Например, если ваш личный домен — "contoso.com", ваш customDomainIdentifier будет иметь вид "contoso-com", то есть все точки будут заменены дефисами. Таким образом, независимо от записи MX, на которую указывает ваш initialDomain, вы всегда можете использовать описанный выше метод для вычисления customDomainIdentifier, чтобы использовать его в записях CNAME.

Host name:            selector1._domainkey
Points to address or value:    selector1-<customDomainIdentifier>._domainkey.<initialDomain>
TTL:                3600

Host name:            selector2._domainkey
Points to address or value:    selector2-<customDomainIdentifier>._domainkey.<initialDomain>
TTL:                3600

Где:

  • В Microsoft 365 селекторами всегда будут «селектор1» или «селектор2».

  • Значение customDomainIdentifier — такое же, как и значение customDomainIdentifier в пользовательской записи MX для вашего личного домена, которое указывается перед адресом mail.protection.outlook.com. Например, в следующей записи MX для домена contoso.com значение customDomainIdentifier равно contoso-com:

    contoso.com. 3600 IN MX 5 contoso-com.mail.protection.outlook.com

  • initialDomain - это домен, который вы использовали при регистрации в Microsoft 365. Исходные домены всегда заканчиваются на onmicrosoft.com. О том, как узнать свой исходный домен, читайте в разделе часто задаваемых вопросов.

Например, если у вас есть исходный домен cohovineyardandwinery.onmicrosoft.com и два личных домена cohovineyard.com и cohowinery.com, вам необходимо настроить две записи CNAME для каждого дополнительного домена (всего четыре записи CNAME).

Host name:            selector1._domainkey
Points to address or value:    selector1-cohovineyard-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Host name:            selector2._domainkey
Points to address or value:    selector2-cohovineyard-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Host name:            selector1._domainkey
Points to address or value:    selector1-cohowinery-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Host name:            selector2._domainkey
Points to address or value:    selector2-cohowinery-com._domainkey.cohovineyardandwinery.onmicrosoft.com
TTL:                3600

Примечание.

Важно создать вторую запись, но только один из селекторов может быть доступен во время создания. По сути, второй селектор может указывать на адрес, который еще не создан. Мы все же рекомендуем создать вторую запись CNAME, так как ротация ключей будет беспроблемной.

Шаги по включению подписи DKIM для личного домена

После публикации записей CNAME в DNS вы готовы включить подпись DKIM через Microsoft 365. Это можно сделать в Центре администрирования Microsoft 365 или с помощью PowerShell.

Чтобы включить подпись DKIM для вашего личного домена на портале Microsoft 365 Defender

  1. На портале Microsoft 365 Defender по адресу https://security.microsoft.comперейдите к Email &Правила политик &совместной работы > Политики >угроз>Email Параметры проверки подлинности в разделе >ПравилаDKIM. Перейдите непосредственно на страницу DKIM по ссылке https://security.microsoft.com/dkimv2.

  2. На странице DKIM выберите домен, щелкнув имя.

  3. В появившемся всплывающем окне сведений измените параметр Подписывать сообщения для этого домена с помощью подписей DKIM на Включено (включить).

    После завершения нажмите Смена ключей DKIM.

  4. Повторите этот шаг для каждого личного домена.

  5. Если вы настраиваете DKIM в первый раз и столкнулись с ошибкой "Для этого домена нет сохраненных ключей DKIM", воспользуйтесь Windows PowerShell для включения подписывания DKIM, как рассмотрено на следующем шаге.

Как включить подпись с помощью DKIM для личного домена, используя PowerShell

Важно!

Ошибка Если вы настраиваете DKIM впервые и видите ошибку "Ключи DKIM не сохранены для этого домена", выполните команду на шаге 2 ниже (например, ), Set-DkimSigningConfig -Identity contoso.com -Enabled $trueчтобы увидеть ключ.

  1. Подключение к Exchange Online PowerShell.

  2. Используйте следующий синтаксис.

    Set-DkimSigningConfig -Identity <Domain> -Enabled $true
    

    <Домен> — это имя личного домена, для которого требуется включить подписывание DKIM.

    В этом примере показано включение подписи DKIM для домена contoso.com:

    Set-DkimSigningConfig -Identity contoso.com -Enabled $true
    

Подтвердить, что подпись DKIM правильно настроена для Microsoft 365

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

  • Отправьте сообщение из учетной записи в домене Microsoft 365 с поддержкой DKIM на другую учетную запись электронной почты, например outlook.com или Hotmail.com.

  • Не используйте для проверки учетную запись aol.com. AOL может пропустить проверку DKIM в случае успешной проверки SPF. Такая проверка будет недействительной.

  • Откройте сообщение и посмотрите на заголовок. Инструкции по просмотру заголовка сообщения зависят от вашего почтового клиента. Инструкции по просмотру заголовков сообщений в Outlook см. в разделе Просмотр заголовков сообщений в Интернете в Outlook.

    Сообщение, подписанное с помощью DKIM, будет содержать имя узла и доменное имя, указанные вами при публикации записей CNAME. Сообщение будет выглядеть примерно так:

      From: Example User <example@contoso.com>
      DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
          s=selector1; d=contoso.com; t=1429912795;
          h=From:To:Message-ID:Subject:MIME-Version:Content-Type;
          bh=<body hash>;
          b=<signed field>;
    
  • Найдите заголовок Authentication-Results. Принимающие службы помечают входящую почту по-разному, но результат должен содержать элемент, подобный DKIM=pass или DKIM=OK.

Важно!

Подпись DKIM опущена при любом из следующих условий:

  • Адреса электронной почты отправителя и получателя находятся в одном домене.
  • Адреса электронной почты отправителя и получателя находятся в разных доменах, контролируемых одной организацией.

В обоих случаях заголовок будет выглядеть примерно так:

  Authentication-Results: dkim=none (message not signed) header.d=none;
    dmarc=none action=none header.from=<sender_domain>;

Чтобы настроить DKIM для нескольких пользовательских доменов

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

Отключение политики подписи DKIM для пользовательского домена

Отключение политики подписывания полностью не отключает DKIM. Через некоторое время Microsoft 365 автоматически применит политику по умолчанию для вашего домена, если политика по умолчанию по-прежнему включена. Если вы хотите полностью отключить DKIM, отключите DKIM как в личных, так и в стандартных доменах. Для получения дополнительной информации см. Поведение по умолчанию для DKIM и Microsoft 365.

Отключение политики подписывания DKIM с помощью Windows PowerShell

  1. Подключение к PowerShell для Exchange Online.

  2. Выполните одну из указанных ниже команд для каждого домена, для которого требуется отключить подпись с помощью DKIM.

    $p = Get-DkimSigningConfig -Identity <Domain>
    $p[0] | Set-DkimSigningConfig -Enabled $false
    

    Пример:

    $p = Get-DkimSigningConfig -Identity contoso.com
    $p[0] | Set-DkimSigningConfig -Enabled $false
    

    или

    Set-DkimSigningConfig -Identity $p[<number>].Identity -Enabled $false
    

    Где number — индекс политики. Например:

    Set-DkimSigningConfig -Identity $p[0].Identity -Enabled $false
    

Поведение по умолчанию для DKIM и Microsoft 365

Если вы не активируете DKIM, Microsoft 365 автоматически создает 2048-битный открытый ключ DKIM для MOERA (Microsoft Online Email Routing Address)/исходного домена и связанный с ним закрытый ключ, который мы храним внутри нашего центра обработки данных. По умолчанию Microsoft 365 использует конфигурацию подписи по умолчанию для доменов, у которых нет политики. Это означает, что если вы не настроите DKIM самостоятельно, Microsoft 365 будет использовать политику по умолчанию и ключи, которые она создает, чтобы включить DKIM для вашего домена.

Кроме того, если вы отключите подпись DKIM в личном домене после включения, через некоторое время Microsoft 365 автоматически применит политику MOERA/исходного домена для вашего личного домена.

В следующем примере предположим, что DKIM для fabrikam.com был включен Microsoft 365, а не администратором домена. Это означает, что в службе DNS нет требуемых записей CNAME. Подписи DKIM для электронной почты из этого домена будут выглядеть следующим образом:

From: Second Example <second.example@fabrikam.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
    s=selector1-fabrikam-com; d=contoso.onmicrosoft.com; t=1429912795;
    h=From:To:Message-ID:Subject:MIME-Version:Content-Type;
    bh=<body hash>;
    b=<signed field>;

В этом примере имя узла и доменное имя содержат значения, на которые указывала бы запись CNAME, если бы администратор домена настроил подпись DKIM для домена fabrikam.com. В конце концов, каждое сообщение, отправленное из Microsoft 365, будет подписано DKIM. Если вы включили DKIM самостоятельно, то домен будет совпадать с доменом, указанным в адресе From: (в этом случае fabrikam.com). В противном случае будет использоваться исходный домен организации. О том, как узнать свой исходный домен, читайте в разделе часто задаваемых вопросов.

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

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

Пример сообщения с правильно настроенными ключами DKIM для доменов contoso.com и bulkemailprovider.com:

Return-Path: <communication@bulkemailprovider.com>
 From: <sender@contoso.com>
 DKIM-Signature: s=s1024; d=contoso.com
 Subject: Here is a message from Bulk Email Provider's infrastructure, but with a DKIM signature authorized by contoso.com

В этом примере для достижения представленного результата:

  1. Поставщик услуг массовой рассылки предоставил компании Contoso открытый ключ DKIM.

  2. Компания Contoso опубликовала ключ DKIM в своей записи DNS.

  3. При отправке сообщения поставщик услуг массовой рассылки подписывает ключ соответствующим закрытым ключом. Таким образом он добавляет подпись DKIM в заголовок сообщения.

  4. Почтовые системы получателей выполняют проверку DKIM путем сравнения значения DKIM-Signature d=<domain> с доменом в поле "От" (5322.From) сообщения. В этом примере значения совпадают:

    sender@contoso.com

    d=contoso.com

Идентификация доменов, с которых не отправляется почта

Организациям следует явно указать, отправляется ли почта с домена, с помощью v=DKIM1; p= в записи DKIM для этих доменов. При этом почтовым серверам получателя сообщается об отсутствии допустимых открытых ключей для этого домена и необходимости отклонить любое сообщение из него. Это нужно сделать для каждого домена и поддомена, использующего DKIM.

Например, запись DKIM может выглядеть следующим образом:

*._domainkey.SubDomainThatShouldntSendMail.contoso.com. TXT "v=DKIM1; p="

Следующие шаги: после настройки DKIM для Microsoft 365

Несмотря на то, что технология DKIM предназначена для предотвращения спуфинга, она работает эффективнее вместе с инфраструктурой политики отправителей и DMARC.

После настройки DKIM настройте инфраструктуру политики отправителей. Краткое введение в SPF и его быструю настройку см. в статье Настройка SPF в Майкрософт 365 для предотвращения спуфингов. Для более глубокого понимания того, как Microsoft 365 использует SPF, или для устранения неполадок или нестандартных развертываний, таких как гибридные развертывания, начните с того, как Microsoft 365 использует Sender Policy Framework (SPF) для предотвращения спуфинга.

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

Этот тест проверяет правильность настройки подписи DKIM и публикацию соответствующих записей DNS.

Примечание.

Для использования этой функции требуется учетная запись администратора Microsoft 365. Эта функция недоступна для Microsoft 365 для государственных учреждений, Microsoft 365, предоставляемого 21Vianet, или Microsoft 365 Germany.

Дополнительные сведения

Ротация ключей с помощью командлета: Rotate-DkimSigningConfig в PowerShell

Использование протокола DMARC для проверки электронной почты

Использование доверенных отправителей ARC для допустимых почтовых потоков