Usar o DKIM para validar emails enviados de seu domínio personalizado

Dica

Você sabia que pode experimentar os recursos no Microsoft 365 Defender para Office 365 Plano 2 gratuitamente? Use a avaliação de Defender para Office 365 de 90 dias no hub de avaliações do portal Microsoft Defender. Saiba mais sobre quem pode inscrever e testar termos aqui.

Este artigo lista as etapas de uso do DKIM (DomainKeys Identified Mail) com o Microsoft 365 para garantir que os sistemas de email de destino confiem em mensagens enviadas de seu domínio personalizado.

Neste artigo:

Observação

O Microsoft 365 configura automaticamente o DKIM para domínios iniciais de “onmicrosoft.com”. Isso significa que não é preciso fazer nada para configurar o DKIM para qualquer nome de domínio inicial (por exemplo, litware.onmicrosoft.com). Para saber mais sobre domínios, confira Perguntas frequentes sobre domínios.

DKIM é um dos três métodos de autenticação (SPF, DKIM e DMARC) que ajudam a evitar que os invasores enviem mensagens que parecem vir de seu domínio.

O DKIM possibilita adicionar uma assinatura digital no cabeçalho de mensagens de email enviadas. Quando você configura o DKIM, autoriza seu domínio a associar ou assinar seu nome a uma mensagem de email usando a autenticação de criptografia. Os sistemas de email que recebem emails do seu domínio podem usar essa assinatura digital para ajudar a verificar se o email de entrada é legítimo.

No básico, uma chave privada criptografa o cabeçalho no email de saída de um domínio. A chave pública é publicada nos registros DNS do domínio, e os servidores de recebimento podem usar essa chave para decodificar a assinatura. A verificação DKIM ajuda os servidores de recebimento a confirmar se o correio está realmente vindo de seu domínio e não de alguém falsificando o domínio.

Dica

Você também pode optar por não fazer nada sobre o DKIM em relação ao seu domínio personalizado. Se o DKIM não for configurado para o seu domínio personalizado, o Microsoft 365 criará um par de chaves privada e pública, habilitará a assinatura do DKIM e configurará a política padrão do Microsoft 365 para o seu domínio personalizado.

A configuração de DKIM interna do Microsoft-365 é cobertura suficiente para a maioria dos clientes. No entanto, você deve configurar manualmente o DKIM para seu domínio personalizado nas seguintes circunstâncias:

  • Você tem mais de um domínio personalizado no Microsoft 365
  • Você também vai configurar o DMARC (recomendado)
  • Quiser ter controle sobre sua chave privada
  • Quiser personalizar seus registros CNAME
  • Configure as chaves do DKIM para emails provenientes de um domínio de terceiros, por exemplo, se você usar um programa de email em massa terceirizado.

Como o DKIM funciona melhor do que o SPF para evitar a falsificação maliciosa

O SPF adiciona informações a um envelope de mensagem, mas o DKIM criptografa uma assinatura no cabeçalho da mensagem. Ao encaminhar uma mensagem, partes de seu envelope podem ser removidas pelo servidor de encaminhamento. Como a assinatura digital permanece com a mensagem de email porque faz parte do cabeçalho do email, o DKIM funciona mesmo quando uma mensagem é encaminhada conforme mostrado no exemplo a seguir.

Diagrama mostrando uma mensagem encaminhada passando pela autenticação DKIM onde a verificação de SPF falha.

Neste exemplo, se você tivesse apenas publicado um registro TXT SPF do seu domínio, o servidor de email do destinatário poderia ter marcado seu email como spam e gerado um resultado positivo falso. A adição de DKIM nesse cenário reduz o relatório de spam falso positivo . Como o DKIM depende de criptografia de chave pública para autenticar, e não apenas de endereços IP, é considerado uma forma muito mais forte de autenticação que o SPF. Recomendamos usar o SPF e o DKIM, bem como o DMARC, em sua implantação.

Dica

