¿Qué es un registro DNS DMARC?

DMARC es una parte importante de la seguridad de correos electrónicos. Las políticas de DMARC se almacenan en los registros TXT de DNS.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Explicar por qué se utiliza DMARC
  • Describir una política de DMARC
  • Entender cómo se utilizan los registros TXT de DNS para DMARC

Copiar enlace del artículo

¿Qué es DMARC?

La autenticación de mensajes, informes y conformidad basada en dominios (DMARC) es un método de autenticación de mensajes de correo electrónico. Una política de DMARC indica a un servidor de correo electrónico receptor lo que debe hacer tras comprobar los registros del Marco de políticas del remitente (SPF) y del DomainKeys Identifided Mail (DKIM) de un dominio, que son métodos adicionales de autenticación de correo electrónico.

El DMARC y otros métodos de autentificación de correo electrónico son necesarios para evitar la suplantación de identidad de correo electrónico. Cada dirección de correo electrónico tiene un dominio, que es la parte de la dirección que viene después del símbolo "@". Los elementos maliciosos y los spammers a veces intentan enviar correos electrónicos desde un dominio del que no tienen autorización para utilizar, como si alguien escribiera una dirección de remitente incorrecta en una carta. Puede que hagan esto para intentar engañar a usuarios (como en un ataque de phishing), entre otras razones.

Juntos, DMARC, DKIM y SPF funcionan como una verificación de antecedentes de los remitentes de correo electrónico, para asegurarse de que realmente son quienes dicen ser.

Por ejemplo, imagina que un spammer envía un correo electrónico desde la dirección "trustworthy@example.com," a pesar de que no está autorizado a enviar correos electrónicos desde el dominio "example.com". Lo que haría el spammer es sustituir la cabecera "De" del correo electrónico por "trustworthy@example.com"; no enviaría un correo electrónico desde el servidor de correo electrónico real de example.com. Los servidores de correo electrónico que reciben este correo pueden utilizar DMARC, SPF y DKIM para descubrir que se trata de un correo electrónico no autorizado, y pueden marcar el mensaje de correo electrónico como spam o negarse a entregarlo.

¿Qué es una política de DMARC?

Una política de DMARC determina lo que pasa con un correo electrónico después de que se haya comprobado con los registros SPF y DKIM. Un correo electrónico pasa o no pasa el SPF y el DKIM. La política de DMARC determina si el fallo hace que el correo electrónico se marque como spam, se bloquee o se entregue a su destinatario. (Los servidores de correo electrónico pueden seguir marcando los correos electrónicos como spam si no hay un registro DMARC, pero DMARC proporciona instrucciones más claras sobre cuándo hacerlo).

La política del dominio example.com podría ser:

"Si un correo electrónico no pasa las pruebas DKIM y SPF, se marca como spam."

Estas políticas no se registran como frases con formato legible por humanos, sino como comandos con formato legible por máquinas, para que los servicios de correo electrónico puedan interpretarlas automáticamente. Esa política de DMARC tendría en realidad el siguiente aspecto:

v=DMARC1; p=quarantine; adkim=s; aspf=s;

¿Qué significa esto?

  • v=DMARC1 indica que este registro TXT contiene una política de DMARC y debe ser interpretado como tal por los servidores de correo electrónico.
  • p=quarantine indica que los servidores de correo electrónico deben "poner en cuarentena" los correos electrónicos que no superan DKIM y SPF, considerándolos potencialmente spam. Otras configuraciones posibles para esto son p=none, que permite que los correos que suspenden sigan pasando, y p=reject, que ordena a los servidores de correo electrónico que bloqueen los correos que suspenden.
  • adkim=s significa que las comprobaciones DKIM son "estrictas." Esto también se puede configurar como "relajado" si se cambia la s por una r, como adkim=r.
  • aspf=s es lo mismo que adkim=s, pero para SPF.
  • Ten en cuenta que aspf y adkim son configuraciones opcionales. El atributo p= es el que indica lo que deben hacer los servidores de correo electrónico con los correos que no superan SPF y DKIM.

Si el administrador de example.com quisiera hacer esta política todavía más estricta y dar una señal más fuerte a los servidores de correo electrónico para que consideren los mensajes no autorizados como spam, ajustaría el atributo "p=" de la siguiente manera:

v=DMARC1; p=reject; adkim=s; aspf=s;

Básicamente, le dice: "Si un correo electrónico no pasa las pruebas DKIM y SPF, no lo entregues."

¿Qué es un informe DMARC?

Las políticas de DMARC pueden contener instrucciones para enviar informes sobre los correos electrónicos que pasan o no el DKIM o el SPF. Normalmente, los administradores configuran los informes para que se envíen a un servicio de terceros que los reduzca a una forma más digerible, para que los administradores no se vean abrumados por la información. Los informes DMARC son muy importantes, ya que dan a los administradores la información que necesitan para decidir cómo ajustar sus políticas de DMARC; por ejemplo, si sus correos legítimos no pasan SPF y DKIM, o si un spammer está intentando enviar correos electrónicos ilegítimos.

El administrador de example.com añadiría la parte rua de esta política para enviar sus informes DMARC a un servicio de terceros (con una dirección de correo electrónico de "example@third-party-example.com"):

v=DMARC1; p=reject; adkim=s; aspf=s; rua=mailto:example@third-party-example.com;

¿Qué es un registro DMARC?

Un registro DMARC almacena la política de DMARC de un dominio. Los registros DMARC se almacenan en el Sistema de nombres de dominio (DNS) como registros TXT de DNS. Un registro TXT de DNS puede incluir casi cualquier texto que un administrador de dominio quiera asociar a su dominio. Una de las formas en que se utilizan los registros TXT de DNS es para almacenar las políticas de DMARC.

(Ten en cuenta que un registro DMARC es un registro TXT de DNS que contiene una política de DMARC, no un tipo especializado de registro DNS.)

La política de DMARC de Example.com podría tener este aspecto:

Nombre Escribir Contenido TTL
example.com TXT v=DMARC1; p=quarantine; adkim=r; aspf=r; rua=mailto:example@third-party-example.com; 32600

Dentro de este registro TXT, la política de DMARC está incluida en el campo "Contenido".

¿Qué sucede con los dominios que no envían correos electrónicos?

Los dominios que no envían correos electrónicos deben tener un registro DMARC para evitar que los spammers usen el dominio. El registro DMARC debe tener una política de DMARC que rechace todos los correos electrónicos que no superen SPF y DKIM, que deberían ser todos los correos enviados por ese dominio.

En otras palabras, si example.com no estuviera configurado para enviar correo electrónico, todos los correos electrónicos no superarían SPF y DKIM, y serían rechazados.

El Asistente de DNS de seguridad en correo electrónico de Cloudflare facilita la configuración de registros TXT de DNS correctos y evita que los spammers usen un dominio. Leer acerca de esto aquí.

Más información sobre los registros DNS para correo electrónico:

DMARC se describe con más detalle en RFC 7489.