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 Defender. Obtenga información sobre quién puede registrarse y los términos de prueba aquí.
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:
- Cómo DKIM funciona mejor que SPF solo para evitar la suplantación de identidad malintencionada
- Pasos para crear, habilitar y deshabilitar DKIM desde Microsoft Defender portal
- Pasos para actualizar manualmente las claves de 1024 bits a claves de cifrado DKIM de 2048 bits
- Pasos para configurar manualmente DKIM mediante PowerShell
- Error: No se guardaron claves DKIM para este dominio
- Pasos para configurar DKIM para más de un dominio personalizado
- Deshabilitar la directiva de firmas DKIM para un dominio personalizado
- Comportamiento predeterminado para DKIM y Microsoft 365
- Configurar DKIM para que un servicio de terceros pueda enviar, o suplantar, correo electrónico en nombre de su dominio personalizado
- Pasos siguientes: una vez configurado DKIM para Microsoft 365
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 de DKIM integrada 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.
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 Microsoft Defender portal
Todos los dominios aceptados del inquilino se mostrarán en el portal de Microsoft 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: En la página DKIM, seleccione el dominio que desea configurar.
Paso 2: Haga clic en Crear claves DKIM. Verá una ventana emergente que indica que necesita agregar registros CNAME.
Paso 3: Copiar los CNAMES que se muestran en la ventana emergente.
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
Si ve el error El registro CNAME no existe, es posible que se deba a:
- Sincronización con el servidor DNS, que puede tardar de unos segundos a horas, si el problema persiste, repita los pasos de nuevo.
- 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 para configurar manualmente DKIM mediante PowerShell
Para configurar DKIM, deberá completar estos pasos:
- Publicar dos registros CNAME para su dominio personalizado en DNS
- Habilitar la firma DKIM para su dominio personalizado
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 que ahorra 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 registros CNAME para ambos selectores en el DNS, pero solo se publica un selector (activo) con la clave pública en el momento de la creación. Este comportamiento se espera y no afecta a la firma DKIM para los dominios personalizados. El segundo selector se publicará con la clave pública después de cualquier rotación de clave futura cuando se active.
Pasos para habilitar la firma DKIM para el dominio personalizado mediante PowerShell
Una vez que haya publicado los registros CNAME en DNS, reemplace Dominio> por <el nombre de dominio y, a continuación, ejecute el siguiente comando en Exchange Online PowerShell para habilitar la firma DKIM a través de Microsoft 365:
Set-DkimSigningConfig -Identity <Domain> -Enabled $true
Para obtener información detallada sobre la sintaxis y los parámetros, consulte Set-DkimSigningConfig.
Error: No se guardaron claves DKIM para este dominio
Si va a configurar DKIM por primera vez y ve el error "No se guardaron claves DKIM para este dominio", debe usar Exchange Online PowerShell para habilitar la firma DKIM.
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 obtener información detallada sobre la sintaxis y los parámetros, consulte Set-DkimSigningConfig.
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
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:
El proveedor de correo electrónico masivo le ha proporcionado una clave DKIM pública a Contoso.
Contoso ha publicado la clave DKIM en su registro DNS.
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.
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
Comentarios
Enviar y ver comentarios de