Usar DKIM para validar el correo electrónico saliente enviado desde su dominio personalizado en Office 365Use DKIM to validate outbound email sent from your custom domain in Office 365

Resumen: Este artículo describe cómo usa DomainKeys Identified Mail (DKIM) con Office 365 para asegurarse de que los sistemas de correo electrónico de destino confían en los mensajes enviados desde su dominio personalizado.Summary: This article describes how you use DomainKeys Identified Mail (DKIM) with Office 365 to ensure that destination email systems trust messages sent from your custom domain.

Debería usar DKIM además de SPF y DMARC para ayudarle a evitar que los suplantadores de identidad envíen mensajes que parece que provienen de su dominio. DKIM le permite agregar una firma digital a los mensajes de correo electrónico en el encabezado del mensaje. Suena complicado, pero realmente no lo es. Cuando configura DKIM, autoriza su dominio para 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 desde el dominio pueden usar esta firma digital para ayudarles a determinar si el correo entrante que reciben es legítimo.You should use DKIM in addition to SPF and DMARC to help prevent spoofers from sending messages that look like they are coming from your domain. DKIM lets you add a digital signature to email messages in the message header. Sounds complicated, but it's really not. When you configure DKIM, you authorize your domain to associate, or sign, its name to an email message by using cryptographic authentication. Email systems that receive email from your domain can use this digital signature to help determine if incoming email that they receive is legitimate.

Básicamente, usa una clave privada para cifrar el encabezado del correo electrónico saliente del dominio. Publica una clave pública en los registros DNS del dominio que los servidores de recepción pueden usar para descodificar la firma. Usan la clave pública para comprobar que los mensajes proceden realmente de usted y no de alguien que está suplantando la identidad del dominio.Basically, you use a private key to encrypt the header in your domain's outgoing email. You publish a public key to your domain's DNS records that receiving servers can then use to decode the signature. They use the public key to verify that the messages are really coming from you and not coming from someone spoofing your domain.

Office 365 configura automáticamente DKIM para dominios iniciales. El dominio inicial es el que crea Office 365 al registrarse con el servicio, por ejemplo, contoso.onmicrosoft.com. No es necesario hacer nada para configurar DKIM para el dominio inicial. Para más información sobre los dominios, vea Preguntas más frecuentes de dominios.Office 365 automatically sets up DKIM for initial domains. The initial domain is the domain that Office 365 created for you when you signed up with the service, for example, contoso.onmicrosoft.com. You don't need to do anything to set up DKIM for your initial domain. For more information about domains, see Domains FAQ.

También puede elegir no hacer nada acerca de DKIM para su dominio personalizado. Si no configura DKIM para su dominio personalizado, Office 365 crea un par de claves privadas y públicas, que permiten que DKIM firme y configure la directiva predeterminada de Office 365 para su dominio personalizado. Aunque esto suponga una cobertura suficiente para la mayoría de los clientes de Office 365, debería configurar manualmente DKIM para su dominio personalizado en las siguientes circunstancias:You can choose to do nothing about DKIM for your custom domain too. If you do not set up DKIM for your custom domain, Office 365 creates a private and public key pair, enables DKIM signing, and then configures the Office 365 default policy for your custom domain. While this is sufficient coverage for most Office 365 customers, you should manually configure DKIM for your custom domain in the following circumstances:

  • Tiene más de un dominio personalizado en Office 365You have more than one custom domain in Office 365

  • También va a configurar DMARC (recomendado)You're going to set up DMARC too (recommended)

  • Quiere tener el control sobre la clave privadaYou want control over your private key

  • Quiere personalizar los registros CNAMEYou want to customize your CNAME records

  • 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.You want to set up DKIM keys for email originating out of a third-party domain, for example, if you use a third-party bulk mailer.

En este artículo:In this article:

Cómo DKIM funciona mejor que SPF solo para evitar la suplantación de identidad malintencionada en Office 365How DKIM works better than SPF alone to prevent malicious spoofing in Office 365

SPF agrega información a un sobre del mensaje pero DKIM cifra realmente 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.SPF adds information to a message envelope but DKIM actually encrypts a signature within the message header. When you forward a message, portions of that message's envelope can be stripped away by the forwarding server. Since the digital signature stays with the email message because it's part of the email header, DKIM works even when a message has been forwarded as shown in the following example.

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.In this example, if you had only published an SPF TXT record for your domain, the recipient's mail server could have marked your email as spam and generated a false positive result. The addition of DKIM in this scenario reduces false positive spam reporting. Because DKIM relies on public key cryptography to authenticate and not just IP addresses, DKIM is considered a much stronger form of authentication than SPF. We recommend using both SPF and DKIM, as well as DMARC in your deployment.