O DKIM usa uma chave privada para inserir uma assinatura criptografada nos cabeçalhos de mensagens. A domínio que assina, ou domínio de saída, é inserido como o valor do campo d= no cabeçalho. O domínio que verifica, ou o domínio do destinatário, usa esse campo d= para procurar a chave pública no DNS e autenticar a mensagem. Se a mensagem for verificada, a verificação do DKIM passará.

Etapas para criar, habilitar e desabilitar o DKIM do portal Microsoft Defender

Todos os domínios aceitos do locatário serão mostrados no portal Microsoft Defender na página DKIM. Se você não o vir, adicione seu domínio aceito a partir da página de domínios. Depois que seu domínio for adicionado, siga as etapas conforme mostrado abaixo para configurar o DKIM.

Etapa 1: Na página DKIM, selecione o domínio que você deseja configurar.

A página DKIM no portal Microsoft Defender com um domínio selecionado

Etapa 2: clique em Criar chaves DKIM. Você verá uma janela pop-up informando que precisa adicionar registros CNAME.

Os Detalhes do domínio voam com o botão Criar chaves DKIM

Etapa 3: Copie os CNAMES exibidos na janela de pop-up

Publique a janela pop-up CNAMEs que contém os dois registros CNAME para serem copiados

Etapa 4: Publique os registros CNAME copiados para seu provedor de serviços de DNS.

No site do seu provedor de DNS, adicione registros CNAME para o DKIM que você deseja habilitar. Verifique se os campos estejam definidos para os seguintes valores para cada:

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)

Etapa 5: retorne à página do DKIM para habilitar o DKIM.

A alternância para habilitar o DKIM

Se você vir que o registro CNAME não possui erro, isso pode ser devido a:

  1. A sincronização com o servidor DNS, que pode levar de alguns segundos a horas, se o problema persistir, repita novamente as etapas
  2. Verifique se há erros ao copiar e colar, como espaço ou guias adicionais, etc.

Se você quiser desabilitar o DKIM, alterne de volta para o modo de desabilitar.

Etapas para atualizar manualmente suas chaves de 1024 bits para chaves de criptografia DKIM de 2048 bits

Observação

O Microsoft 365 configura automaticamente o DKIM para domínios onmicrosoft.com. Nenhuma etapa é necessária para usar o DKIM para qualquer nome de domínio inicial (como litware. onmicrosoft.com). Para saber mais sobre domínios, confira Perguntas frequentes sobre domínios.

Já que tanto o número de bits 1024 e o 2048 têm suporte para chaves DKIM, estas instruções mostrarão como atualizar sua chave de 1024 para 2048 bits em Exchange Online PowerShell. As etapas abaixo são para dois casos de uso, favor escolher o que melhor se encaixa em sua configuração.

  • Se você já tiver configurado o DKIM, altere a configuração de bits executando o seguinte comando:

    Rotate-DkimSigningConfig -KeySize 2048 -Identity <DkimSigningConfigIdParameter>
    

    ou

  • Para uma nova implementação de DKIM, execute o seguinte comando:

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

Mantenha-se conectado ao Exchange Online PowerShell para verificar a configuração executando o seguinte comando:

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

Dica

Essa nova chave de 2048 bits entra em vigor no RotateOnDate e enviará emails com a chave 1024 bits provisoriamente. Após quatro dias, você poderá testar novamente com a chave de 2048 bits (ou seja, quando a rotação entrar em vigor no segundo seletor).

Se você quiser girar para o segundo seletor, após quatro dias e confirmar que a 2048-bitsness está em uso, gire manualmente a segunda chave do seletor usando o cmdlet apropriado listado acima.

Para informações detalhadas de sintaxe e parâmetro, confira os seguintes artigos: Rotate-DkimSigningConfig, New-DkimSigningConfig, e Get-DkimSigningConfig.

Etapas para configurar manualmente o DKIM usando o PowerShell

Para configurar o DKIM, execute estas etapas:

