Usar DKIM para validar el correo electrónico saliente enviado desde su dominio personalizado

Importante

El Portal de Microsoft 365 Defender mejorado ya está disponible. Esta nueva experiencia incluye Defender para punto de conexión, Defender para Office 365, Microsoft 365 Defender y más en el portal de Microsoft 365 Defender. Ver las novedades.

Se aplica a

Este artículo muestra los pasos para usar DomainKeys Identified Mail (DKIM) con Microsoft 365 para asegurarse de que los sistemas de correo electrónico de destino confían en los mensajes enviados desde su dominio personalizado.

En este artículo:

Nota

Microsoft 365 configura automáticamente DKIM para sus dominios "onmicrosoft.com" iniciales. Lo que significa que no es necesario realizar ninguna acción para configurar DKIM para un nombre de dominio inicial (por ejemplo, litware.onmicrosoft.com). Para más información sobre los dominios, vea Preguntas más frecuentes de dominios.

DKIM es uno de los tres métodos de autenticación (SPF, KIM y DMARC) que ayudan a evitar que los atacantes envíen mensajes que parecen procedentes de su dominio.

DKIM le permite agregar una firma digital a los mensajes de correo electrónico salientes en el encabezado del mensaje. Suena complicado, pero realmente no lo es. Cuando configura DKIM, autoriza que su dominio pueda asociar su nombre (o firmar) a un mensaje de correo electrónico mediante la autenticación criptográfica. Los sistemas de correo electrónico que reciben correo electrónico desde el dominio pueden usar esta firma digital para ayudar a determinar si el correo entrante que reciben es legítimo.

Básicamente, una clave privada cifra el encabezado en un correo electrónico saliente del dominio. La clave pública se publica en los registros DNS del dominio, y los servidores de recepción pueden usar esa clave para descodificar la firma. La verificación de DKIM ayuda a los servidores de recepción a confirmar que el correo realmente procede de su dominio y no se trata de alguien que está suplantando su dominio.

Sugerencia

También puede elegir no hacer nada relacionado con DKIM para su dominio personalizado. Si no configura DKIM para su dominio personalizado, Microsoft 365 crea un par de claves privadas y públicas que permiten que DKIM firme y configure la directiva predeterminada de Microsoft 365 para su dominio personalizado.

El DKIM integrado de Microsoft 365 es una cobertura suficiente para la mayoría de los clientes. Sin embargo, debería configurar manualmente DKIM para su dominio personalizado en las siguientes circunstancias:

  • Tiene más de un dominio personalizado en Microsoft 365
  • También va a configurar DMARC (recomendado)
  • Quiere tener el control sobre la clave privada
  • Quiere personalizar los registros CNAME
  • Quiere configurar claves de DKIM para los correos electrónicos que se originen en un dominio de terceros, por ejemplo, si usa un troyano de envío masivo de correo electrónico de terceros.

Cómo DKIM funciona mejor que SPF solo para evitar la suplantación de identidad malintencionada

SPF agrega información a un sobre de mensaje, pero DKIM cifra una firma dentro del encabezado del mensaje. Cuando reenvía un mensaje, el servidor de reenvío puede quitar partes del sobre de ese mensaje. Dado que la firma digital permanece con el mensaje de correo electrónico porque forma parte del encabezado de correo electrónico, DKIM funciona incluso cuando se ha reenviado un mensaje, como se muestra en el ejemplo siguiente.

Diagrama que muestra un mensaje reenviado que pasa por la autenticación DKIM, donde se produce un error en la comprobación de SPF.

En este ejemplo, si solo había publicado un registro TXT de SPF en su dominio, el servidor de correo del destinatario podría haber marcado el correo electrónico como correo no deseado y generar un resultado de falso positivo. La adición de DKIM en este escenario reduce los informes de correo no deseado de falso positivo. Debido a que DKIM se basa en la criptografía de clave pública para autenticar y no solo en las direcciones IP, DKIM se considera una forma mucho más segura de autenticación que SPF. Se recomienda usar SPF y DKIM, así como DMARC, en la implementación.

