Como configurar de forma correcta DMARC en DNS para enviar emails desde tu servidor

by Luigi Nori Date: 28-02-2020 dmarc spf server email dkim mx blacklist spam

Para activar la política de autenticación de mensajes, registro y conformidad basado en dominio (DMARC), añade una política DMARC a los registros DNS de tu dominio. Esta política funciona con registros TXT de DNS y determina cómo gestiona tu dominio los correos electrónicos sospechosos.

Siguiendo los pasos de esta guía, es posible establecer un conjunto básico de políticas que permitan la DMARC para un dominio determinado. Sin embargo, el simple hecho de establecer la DMARC en una implementación de prueba es sólo el comienzo del viaje de la DMARC.

Es importante probar la configuración de SPF, DKIM y DMARC para asegurarse de que las políticas definidas funcionen como se pretende y no terminen bloqueando el correo electrónico legítimo. Por eso, empezar con opciones relajadas y de cuarentena es probablemente un buen lugar para empezar.

Los informes de la DMARC y los análisis forenses permiten a una organización entender lo que está pasando con sus dominios de correo electrónico. Mientras que es posible mirar y analizar cada reporte de DMARC para ver lo que está pasando, no es un enfoque que se pueda ampliar.

Según la política DMARC, se puede actuar de tres maneras ante los correos electrónicos:

  • No hacer nada y registrar el mensaje en un informe diario.
  • Marcar el mensaje como spam, y Gmail lo colocará en la carpeta de spam del destinatario.
  • Indicar al servidor que recibe el mensaje que lo rechace, lo que a su vez provoca que SMTP se lo devuelva al remitente.

Cómo establecer un registro DMARC

Ahora que SPF y DKIM han sido establecidos, es hora de establecer finalmente la política de la DMARC. Es posible definir una política de DMARC en un registro del DNS sin configurar primero SPF y DKIM, pero en realidad no seriá capaz de hacer nada y por lo tanto inutil.

Las políticas de la DMARC definen cómo los registros SPF y DKIM deben ser manejados por los servidores de correo electrónico. Un elemento de importancia crítica de la política de la DMARC es que también proporciona un mecanismo de información para que los administradores de los dominios puedan identificar si el correo electrónico está fallando o si un atacante está tratando de falsificar un dominio determinado.

Al igual que el SPF, el DMARC es una simple entrada de una línea en los registros DNS del dominio.

  1. Inicia sesión en el registrador de tu dominio y haz clic en la opción para administrar o configurar los ajustes de DNS
  2. Busca y haz clic en la opción Añadir un nuevo registro y elige un registro TXT.

Aquí hay una muestra de la entrada de DMARC para el dominio de prueba del sitio DMARC:

v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; adkim=r; aspf=r; rf=afrf
  • La opción p tiene tres opciones: none, quarantine, or reject (ninguna, cuarentena o rechazo), para saber cómo debe tratarse el correo electrónico que viola las políticas
  • Las opciones adkim y aspf definen cuán estrictamente deben aplicarse las políticas DKIM y SPF, con la s indicando strict (estricta) y la r indicando relaxed (relajada)
  • La opción RUA proporciona una dirección para los informes de datos agregados, mientras que el RUF proporciona una dirección para los informes forenses
Acciones posibles cuando no se supera la comprobación de DMARC Contenido del registro TXT
No hacer nada con los mensajes que no superen la comprobación de DMARC. Enviar un informe diario a [email protected]. v=DMARC1; p=none; rua=mailto:[email protected]

Colocar el 5 % de los mensajes que no superen la comprobación de DMARC en la carpeta de spam de los destinatarios. Enviar un informe diario a [email protected].

v=DMARC1; p=quarantine; pct=5; rua=mailto:[email protected]

Rechazar el 100 % de los mensajes que no superen la comprobación de DMARC. Enviar un informe diario a dos direcciones: [email protected] y [email protected]

SMTP devuelve al remitente los mensajes que no superan la comprobación.

v=DMARC1; p=reject; rua=mailto:[email protected], mailto:[email protected]

Añadir un registro TXT para activar DMARC

Para activar DMARC, actualiza la configuración de tu dominio con un registro TXT de DNS.

Acerca de los registros TXT

Los registros TXT son registros DNS con información en formato de texto que pueden utilizar fuentes externas a tu dominio. Estos registros se añaden a la configuración del dominio desde el host, no desde la consola de administración de Google.

Añadir un registro TXT de DMARC

Para añadir un registro TXT de DMARC a tu dominio, sigue los pasos que se indican más abajo.