Publicar dois registros CNAME para o seu domínio personalizado no DNS

Para cada domínio para o qual você deseja adicionar uma assinatura de DKIM no DNS, é preciso publicar dois registros CNAME.

Observação

Se você ainda não leu o artigo completo, talvez tenha perdido estas informações de conexão do PowerShell que economizam tempo: conectar-se ao Exchange Online PowerShell.

Execute os seguintes comandos no Exchange Online PowerShell para criar os registros do seletor:

New-DkimSigningConfig -DomainName <domain> -Enabled $false

Get-DkimSigningConfig -Identity <domain> | Format-List Selector1CNAME, Selector2CNAME

Se provisionou domínios personalizados além do domínio inicial no Microsoft 365, é necessário publicar dois registros CNAME para cada domínio adicional. Portanto, se tem dois domínios, deve publicar dois registros CNAME no total, e assim por diante.

Use o seguinte formato para os registros CNAME.

Importante

Se você for um dos nossos clientes GCC High, calcularemos customDomainIdentifier diferente! Em vez de pesquisar o registro MX para seu initialDomain para calcular customDomainIdentifier, em vez disso, calculamos isso diretamente do domínio personalizado. Por exemplo, se o domínio personalizado for "contoso.com" seu customDomainIdentifier se tornará "contoso-com", todos os pontos serão substituídos por um traço. Portanto, independentemente de qual MX grave seu initialDomain aponta, você sempre usará o método acima para calcular o customDomainIdentifier para usar em seus registros 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

Onde:

  • Para o Microsoft 365, os seletores sempre serão "seletor1" ou "seletor2".

  • customDomainIdentifier é o mesmo que o customDomainIdentifier no registro MX personalizado para seu domínio personalizado que aparece antes de mail.protection.outlook.com. Por exemplo, no seguinte registro MX para o domínio contoso.com, o customDomainIdentifier é contoso-com:

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

  • O initialDomain foi o domínio usado quando se inscreveu no Microsoft 365. Os domínios iniciais sempre terminam em onmicrosoft.com. Para saber mais sobre como determinar seu domínio inicial, confira Perguntas frequentes sobre domínios.

Por exemplo, se você tiver o domínio inicial cohovineyardandwinery.onmicrosoft.com e dois domínios personalizados, cohovineyard.com e cohowinery.com, precisará configurar dois registros CNAME para cada domínio adicional, totalizando quatro registros 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

Observação

É importante criar registros CNAME para ambos os seletores no DNS, mas apenas um seletor (ativo) é publicado com a chave pública no momento da criação. Esse comportamento é esperado e não afeta a assinatura de DKIM para seus domínios personalizados. O segundo seletor será publicado com a chave pública após qualquer rotação de chave futura quando ele se tornar ativo.

Etapas para habilitar a assinatura de DKIM para seu domínio personalizado usando o PowerShell

Depois de publicar os registros CNAME no DNS, substitua <Domínio> pelo nome de domínio e execute o seguinte comando no Exchange Online PowerShell para habilitar a assinatura do DKIM por meio do Microsoft 365:

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

Para obter informações detalhadas sobre sintaxe e parâmetro, consulte Set-DkimSigningConfig.

Erro: nenhuma chave DKIM salva para este domínio

Se você estiver configurando o DKIM pela primeira vez e vir o erro "Nenhuma tecla DKIM salva para esse domínio", precisará usar Exchange Online PowerShell para habilitar a assinatura do DKIM.

As chaves No DKIM salvas para este erro de domínio.

  1. Conectar-se ao Exchange Online PowerShell.

  2. Use a seguinte sintaxe:

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

    <Domínio> é o nome do domínio personalizado para o qual você deseja habilitar a assinatura do DKIM.

    Este exemplo habilita a mensagem DKIM de assinatura para o domínio contoso.com:

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

Para obter informações detalhadas sobre sintaxe e parâmetro, consulte Set-DkimSigningConfig.