Información esencial: 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.The nitty gritty: DKIM uses a private key to insert an encrypted signature into the message headers. The signing domain, or outbound domain, is inserted as the value of the d= field in the header. The verifying domain, or recipient's domain, then use the d= field to look up the public key from DNS and authenticate the message. If the message is verified, the DKIM check passes.

Lo que necesita hacer para configurar manualmente DKIM en Office 365What you need to do to manually set up DKIM in Office 365

Para configurar DKIM, deberá completar estos pasos:To configure DKIM, you will complete these steps:

Publicar dos registros CNAME para su dominio personalizado en DNSPublish two CNAME records for your custom domain in DNS

Para cada dominio para el que quiera agregar una firma DKIM en DNS, necesita publicar dos registros CNAME. DNS usa un registro CNAME para especificar que el nombre canónico de un dominio es un alias de otro nombre de dominio.For each domain for which you want to add a DKIM signature in DNS, you need to publish two CNAME records. A CNAME record is used by DNS to specify that the canonical name of a domain is an alias for another domain name.

Office 365 realiza la rotación de claves automática mediante los dos registros que establezca. Si ha aprovisionado dominios personalizados adicionales además del dominio inicial de Office 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.Office 365 performs automatic key rotation using the two records that you establish. If you have provisioned custom domains in addition to the initial domain in Office 365, you must publish two CNAME records for each additional domain. So, if you have two domains, you must publish two additional CNAME records, and so on.

Use el siguiente formato para los registros CNAME.Use the following format for the CNAME records.

Importante

Si es uno de nuestros clientes GCC alta, calculamos de manera diferente GuidDominio ! En lugar de buscar el registro MX para su initialDomain calcular GuidDominio, en su lugar se lo calcule directamente desde el dominio personalizado. Por ejemplo, si su dominio personalizado es "contoso.com" su GuidDominio se convierte en "contoso-com", los períodos se reemplazan con un guión. Por lo tanto, independientemente de qué registro MX, los puntos de initialDomain siempre utilizará el método anterior para calcular la GuidDominio para usar en los registros CNAME.If you are one of our GCC High customers, we calculate domainGuid differently! Instead of looking up the MX record for your initialDomain to calculate domainGuid, instead we calculate it directly from the customized domain. For example, if your customized domain is “contoso.com” your domainGuid becomes “contoso-com”, any periods are replaced with a dash. So, regardless of what MX record your initialDomain points to, you’ll always use the above method to calculate the domainGuid to use in your CNAME records.

Host name:          selector1._domainkey
Points to address or value: selector1-<domainGUID>._domainkey.<initialDomain> 
TTL:                3600

Host name:          selector2._domainkey
Points to address or value: selector2-<domainGUID>._domainkey.<initialDomain> 
TTL:                3600

Donde:Where:

  • Para Office 365, los selectores siempre serán "selector1" o "selector2".For Office 365, the selectors will always be "selector1" or "selector2".

  • GuidDominio es el mismo que el GuidDominio en el 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 GuidDominio es contoso-com:domainGUID is the same as the domainGUID in the customized MX record for your custom domain that appears before mail.protection.outlook.com. For example, in the following MX record for the domain contoso.com, the domainGUID is contoso-com:

    contoso.com.  3600  IN  MX   5 contoso-com.mail.protection.outlook.com
    
  • initialDomain es el dominio que utiliza cuando se suscribió para Office 365. Dominios iniciales siempre finalizan en onmicrosoft.com. Para obtener información acerca de cómo determinar su dominio inicial, consulte Preguntas más frecuentes de dominios.initialDomain is the domain that you used when you signed up for Office 365. Initial domains always end in onmicrosoft.com. For information about determining your initial domain, see Domains FAQ.

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.For example, if you have an initial domain of cohovineyardandwinery.onmicrosoft.com, and two custom domains cohovineyard.com and cohowinery.com, you would need to set up two CNAME records for each additional domain, for a total of four CNAME records.

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

Habilitar la firma DKIM para su dominio personalizado en Office 365Enable DKIM signing for your custom domain in Office 365

Una vez que haya publicado los registros CNAME en DNS, está preparado para habilitar la firma DKIM mediante Office 365. Puede hacerlo a través del Centro de administración de Office 365 o mediante PowerShell.Once you have published the CNAME records in DNS, you are ready to enable DKIM signing through Office 365. You can do this either through the Office 365 admin center or by using PowerShell.