Importante:

  • El dominio que se usa en este artículo es de ejemplo, así que recuerda sustituir solarmora.com por tu dominio. 
  • Sustituye los valores de ejemplo por los de la política DMARC de tu dominio.
  1. Inicia sesión en la consola de administración del proveedor de tu dominio.
  2. Ve a la página en la que actualizas los registros DNS.

    Subdominios: si el host de tu dominio no permite actualizar los registros DNS de subdominios, añade el registro al dominio principal.

  3. Añade un registro DNS en _dmarc. Nombre del registro TXT. En el primer campo, debajo del nombre del host DNS, introduce: _dmarc.solarmora.com Valor del registro TXT. en el segundo campo, introduce los valores que definen tu política DMARC, por ejemplo: v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=90; sp=none

  4. Guarda los cambios.

Valores del registro TXT de DMARC

Nota: Gmail no admite la etiqueta de DMARC ruf, que se usa para enviar informes de errores (forenses).

Nombre de la etiqueta Obligatoria Descripción y valores

v

Obligatoria Versión del protocolo. Debe ser DMARC1.

p

Obligatoria

Define qué hace el dominio con los mensajes sospechosos:

  • none: no hace nada, pero registra los mensajes sospechosos en el informe diario.
  • quarantine: marca los mensajes como spam y los traslada a la carpeta de spam del destinatario
  • reject: indica a los servidores que reciben el mensaje que lo rechacen. Cuando esto ocurre, el servidor que recibe el mensaje debe devolverlo al servidor que lo envía.

pct

Opcional

Define el porcentaje de mensajes sospechosos a los que se aplica la política DMARC. Estos mensajes son los que no superan la comprobación de DMARC.

Debe ser un número entero entre 1 y 100. El valor predeterminado es 100

rua

Opcional

Dirección de correo electrónico donde se reciben los informes de actividad de DMARC de tu dominio. Para recibirlos, puedes utilizar tu propia dirección o crear una.

La dirección de correo electrónico debe incluir la etiqueta mailto: (por ejemplo, mailto:[email protected]).

Para enviar el informe a más de un destinatario, separa las direcciones con comas.

sp

Opcional

Define qué hacer con los mensajes de los subdominios de tu dominio principal. Utiliza esta opción si quieres aplicar una política DMARC diferente en tus subdominios.

  • none: no se hace nada, pero se registran los mensajes sospechosos en el informe diario.
  • quarantine: se marcan los mensajes como spam y se ponen en cuarentena para analizarlos.
  • reject: se indica a los servidores que reciben el mensaje que lo rechacen.
adkim Opcional

Define el modo de alineación de DKIM, que determina el grado de coincidencia que debe haber entre la información del mensaje y las firmas de DKIM.

  • s: estricto. El nombre de dominio del remitente debe coincidir exactamente con el valor de d=name correspondiente de los encabezados de correo de DKIM.
  • r: flexible (predeterminado). Se permiten las coincidencias parciales y se acepta cualquier subdominio válido de d=domain de los encabezados de correo de DKIM.

aspf

Opcional

Define el modo de alineación de SPF (ASPF), que a su vez define el grado de coincidencia que debe haber entre la información del mensaje y las firmas de SPF.

  • s: estricto. El encabezado from: del mensaje debe coincidir exactamente con el valor de domain.name del comando SMTP MAIL FROM.
  • r: flexible (predeterminado). Se permiten las coincidencias parciales y se acepta cualquier subdominio válido de domain.name.

Implementar DMARC gradualmente

Combina las opciones de política (p) y porcentaje (pct) para implementar lenta y gradualmente DMARC en Gmail.

Utiliza la opción de política (p). Aplica y edita esta opción de política utilizando el valor de la etiqueta p del registro TXT. Empieza con una política de cuarentena para poder inspeccionar los mensajes sospechosos. A continuación, modifica gradualmente la política según la información de los mensajes en cuarentena y los informes diarios.

  1. p=none: supervisa el tráfico de correos electrónicos y busca errores en los informes diarios, pero deja que lleguen todos los mensajes. Presta atención a los mensajes falsificados y sin firmar con DKIM o SPF.
  2. p=quarantine: cuando te familiarices con los patrones de correo electrónico de los informes diarios, cambia la política a una de cuarentena. Sigue revisando los informes diarios y consulta los mensajes que se envían a cuarentena como spam.
  3. p=reject: cuando sepas seguro que todos los mensajes de tu dominio están firmados, cambia a esta política para empezar a filtrar mensajes de spam. Sigue revisando los informes diarios para comprobar que estás filtrando el spam y enviando correos electrónicos válidos a los destinatarios.

Utiliza la opción de porcentaje (pct). Esta opción te permite especificar el porcentaje de mensajes sospechosos a los que se aplica la política DMARC. Estos mensajes son los que no superan la comprobación de DMARC. El valor predeterminado es 100 % (todos los mensajes sospechosos). Puedes especificar un porcentaje inferior al principio y luego ir aumentándolo cada pocos días a medida que definas mejor la política DMARC. Por ejemplo, para empezar, puedes introducir el valor 20 como porcentaje para filtrar el 20 % de los mensajes rechazados o en cuarentena. La semana siguiente, puedes cambiar este valor de 20 a 50 para filtrar el 50 % de los mensajes.

