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

Примечание

Хотите попробовать Microsoft 365 Defender? Узнайте больше о том, как оценить и выполнить пилотное 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 для личного домена. В этом случае Office 365 создаст пару ключей — закрытый и открытый, — включит подпись с помощью DKIM и настроит политику по умолчанию для личного домена Microsoft 365.

Хотя встроенной в Microsoft 365 конфигурации достаточно для большинства клиентов, вы должны вручную настроить DKIM своего пользовательского домена в следующих случаях:

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

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

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

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

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

Совет

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

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

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

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

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

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

Всплывающее меню сведений о домене с кнопкой "Создать ключи DKIM"

Шаг 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 выберите Сообщения электронной почты и совместная работа > Политики и правила > Политики в отношении угроз>DKIM в разделе Правила. Перейдите непосредственно на страницу DKIM по ссылке https://security.microsoft.com/dkimv2.

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

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

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

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

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

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

Важно!

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

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

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

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

    <Domain> — это имя личного домена, для которого требуется включить функцию подписывания с помощью 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 для нескольких пользовательских доменов

Действия, описанные в этой статье, необходимо выполнить для каждого дополнительного личного домена, для которого требуется включить 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 для адреса маршрутизации электронной почты Microsoft Online (MOERA)/исходного домена и соответствующий закрытый ключ. Мы будем хранить эти ключи в нашем центре обработки данных. Для доменов без действующей политики 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 самостоятельно, то домен будет совпадать с доменом, указанным в адресе отправителя (в этом случае 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 настройте инфраструктуру политики отправителей. Краткий обзор инфраструктуры политики отправителей и инструкции по ее быстрой настройке см. в статье Настройка инфраструктуры политики отправителей в Microsoft 365 для предотвращения спуфинга. Дополнительные сведения об использовании инфраструктуры политики отправителей в Microsoft 365, рекомендации по устранению неполадок и инструкции для нестандартных, в том числе гибридных, развертываний см. в статье Как Microsoft 365 использует инфраструктуру политики отправителей (SPF) для предотвращения спуфинга.

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

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

Примечание

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

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

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

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