Sugerencia

DKIM usa una clave privada para insertar una firma cifrada en los encabezados del mensaje. El dominio de firma, o dominio de salida, se inserta como el valor del campo d= en el encabezado. A continuación, el dominio de verificación o el dominio del destinatario usa el campo d= para buscar la clave pública de DNS y autenticar el mensaje. Si se verifica el mensaje, se supera la comprobación de DKIM.

Pasos para crear, habilitar y deshabilitar DKIM desde el portal de Microsoft 365 Defender

Todos los dominios aceptados de su espacio empresarial se mostrarán en el portal Microsoft 365 Defender en la página DKIM. Si no lo ve, agregue el dominio aceptado desde la página dominios. Una vez agregado el dominio, siga los pasos que se muestran a continuación para configurar DKIM.

Paso 1: Haga clic en el dominio en el que quiere configurar DKIM en la página de DKIM (https://security.microsoft.com/dkimv2 o https://protection.office.com/dkimv2).

Página DKIM en el portal de Microsoft 365 Defender con un dominio seleccionado.

Paso 2: Haga clic en Crear claves DKIM.

Control flotante de detalles del dominio con el botón Crear claves DKIM.

Paso 3: Copiar los CNAMES que se muestran en la ventana emergente.

Ventana emergente Publicar CNAME que contiene los dos registros CNAME que se van a copiar.

Paso 4: Publicar los registros CNAME copiados en el proveedor de servicios DNS.

En el sitio web del proveedor de DNS, agregue registros CNAME para DKIM que quiera habilitar. Asegúrese de configurar los campos con los siguientes valores para cada uno:

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)

Paso 5: volver a la página DKIM para habilitar DKIM

Deslice el botón de alternancia a Habilitado para habilitar DKIM.

Si ve el error El registro CNAME no existe, es posible que se deba a:

  1. Sincronización con el servidor DNS, que puede tardar de unos segundos a horas, si el problema persiste, repita los pasos de nuevo.
  2. Compruebe si hay errores de copiar y pegar, como espacio adicional o pestañas, etc.

Si desea deshabilitar DKIM, vuelva al modo de deshabilitación.

Pasos para actualizar manualmente las claves de 1024 bits a claves de cifrado DKIM de 2048 bits

Nota

Microsoft 365 configura automáticamente DKIM para los dominios "onmicrosoft.com". No es necesario seguir ningún paso para usar DKIM para los nombres de dominio iniciales (como litware.onmicrosoft.com). Para más información sobre los dominios, vea Preguntas más frecuentes de dominios.

Ya que ambos valores de bits, 1024 y 2048, son compatibles con las claves DKIM, estas instrucciones le indicarán cómo actualizar la clave de 1024 bits a 2048 en Exchange Online PowerShell. Los pasos que se muestran a continuación son dos casos de uso distintos, elija el que mejor se ajuste a su configuración.

  • Cuando ya tenga DKIM configurado, cambie el valor de los bits ejecutando el siguiente comando:

    Rotate-DkimSigningConfig -KeySize 2048 -Identity <DkimSigningConfigIdParameter>
    

    o bien

  • Para una implementación nueva de DKIM, ejecute el siguiente comando:

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

Permanezca conectado a Exchange Online PowerShell para comprobar la configuración ejecutando el comando siguiente:

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

Sugerencia

Esta nueva clave de 2048 bits tendrá efecto en el RotateOnDate y mientras tanto enviará los mensajes de correo electrónico con la clave de 1024 bits. Después de cuatro días, puede volver a probar con la clave de 2048 bits (es decir, cuando la rotación surta efecto al segundo selector).

Si desea girar al segundo selector, después de cuatro días y confirmando que el valor de 2048 bits está en uso, gire manualmente la segunda clave de selector mediante el cmdlet adecuado indicado anteriormente.

Para obtener información detallada sobre la sintaxis y los parámetros, vea los siguientes artículos: Rotate-DkimSigningConfig, New-DkimSigningConfig y Get-DkimSigningConfig.