Para habilitar la firma DKIM para su dominio personalizado a través del Centro de administración de Office 365To enable DKIM signing for your custom domain through the Office 365 admin center

  1. Inicie sesión en Office 365 con su cuenta profesional o educativa.Sign in to Office 365 with your work or school account.

  2. Seleccione el icono del iniciador de aplicaciones en la esquina superior izquierda y elija Administración.Select the app launcher icon in the upper-left and choose Admin.

  3. En el panel de navegación inferior izquierdo, expanda Administración y elija Exchange.In the lower-left navigation, expand Admin and choose Exchange.

  4. Vaya a Protección > dkim.Go to Protection > dkim.

  5. Seleccione el dominio para el que quiere habilitar DKIM y, después, en Firmar los mensajes de este dominio con firmas DKIM, elija Habilitar. Repita este paso para cada dominio personalizado.Select the domain for which you want to enable DKIM and then, for Sign messages for this domain with DKIM signatures, choose Enable. Repeat this step for each custom domain.

Para habilitar la firma DKIM para su dominio personalizado mediante PowerShellTo enable DKIM signing for your custom domain by using PowerShell

  1. Conexión a PowerShell de Exchange Online.Connect to Exchange Online PowerShell.

  2. Ejecute el comando siguiente:Run the following command:

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

    Donde dominio es el nombre del dominio personalizado que desea habilitar la firma para de DKIM.Where domain is the name of the custom domain that you want to enable DKIM signing for.

    Por ejemplo, para el dominio contoso.com:For example, for the domain contoso.com:

    New-DkimSigningConfig -DomainName contoso.com -Enabled $true
    

Para confirmar que la firma DKIM está configurada correctamente en Office 365To Confirm DKIM signing is configured properly for Office 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.Wait a few minutes before you follow these steps to confirm that you have properly configured DKIM. This allows time for the DKIM information about the domain to be spread throughout the network.

  • Envíe un mensaje desde una cuenta dentro de su dominio habilitado para DKIM en Office 365 a otra cuenta de correo electrónico como outlook.com o Hotmail.com.Send a message from an account within your Office 365 DKIM-enabled domain to another email account such as outlook.com or 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.Do not use an aol.com account for testing purposes. AOL may skip the DKIM check if the SPF check passes. This will nullify your test.

  • 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 encabezados de mensajes de correo electrónico.Open the message and look at the header. Instructions for viewing the header for the message will vary depending on your messaging client. For instructions on viewing message headers in Outlook, see View e-mail message headers.

    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:The DKIM-signed message will contain the host name and domain you defined when you published the CNAME entries. The message will look something like this example:

    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.Look for the Authentication-Results header. While each receiving service uses a slightly different format to stamp the incoming mail, the result should include something like DKIM=pass or DKIM=OK.

Configurar DKIM para más de un dominio personalizado en Office 365To configure DKIM for more than one custom domain in Office 365

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 en Office 365.If at some point in the future you decide to add another custom domain and you want to enable DKIM for the new domain, you must complete the steps in this article for each domain. Specifically, complete all steps in What you need to do to manually set up DKIM in Office 365.

Deshabilitar la directiva de firmas DKIM para un dominio personalizado en Office 365Disabling the DKIM signing policy for a custom domain in Office 365

Deshabilitar la directiva de firmas no deshabilita DKIM completamente. Después de un período de tiempo, Office 365 aplicará automáticamente la directiva de Office 365 predeterminada para el dominio. Para obtener más información, consulte Comportamiento predeterminado para DKIM y Office 365.Disabling the signing policy does not completely disable DKIM. After a period of time, Office 365 will automatically apply the default Office 365 policy for your domain. For more information, see Default behavior for DKIM and Office 365.

Para deshabilitar la directiva de firmas DKIM mediante Windows PowerShellTo disable the DKIM signing policy by using Windows PowerShell

  1. Conexión a PowerShell de Exchange Online.Connect to Exchange Online PowerShell.

  2. Ejecute uno de los siguientes comandos para cada dominio para el que quiera deshabilitar la firma DKIM.Run one of the following commands for each domain for which you want to disable DKIM signing.

    $p=Get-DkimSigningConfig -identity <domain>
    $p[0] | set-DkimSigningConfig -enabled $false
    

    Por ejemplo:For example:

    $p=Get-DkimSigningConfig -identity contoso.com
    $p[0] | set-DkimSigningConfig -enabled $false
    

    O bienOr

    Set-DkimSigningConfig -identity $p[<number>].identity -enabled $false
    

    Donde number es el índice de la directiva. Por ejemplo:Where number is the index of the policy. For example:

    Set-DkimSigningConfig -identity $p[0].identity -enabled $false
    

Comportamiento predeterminado para DKIM y Office 365Default behavior for DKIM and Office 365