Para confirmar que a assinatura de DKIM está configurada adequadamente no Microsoft 365

Aguarde alguns minutos antes de prosseguir com essas etapas para confirmar que você configurou o DKIM corretamente. Isso permite que as informações do DKIM sobre o domínio sejam distribuídas por toda a rede.

  • Envie uma mensagem de uma conta do seu domínio do Microsoft 365 habilitado com DKIM para outra conta de email, como outlook.com ou Hotmail.com.

  • Não use uma conta aol.com para fins de teste. A AOL pode ignorar a verificação de DKIM se a verificação de SPF passar. Isso anula o teste.

  • Abra a mensagem e examine o cabeçalho. Instruções para exibir o cabeçalho da mensagem variam dependendo do seu cliente de mensagens. Para obter instruções sobre como exibir cabeçalhos de mensagens no Outlook, consulte Exibir cabeçalhos de mensagens na Internet no Outlook.

    A mensagem assinada com DKIM conterá o nome do host e o domínio definidos quando você publicou as entradas CNAME. A mensagem terá uma aparência similar à do exemplo:

      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>;
    
  • Procure pelo cabeçalho Authentication-Results. Embora cada serviço receptor use um formato ligeiramente diferente para carimbar as mensagens recebidas, o resultado deve incluir algo parecido com DKIM=pass ou DKIM=OK.

Importante

A assinatura DKIM é omitida em qualquer uma das seguintes condições:

  • Os endereços de email do remetente e do destinatário estão no mesmo domínio.
  • Os endereços de email do remetente e do destinatário estão em domínios diferentes controlados pela mesma organização.

Em ambos os casos, o cabeçalho será semelhante a este:

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

Para configurar o DKIM em mais de um domínio personalizado

Se em algum momento no futuro você decidir adicionar outro domínio personalizado e quiser habilitar o DKIM para o novo domínio, deve executar as etapas deste artigo para cada domínio. Especificamente, execute todas as etapas em O que é necessário fazer para configurar manualmente o DKIM.

Desabilitar a política de assinatura do DKIM para um domínio personalizado

Desabilitar a política de assinatura não desabilita completamente o DKIM. Após um período de tempo, Microsoft 365 aplicará automaticamente a política padrão para seu domínio, se a política padrão ainda estiver no estado habilitado. Se você quiser desabilitar completamente o DKIM, será necessário desabilitar o DKIM nos domínios personalizado e padrão. Para saber mais, confira Comportamento padrão do DKIM e do Microsoft 365.

Para desabilitar a política de assinatura do DKIM usando o Windows PowerShell

  1. Conectar-se ao Exchange Online PowerShell.

  2. Execute um dos seguintes comandos para cada domínio para o qual você deseja desabilitar a assinatura de DKIM.

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

    Por exemplo:

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

    Ou

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

    Em que o número é o índice da política. Por exemplo:

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

Comportamento padrão do DKIM e do Microsoft 365

Se você não habilitar o DKIM, o Microsoft 365 criará automaticamente uma chave pública DKIM de 2048 bits para o domínio inicial do MOERA (Endereço de Roteamento de Email Online) da Microsoft e a chave privada associada que armazenamos internamente em nosso datacenter. Por padrão, o Microsoft 365 usa uma configuração de assinatura padrão para domínios que não tem uma política aplicada. Isso significa que se você não configurar o DKIM, o Microsoft 365 usará a política e as chaves padrão que ele cria para habilitar o DKIM em seu domínio.

Além disso, se você desabilitar a assinatura DKIM em seu domínio personalizado depois de habilitá-lo, após um período de tempo, o Microsoft 365 aplicará automaticamente a política de domínio MOERA/inicial para seu domínio personalizado.

No exemplo a seguir, suponha que o DKIM de fabrikam.com foi habilitado pelo Microsoft 365, não pelo administrador do domínio. Isso significa que os CNAMEs necessários não existem no DNS. Assinaturas DKIM para email deste domínio terão uma aparência similar a esta:

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>;

