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

Sugerencia

¿Sabía que puede probar las características de Microsoft 365 Defender para Office 365 Plan 2 de forma gratuita? Use la prueba de Defender para Office 365 de 90 días en el centro de pruebas del portal de Microsoft 365 Defender. Obtenga información sobre quién puede registrarse y los términos de prueba aquí.

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. Al configurar DKIM, autoriza a su dominio a asociar, o firmar, su nombre a un mensaje de correo electrónico mediante la autenticación criptográfica. Los sistemas de correo electrónico que reciben correo electrónico de su dominio pueden usar esta firma digital para ayudar a comprobar si el correo electrónico entrante 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 acerca de DKIM para su dominio personalizado. Si usted 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.

la configuración integrada de DKIM de Microsoft-365 es suficiente para la mayoría de los clientes. Sin embargo, debe configurar manualmente DKIM para el 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 del mensaje pero DKIM cifra una firma dentro del encabezado del mensaje. Cuando reenvía un mensaje, el servidor de reenvío puede quitar partes de ese sobre del mensaje. Como la firma digital permanece en el mensaje de correo electrónico porque forma parte del encabezado del correo, DKIM funciona incluso cuando un mensaje se ha reenviado como se muestra en el siguiente ejemplo.

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 falsos positivos . 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 el dominio saliente, se inserta como el valor del campo d= en el encabezado. El dominio de comprobación, o dominio del destinatario, usa entonces el campo =d para buscar la clave pública desde DNS y autenticar el mensaje. Si el mensaje se comprueba, supera la comprobación 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 que desea configurar DKIM en la página 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: Deslice el botón de alternancia a Habilitar. Verá una ventana emergente que indica que necesita agregar registros CNAME.

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

Botón de alternancia 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 EN MX 5 contoso-com.mail.protection.outlook.com

  • initialDomain es el dominio que usó al registrarse en 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 de https://security.microsoft.com, vaya a Email &Directivas de colaboración >& Directivas>De amenazas>Email Configuración de autenticación en la sección >ReglasDKIM. 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 la opción Sign messages for this domain with DKIM signatures (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

Las claves No DKIM guardadas para este error de dominio Si va a configurar DKIM por primera vez y ve el error "No dkim keys saved for this domain" complete el comando en el 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
    

    <Dominio> es el nombre del dominio personalizado para el que desea 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 sobre cómo ver encabezados de mensaje en Outlook, vea Ver encabezados de 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.

Importante

La firma DKIM se omite en cualquiera de las condiciones siguientes:

  • Las direcciones de correo electrónico del remitente y del destinatario están en el mismo dominio.
  • Las direcciones de correo electrónico del remitente y del destinatario se encuentran en dominios diferentes controlados por la misma organización.

En ambos casos, el encabezado tendrá un aspecto similar al siguiente:

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

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, cada mensaje enviado desde Microsoft 365 contendrá una firma DKIM. Si habilita DKIM, el dominio será el mismo que el dominio de la dirección en el 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 de recepción realizan una comprobación DKIM mediante la autenticación del valor d=<dominio> de la firma DKIM contra el dominio del campo De: (5322.From) dirección 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.

Cuando haya configurado DKIM, si todavía no ha configurado SPF, debería hacerlo. Para obtener una introducción rápida a SPF y configurarlo rápidamente, consulte Configuración de SPF en Microsoft 365 para ayudar a evitar la suplantación de identidad. Para comprender en detalle cómo Microsoft 365 usa SPF, o para la solución de problemas o las implementaciones no estándar (por ejemplo, implementaciones híbridas), comience con How Microsoft 365 uses Sender Policy Framework (SPF) to prevent spoofing (Cómo Microsoft 365 usa el marco de directivas permanente [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.

Nota:

Esta función requiere una cuenta de administrador de Microsoft 365. Esta característica no está disponible para Microsoft 365 Gobierno, Microsoft 365 operado por 21Vianet o Microsoft 365 Alemania.

Más información

Rotación de clave mediante PowerShell: Rotate-DkimSigningConfig

Usar DMARC para validar el correo electrónico

Use remitentes ARC de confianza para los flujos de correo legítimos