Si no habilita DKIM, Office 365 crea automáticamente una clave pública DKIM de 1024 bits para su dominio personalizado y la clave privada asociada que se almacena internamente en nuestro centro de datos. De forma predeterminada, Office 365 usa una configuración de firmas predeterminada para los dominios que no tienen una directiva local. Esto significa que si no configura DKIM, Office 365 usará su política predeterminada y se creará la clave para habilitar DKIM para el dominio.If you do not enable DKIM, Office 365 automatically creates a 1024-bit DKIM public key for your custom domain and the associated private key which we store internally in our datacenter. By default, Office 365 uses a default signing configuration for domains that do not have a policy in place. This means that if you do not set up DKIM yourself, Office 365 will use its default policy and keys it creates in order to enable DKIM for your domain.

Además, si deshabilita la firma DKIM después de habilitarla, después de un período de tiempo, Office 365 aplicará automáticamente la directiva predeterminada de Office 365 para el dominio.Also, if you disable DKIM signing after enabling it, after a period of time, Office 365 will automatically apply the Office 365 default policy for your domain.

En el ejemplo siguiente, suponga que Office 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:In the following example, suppose that DKIM for fabrikam.com was enabled by Office 365, not by the administrator of the domain. This means that the required CNAMEs do not exist in DNS. DKIM signatures for email from this domain will look something like this:

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.In this example, the host name and domain contain the values to which the CNAME would point if DKIM-signing for fabrikam.com had been enabled by the domain administrator. Eventually, every single message sent from Office 365 will be DKIM-signed. If you enable DKIM yourself, the domain will be the same as the domain in the From: address, in this case fabrikam.com. If you don't, it will not align and instead will use your organization's initial domain. For information about determining your initial domain, see Domains FAQ.

Configurar DKIM para que un servicio de terceros pueda enviar, o suplantar, correo electrónico en nombre de su dominio personalizadoSet up DKIM so that a third-party service can send, or spoof, email on behalf of your custom domain

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. No existen dos organizaciones que lo hagan exactamente de la misma manera. En su lugar, el proceso depende completamente de la organización.Some bulk email service providers, or software-as-a-service providers, let you set up DKIM keys for email that originates from their service. This requires coordination between yourself and the third-party in order to set up the necessary DNS records. No two organizations do it exactly the same way. Instead, the process depends entirely on the organization.

Un mensaje de ejemplo que muestra un DKIM configurado correctamente para contoso.com y bulkemailprovider.com puede tener el aspecto siguiente:An example message showing a properly configured DKIM for contoso.com and bulkemailprovider.com might look like this:

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:In this example, in order to achieve this result:

  1. El proveedor de correo electrónico masivo le ha proporcionado una clave DKIM pública a Contoso.Bulk Email Provider gave Contoso a public DKIM key.

  2. Contoso ha publicado la clave DKIM en su registro DNS.Contoso published the DKIM key to its DNS record.

  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.When sending email, Bulk Email Provider signs the key with the corresponding private key. By doing so, Bulk Email Provider attached the DKIM signature to the message header.

  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:Receiving email systems perform a DKIM check by authenticating the DKIM-Signature d=<domain> value against the domain in the From: (5322.From) address of the message. In this example, the values match:

    remitente @contoso.comsender@contoso.com

    d. =contoso.comd=contoso.com

Pasos siguientes: una vez configurado DKIM para Office 365Next steps: After you set up DKIM for Office 365

Aunque DKIM está diseñado para ayudar a evitar la suplantación, DKIM funciona mejor con SPF y DMARC. Una vez haya configurado DKIM, si no ya configuró SPF, debe hacerlo. Para obtener una introducción rápida a SPF y para obtenerlo configurado rápidamente, vea Set up SPF en Office 365 para ayudar a evitar la suplantación de identidad. Para obtener una descripción más detallada de cómo Office 365 usa SPF, o para las implementaciones de solución de problemas o no estándar, como las implementaciones híbridas, empiece con cómo Office 365 usa el marco de directivas de remitentes (SPF) para evitar la suplantación de identidad. A continuación, vea Usar DMARC para validar el correo electrónico en Office 365. Encabezados de mensajes de correo no deseado incluye los campos de la sintaxis y encabezado utilizados por Office 365 para comprobaciones de DKIM.Although DKIM is designed to help prevent spoofing, DKIM works better with SPF and DMARC. Once you have set up DKIM, if you have not already set up SPF you should do so. For a quick introduction to SPF and to get it configured quickly, see Set up SPF in Office 365 to help prevent spoofing. For a more in-depth understanding of how Office 365 uses SPF, or for troubleshooting or non-standard deployments such as hybrid deployments, start with How Office 365 uses Sender Policy Framework (SPF) to prevent spoofing. Next, see Use DMARC to validate email in Office 365. Anti-spam message headers includes the syntax and header fields used by Office 365 for DKIM checks.