Cómo funciona la comprobación
Nuestro servidor pide al resolvedor público de Cloudflare los registros MX y TXT del dominio, el registro TXT en _dmarc, las claves DKIM, las direcciones de los seis primeros servidores de correo y los registros SPF de cada include, hasta 20. Nunca se conecta a los servidores de correo. Después se lee cada registro según las reglas de su estándar: SPF (RFC 7208), DMARC (RFC 7489) y DKIM (RFC 6376).
SPF dice qué servidores pueden enviar, DKIM firma cada mensaje y DMARC une ambos con la dirección que la gente ve en la línea From e indica a los receptores qué hacer cuando fallan los dos. Los grandes proveedores de correo comprueban los tres, así que el correo de un dominio sin ellos suele acabar en spam.
Ejemplo
Una tienda en example.com envía correo a través de Google Workspace y un servicio de boletines. Su registro SPF es "v=spf1 include:_spf.google.com include:servers.mcsv.net ~all": dos includes, cada uno una consulta DNS, más lo que ellos incluyen, muy por debajo de 10. Su registro DMARC es "v=DMARC1; p=none; rua=mailto:[email protected]", así que llegan los informes pero el correo falsificado se sigue entregando. Tras unas semanas de informes que solo muestran su propio correo, la tienda cambia p=none por p=quarantine.
Preguntas
¿Qué es un registro MX?
Un registro MX indica un servidor que recibe el correo electrónico de un dominio, con un número de prioridad. Los remitentes prueban primero el número más bajo. Un dominio puede tener varios registros MX como respaldo o para repartir la carga; si no tiene ninguno, los remitentes prueban la dirección del propio dominio.
¿Cuál es la diferencia entre SPF, DKIM y DMARC?
SPF enumera los servidores autorizados a enviar en nombre de un dominio. DKIM añade a cada mensaje una firma que los receptores comprueban con una clave pública en el DNS. DMARC exige que al menos uno de los dos pase para el dominio de la dirección From, e indica qué deben hacer los receptores con el correo que falla: nada, enviarlo a spam o rechazarlo.
¿Qué significa p=none en DMARC?
p=none significa solo supervisar: los receptores envían informes a la dirección rua pero entregan el correo que falla como siempre. Es el primer paso adecuado, para que veas qué servicios envían correo como tu dominio. Pasa a p=quarantine y después a p=reject cuando los informes muestren que tu propio correo pasa.
¿Qué es el límite de 10 consultas DNS de SPF?
Comprobar un registro SPF puede costar como máximo 10 consultas DNS. Cada include, a, mx, ptr, exists y redirect cuenta como una, incluidos los que están dentro de los registros incluidos. Por encima de 10, los receptores se detienen con un error permanente y SPF falla para todo tu correo. Quita los includes que ya no uses, o sustituye uno por los rangos ip4 e ip6 que representa.
¿SPF debe terminar en ~all o en -all?
Ambos protegen el dominio. -all indica a los receptores que rechacen el correo de servidores que no figuran; ~all les indica que lo acepten pero lo traten como sospechoso. Con DMARC activado, los receptores siguen la política DMARC en ambos casos, así que ~all es la opción habitual; -all conviene a un dominio que no envía correo en absoluto.