Ejemplo de implementación. Aquí tienes un ejemplo de cómo usar las opciones p y pct para implementar gradualmente una política DMARC. Ve modificando la política DMARC con estos valores:

  1. p=none pct=100
  2. p=quarantine pct=1
  3. p=quarantine pct=5
  4. p=quarantine pct=10
  5. p=quarantine pct=25
  6. p=quarantine pct=50
  7. p=quarantine pct=100
  8. p=reject pct=1
  9. p=reject pct=5
  10. p=reject pct=10
  11. p=reject pct=25
  12. p=reject pct=50
  13. p=reject pct=100

Informes diarios de DMARC

Los informes diarios de DMARC están en formato XML y contienen información sobre el flujo de los mensajes de correo electrónico. Con estos informes puedes hacer lo siguiente:

  • Verificar que las fuentes de correo electrónico de salida estén autenticadas.
  • Verificar que los servidores de correo electrónico que envían mensajes desde tu dominio sean legítimos.
  • Consultar si un nuevo servidor está online o si un servidor antiguo tiene problemas de configuración.

Informe de DMARC de ejemplo

A continuación, se incluye parte de un informe que muestra los resultados de dos mensajes enviados desde dos direcciones IP. Uno se ha enviado directamente y el otro se ha reenviado. Ambos mensajes han superado las comprobaciones de DMARC.

  <record>
      <row>
      <source_ip>107.123.144.127</source_ip>
      <count>1</count>
          <policy_evaluated>
          	<disposition>none</disposition>
          </policy_evaluated>
      </row>
      <identities>
      		<header_from>ma-no.com</header_from>
      </identities>
      <auth_results>
          <dkim>
              <domain>ma-no.com</domain>
              <result>pass</result>
              <human_result></human_result>
          </dkim>
          <spf>
              <domain>ma-no.com</domain>
              <result>pass</result>
          </spf>
      </auth_results>
  </record>
  <record>
      <row>
          <source_ip>107.123.144.131</source_ip>
          <count>1</count>
          <policy_evaluated>
          <disposition>none</disposition>
          <reason>
              <type>forwarded</type>
              <comment></comment>
          </reason>
          </policy_evaluated>
      </row>
      <identities>
        <header_from>ma-no.com</header_from>
      </identities>
      <auth_results>
          <dkim>
              <domain>ma-no.com</domain>
              <result>pass</result>
              <human_result></human_result>
          </dkim>
          <spf>
              <domain>ma-no.com</domain>
              <result>pass</result>
          </spf>
      </auth_results>
  </record>
 
by Luigi Nori Date: 28-02-2020 dmarc spf server email dkim mx blacklist spam visitas : 6500  
 
Luigi Nori

Luigi Nori

He has been working on the Internet since 1994 (practically a mummy), specializing in Web technologies makes his customers happy by juggling large scale and high availability applications, php and js frameworks, web design, data exchange, security, e-commerce, database and server administration, ethical hacking. He happily lives with @salvietta150x40, in his (little) free time he tries to tame a little wild dwarf with a passion for stars.

 
 
 

Artículos relacionados

Guia: Como escribir los enlaces mailto en puro HTML

¿Qué es el enlace mailto El enlace Mailto es un tipo de enlace HTML que activa el cliente de correo predeterminado en el ordenador para enviar un correo electrónico. El navegador web…

Como configurar de forma correcta SPF y DKIM en DNS para que los mails de tu servidor no acaben en SPAM

Cómo establecer el Marco de Políticas de Remitentes (SPF) Sobre el registro de SPF Un registro SPF es un tipo de registro de Servicio de Nombres de Dominio (DNS) que identifica qué…

Configurar DNS-over-TLS and DNS-over-HTTPS con un DNS Server cualquiera

Los nuevos protocolos DNS-over-TLS (DoT) y DNS-over-HTTPS (DoH) están disponibles para permitir la privacidad y seguridad del usuario final, dado que la mayoría de los clientes DNS utilizan protocolos UDP…

PHP 7: Las novedades y como afecta a Wordpress

PHP 7, la actualización mas importante y mas deseada para el languaje de desarrollo web lado servidor PHP, está a la vuelta de la esquina. De acuerdo con el calendario…

Como acceder a nuestro localhost desde cualquier lugar

A la hora de desarrollar una web, instalar algun sistema prefabricado o cual sea nuestro caso y necesitaremos mostrarle a otra persona lo que estamos haciendo. Si estamos trabajando con…

Que son y como funcionan los DNS

La mayoría de nosotros estamos muy familiarizados con el DNS osea el Domain Name System. El DNS puede ser pensado como un registro de asistencia de varios sitios web presentes…

Clicky