Pasos que necesita seguir para configurar manualmente DKIM

Para configurar DKIM, deberá completar estos pasos:

Publicar dos registros CNAME para su dominio personalizado en DNS

Para cada dominio para el que quiera agregar una firma DKIM en DNS, necesita publicar dos registros CNAME.

Nota

Si no ha leído el artículo completo, es posible que se haya perdido esta información de conexión de PowerShell para ahorrar tiempo: Conectarse a Exchange Online PowerShell.

Ejecute los siguientes comandos de Exchange Online PowerShell para crear los registros del selector:

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

Si ha aprovisionado dominios personalizados adicionales además del dominio inicial de Microsoft 365, debe publicar dos registros CNAME para cada dominio adicional. Por lo tanto, si tiene dos dominios, debe publicar dos registros CNAME adicionales, y así sucesivamente.

Use el formato siguiente para los registros CNAME.

Importante

Si es uno de nuestros clientes de GCC High, calcularemos customDomainIdentifier de forma diferente. En lugar de buscar el registro MX para su initialDomain para calcular customDomainIdentifier, lo calculamos directamente desde el dominio personalizado. Por ejemplo, si el dominio personalizado es "contoso.com", su customDomainIdentifier se convierte en "contoso-com", los puntos se reemplazan por un guión. Por lo tanto, independientemente del registro MX al que señale su initialDomain, siempre se usará el método anterior para calcular el customDomainIdentifier que se usará en los 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

Donde:

  • Para Microsoft 365, los selectores siempre serán "selector1" o "selector2".

  • El customDomainIdentifier es el mismo que el customDomainIdentifier del registro MX personalizado para su dominio personalizado que aparece antes de mail.protection.outlook.com. Por ejemplo, en el siguiente registro MX para el dominio contoso.com, el customDomainIdentifier es contoso-com:

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

  • initialDomain es el dominio que usó al registrarse para Microsoft 365. Los dominios iniciales siempre terminan en onmicrosoft.com Para obtener información sobre cómo determinar el dominio inicial, vea Preguntas más frecuentes de dominios.

Por ejemplo, si tiene un dominio inicial de cohovineyardandwinery.onmicrosoft.com y dos dominios personalizados cohovineyard.com y cohowinery.com, necesitará configurar dos registros CNAME para cada dominio adicional, un total de cuatro 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

Nota

Es importante crear el segundo registro, pero solo uno de los selectores puede estar disponible en el momento de la creación. En esencia, el segundo selector podría apuntar a una dirección que aún no ha sido creada. Aun así, recomendamos crear el segundo registro CNAME, ya que la rotación de las teclas será perfecta.

Pasos para habilitar la firma DKIM para su dominio personalizado

Una vez que haya publicado los registros CNAME en DNS, está preparado para habilitar la firma DKIM mediante Microsoft 365. Puede hacerlo a través del Centro de administración de Microsoft 365 o mediante PowerShell.

Para habilitar la firma DKIM para el dominio personalizado en el portal de Microsoft 365 Defender

  1. En el portal de Microsoft 365 Defender en https://security.microsoft.com, vaya a Correo electrónico y colaboración > Directivas y reglas > Directivas de amenazas > DKIM en la sección Reglas. Para ir directamente a la página de DKIM, use https://security.microsoft.com/dkimv2.

  2. En la página DKIM, haga clic en el nombre para seleccionar el dominio.

  3. En el control flotante de detalles que aparece, cambie el ajuste Firmar mensajes para este dominio con firmas DKIM a Habilitado (activar).

    Cuando haya terminado, haga clic en Girar claves DKIM.

  4. Repita estos pasos para cada dominio personalizado.

  5. Si va a configurar DKIM por primera vez y ve el error "No hay claves DKIM guardadas para este dominio", tendrá que usar Windows PowerShell para habilitar la firma DKIM, como se explica en el paso siguiente.

Para habilitar la firma DKIM para su dominio personalizado mediante PowerShell

Importante