Neste exemplo, o nome de host e o domínio contêm os valores para os quais o CNAME apontaria se a assinatura de DKIM para fabrikam.com tivesse sido ativada pelo administrador do domínio. Eventualmente, cada mensagem enviada do Microsoft 365 será assinada com DKIM. Se você mesmo habilitar o DKIM, o domínio será o mesmo que o do campo de endereço From:, neste caso fabrikam.com. Caso contrário, os domínios não corresponderão entre si e, em vez disso, será usado o domínio inicial da sua organização. Para saber mais sobre como determinar seu domínio inicial, confira Perguntas frequentes sobre domínios.

Configurar o DKIM de forma que um serviço terceirizado possa enviar, ou fazer falsificar, emails em nome de seu domínio personalizado

Alguns provedores de serviço de email em massa, ou provedores de software como serviço, permitem que você configure as chaves DKIM para o email originado de seu serviço. Isso requer coordenação entre você e o terceiro para configurar os registros DNS necessários. Alguns servidores de terceiros podem ter seus próprios registros CNAME com seletores diferentes. Não há duas organizações que fazem isso exatamente da mesma maneira. Em vez disso, o processo depende totalmente da organização.

Um exemplo de mensagem mostrando um DKIM configurado adequadamente para contoso.com e bulkemailprovider.com pode parecer com este:

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

Neste exemplo, para obter este resultado:

  1. O provedor de email em massa deu à Contoso uma chave pública de DKIM.

  2. A Contoso publicou a chave de DKIM em seu registro DNS.

  3. Ao enviar emails, o Provedor de Email em Massa assina a chave com a chave privada correspondente. Ao fazer isso, o Provedor de Email em Massa anexa a assinatura DKIM ao cabeçalho da mensagem.

  4. Sistemas de recebimento de email executam uma verificação de DKIM autenticando o valor DKIM-Signature d=<domínio> em relação ao domínio no campo de endereço From: (5322.From) da mensagem. Neste exemplo, os valores são correspondentes:

    remetente@contoso.com

    d=contoso.com

Identificar domínios que não enviam email

As organizações devem declarar explicitamente se um domínio não envia email especificando v=DKIM1; p=estes domínios no registro DKIM. Isto sugere aos servidores receptores de email que não há chaves públicas válidas para o domínio, e que qualquer email que declara ser desse domínio deve ser rejeitada. Você deve fazer isto para cada domínio e subdomínio usando um DKIM curinga.

Por exemplo, o registro DKIM ficaria assim:

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

Próximas etapas: depois de configurar o DKIM no Microsoft 365

Embora o DKIM tenha sido projetado para ajudar a evitar a falsificação, ele funciona melhor com SPF e DMARC.

Depois que você configurar o DKIM, se já não tiver configurado o SPF, deve fazê-lo. Para obter uma introdução rápida ao SPF e configurá-lo rapidamente, consulte Configurar o SPF no Microsoft 365 para ajudar a evitar falsificações. Para compreender melhor como o Microsoft 365 usa a SPF, para solucionar problemas ou para implantações fora do padrão, como as implantações híbridas, comece com Como o Microsoft 365 usa a estrutura de política do remetente (SPF) para evitar a falsificação.

A seguir, consulte Use DMARC para validar email. Cabeçalhos de mensagem antispam inclui a sintaxe e os campos de cabeçalho usados pelo Microsoft 365 para verificações de DKIM.

Este teste irá validar se a configuração da assinatura DKIM foi configurada corretamente e se as entradas DNS adequadas foram publicadas.

Observação

Esse recurso requer uma conta de administrador do Microsoft 365. Esse recurso não está disponível para o Microsoft 365 Government, Microsoft 365 operado pela 21Vianet ou Microsoft 365 Alemanha.

Mais informações

Rotação de chaves pelo PowerShell: rotate-DkimSigningConfig

Usar DMARC para validar emails

Configurar selos ARC confiáveis