El error &quot;No hay claves DKIM guardadas para este dominio&quot;. Si va a configurar DKIM por primera vez y ve el error "No hay claves DKIM guardadas para este dominio", complete el comando del paso 2 siguiente (por ejemplo, Set-DkimSigningConfig -Identity contoso.com -Enabled $true) para ver la clave.

  1. Conéctese al PowerShell de Exchange Online.

  2. Utilice la siguiente sintaxis:

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

    <Domain> es el nombre del dominio personalizado para el que quiere habilitar la firma DKIM.

    En este ejemplo se habilita la firma DKIM para el dominio contoso.com:

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

Para confirmar que la firma DKIM está configurada correctamente en Microsoft 365

Espere unos minutos antes de seguir estos pasos para confirmar que ha configurado correctamente DKIM. Esto proporciona tiempo para que la información DKIM acerca del dominio se reparta por toda la red.

  • Envíe un mensaje desde una cuenta dentro de su dominio habilitado para DKIM en Microsoft 365 a otra cuenta de correo electrónico como outlook.com o Hotmail.com.

  • No use una cuenta de aol.com con fines de prueba. AOL puede omitir la comprobación DKIM si se supera la comprobación SPF. Esto anulará la prueba.

  • Abra el mensaje y observe el encabezado. Las instrucciones para ver el encabezado del mensaje variarán según el cliente de mensajería. Para obtener instrucciones acerca de cómo ver los encabezados de los mensajes en Outlook, consulte Ver los encabezados de los mensajes de Internet en Outlook.

    El mensaje con firma DKIM contendrá el nombre de host y el dominio que definió cuando publicó las entradas CNAME. El mensaje tendrá un aspecto similar al de este ejemplo:

      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>;
    
  • Busque el encabezado Authentication-Results. Aunque cada servicio de recepción usa un formato ligeramente diferente para estampar el correo entrante, el resultado debe incluir algo como DKIM=pass o DKIM=OK.

Configuración de DKIM para más de un dominio personalizado

Si en algún momento en el futuro decide agregar otro dominio personalizado y quiere habilitar DKIM para el dominio nuevo, debe completar los pasos de este artículo para cada dominio. En concreto, complete todos los pasos de Lo que necesita hacer para configurar manualmente DKIM.

Deshabilitación de la directiva de firmas DKIM para un dominio personalizado

Deshabilitar la directiva de firmas no deshabilita DKIM completamente. Después de un período de tiempo, Microsoft 365 aplicará automáticamente la directiva predeterminada para el dominio, si la directiva predeterminada sigue en estado habilitado. Si desea deshabilitar completamente DKIM, debe deshabilitar DKIM en los dominios personalizados y predeterminados. Para más información sobre esta firma, consulte Comportamiento predeterminado para DKIM y Microsoft 365.

Para deshabilitar la directiva de firmas DKIM mediante Windows PowerShell

  1. Conéctese al PowerShell de Exchange Online.

  2. Ejecute uno de los siguientes comandos para cada dominio para el que quiera deshabilitar la firma DKIM.

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

    Por ejemplo:

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

    O bien

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

    Donde number es el índice de la directiva. Por ejemplo:

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

Comportamiento predeterminado para DKIM y Microsoft 365

Si no habilita DKIM, Microsoft 365 crea automáticamente una clave pública DKIM de 2048 bits para el dominio de dirección de enrutamiento de correo en Microsoft Online (MOERA)/inicial y la clave privada asociada que se almacena internamente en nuestro centro de datos. De forma predeterminada, Microsoft 365 usa una configuración de firmas predeterminada para los dominios que no tienen una directiva local. Esto significa que si no configura DKIM, Microsoft 365 usará su política predeterminada y se creará la clave para habilitar DKIM para el dominio.

Además, si deshabilita la firma DKIM en el dominio personalizado después de habilitarlo, después de un período de tiempo, Microsoft 365 aplicará automáticamente la directiva de dominio inicial o MOERA para el dominio personalizado.

En el ejemplo siguiente, suponga que Microsoft 365 ha habilitado DKIM para fabrikam.com, no el administrador del dominio. Esto significa que los CNAME necesarios no existen en DNS. Las firmas DKIM para el correo electrónico de este dominio tendrán un aspecto similar al siguiente:

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

En este ejemplo, el nombre de host y el dominio contienen los valores a los que señalaría el registro CNAME si el administrador del dominio hubiera habilitado la firma DKIM para fabrikam.com. Finalmente, todos los mensajes enviados desde Office 365 contendrán una firma DKIM. Si habilita DKIM, el dominio será el mismo que el dominio que figura en la dirección del campo De:, en este caso, fabrikam.com. Si no lo hace, el dominio no se alineará y en su lugar se usará el dominio inicial de la organización. Para obtener información sobre cómo determinar el dominio inicial, vea Preguntas más frecuentes de dominios.

Configurar DKIM para que un servicio de terceros pueda enviar, o suplantar, correo electrónico en nombre de su dominio personalizado

Algunos proveedores de servicio de correo electrónico masivo o proveedores de software como servicio le permiten configurar claves DKIM para el correo electrónico que se origina de su servicio. Esto requiere la coordinación entre el usuario y el servicio de terceros para configurar los registros DNS necesarios. Algunos servidores de terceros pueden tener sus propios registros CNAME con diferentes selectores. No existen dos organizaciones que lo hagan exactamente de la misma manera. En su lugar, el proceso depende completamente de la organización.

Un mensaje de ejemplo que muestra un DKIM configurado correctamente para contoso.com y bulkemailprovider.com puede tener el aspecto siguiente:

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

En este ejemplo, para conseguir este resultado:

  1. El proveedor de correo electrónico masivo le ha proporcionado una clave DKIM pública a Contoso.

  2. Contoso ha publicado la clave DKIM en su registro DNS.

  3. Al enviar el correo electrónico, el proveedor de correo electrónico masivo ha firmado la clave con la clave privada correspondiente. Al hacer esto, el proveedor de correo electrónico masivo ha adjuntado la firma DKIM al encabezado del mensaje.

  4. Los sistemas de correo electrónico receptores realizan una comprobación DKIM mediante la autenticación del valor de dkim-firma d=<domain> en el dominio de la dirección De: (5322.From) del mensaje. En este ejemplo, los valores coinciden:

    sender@contoso.com

    d=contoso.com

Identificar dominios que no envían correos electrónicos

Las organizaciones deben indicar explícitamente si un dominio no envía correos electrónicos especificando v=DKIM1; p= en el registro DKIM de estos dominios. Esto aconseja rechazar la recepción de servidores de correo electrónico que no tengan claves públicas válidas para el dominio y cualquier correo electrónico que declare ser de ese dominio. Debe hacerlo para cada dominio y subdominio mediante un carácter comodín DKIM.

Por ejemplo, el registro DKIM tendría el siguiente aspecto:

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

Pasos siguientes: una vez configurado DKIM para Microsoft 365

Aunque DKIM está diseñado para ayudar a evitar la suplantación de identidad, DKIM funciona mejor con SPF y DMARC.

Una vez que haya configurado DKIM, si aún no ha configurado SPF, debe hacerlo. Para obtener una introducción rápida a SPF y configurarlo rápidamente, consulte Configurar SPF en Microsoft 365 para ayudar a evitar la suplantación de identidad. Para obtener una comprensión más detallada de cómo Microsoft 365 usa SPF, o para solucionar problemas o implementaciones no estándar, como las implementaciones híbridas, comience con Cómo Microsoft 365 usa el marco de directivas de remitente (SPF) para evitar la suplantación de identidad.

A continuación, consulte Usar DMARC para validar el correo electrónico. Los Encabezados de mensajes de correo no deseado incluyen la sintaxis y los campos de encabezado que usa Microsoft 365 para efectuar comprobaciones de DKIM.

Esta prueba validará que la configuración de firma DKIM se ha configurado correctamente y que se han publicado las entradas DNS adecuadas.

Más información

Rotación de clave mediante PowerShell: Rotate-DkimSigningConfig

Usar DMARC para validar el correo electrónico