SPF, DKIM y DMARC explicados sin tecnicismos

SPF, DKIM y DMARC explicados sin tecnicismos

SPF, DKIM y DMARC explicados sin tecnicismos

Tienes tu propio dominio, envías presupuestos, facturas o una newsletter, y una parte incómoda de esos correos acaba en spam. Antes de cambiar el asunto o el proveedor de envío, mira los tres registros DNS que deciden si tu correo se considera legítimo: SPF, DKIM y DMARC. Son tres líneas de texto que responden a tres preguntas distintas.

Conviene decirlo de entrada: la autenticación no arregla una lista de contactos sucia. Si escribes a direcciones que ya no existen, tu reputación cae igual, y por eso merece la pena pasar los contactos dudosos por un validador de correo electrónico antes de una campaña. Pero sin SPF, DKIM y DMARC correctos, ni siquiera los envíos a direcciones perfectas llegan bien.

Los tres, en una frase cada uno

  • SPF dice qué servidores tienen permiso para enviar correo en nombre de tu dominio.
  • DKIM añade una firma criptográfica al mensaje que demuestra que no se ha manipulado por el camino y que salió de quien dice.
  • DMARC une los dos anteriores, define qué hacer cuando fallan y te envía informes de lo que ocurre.

SPF: quién puede enviar en tu nombre

SPF es un registro TXT publicado en la raíz de tu dominio. Enumera los servidores autorizados y termina con una instrucción sobre qué hacer con el resto:

v=spf1 include:_spf.google.com include:servers.mcsv.net ~all

Cada include delega en el conjunto de servidores de un proveedor (tu correo corporativo, tu plataforma de newsletters, tu CRM). El final importa: ~all significa «lo demás es sospechoso» (softfail) y -all significa «lo demás es falso, recházalo» (hardfail). Empieza con ~all mientras compruebas que no te dejas ningún remitente fuera, y endurécelo después.

Dos límites que se saltan constantemente. El primero: solo puede haber un registro SPF por dominio. Si publicas dos, la validación falla directamente; hay que fusionarlos en una sola línea. El segundo: SPF permite un máximo de 10 consultas DNS al evaluarse, y cada include gasta al menos una. Con cuatro o cinco proveedores encadenados es muy fácil pasarse, y entonces el resultado es un «permerror» que equivale a no tener SPF.

DKIM: la firma criptográfica

DKIM funciona con un par de claves. Tu proveedor de envío guarda la privada y firma con ella cada mensaje saliente; tú publicas la pública en el DNS bajo un selector, en una entrada del tipo selector._domainkey.tudominio.com con un contenido parecido a v=DKIM1; k=rsa; p=MIGfMA0GCSq....

El servidor que recibe el correo lee la cabecera DKIM-Signature, ve el selector, consulta esa clave pública y verifica la firma. Si coincide, sabe que el mensaje salió de un sistema autorizado y que nadie le ha tocado el contenido. Cada plataforma que envíe por ti debe tener su propio selector.

DMARC: la política y los informes

DMARC vive en _dmarc.tudominio.com, también como registro TXT, y su forma mínima es esta:

v=DMARC1; p=none; rua=mailto:informes@tudominio.com

La p es la política que pides a quien recibe tu correo: none (no hagas nada, solo infórmame), quarantine (mándalo a spam) o reject (recházalo). El parámetro rua es la dirección a la que llegan los informes agregados diarios en XML, que te dicen quién está enviando con tu dominio y si pasa o no las comprobaciones.

La alineación, que es donde se rompe todo

Aquí está el detalle que hace fallar a los dominios que «tienen todo configurado». DMARC no comprueba solo que SPF o DKIM pasen: comprueba que el dominio validado coincida con el que el destinatario ve en el campo De:. Si escribes desde hola@tudominio.com pero SPF valida el dominio técnico de tu proveedor, SPF pasa y DMARC falla igualmente por falta de alineación. La solución habitual es configurar DKIM firmando con tu propio dominio, que es la vía de alineación más robusta y la que sobrevive a los reenvíos.

Errores habituales

  • Dos registros SPF. Suele pasar al añadir un proveedor nuevo sin tocar el existente. Hay que combinarlos.
  • Más de 10 consultas DNS. Quita los include de servicios que ya no usas.
  • Quedarse en p=none para siempre. Es un modo de observación, no un destino. Pasa a quarantine cuando los informes estén limpios.
  • Olvidar los subdominios. Sin política propia quedan como puerta abierta; usa el parámetro sp.
  • No leer nunca los informes rua. Son el único sitio donde se ve quién suplanta tu dominio.

Cómo comprobar los tuyos

Desde una terminal, tres consultas te lo dicen casi todo: dig +short TXT tudominio.com para SPF, dig +short TXT selector._domainkey.tudominio.com para DKIM y dig +short TXT _dmarc.tudominio.com para DMARC. Después, envíate un mensaje a una cuenta externa y mira las cabeceras Authentication-Results: deberías ver spf=pass, dkim=pass y dmarc=pass. Para probar sin ensuciar tu buzón habitual puedes usar una dirección temporal de 1mail.lt y revisar ahí las cabeceras del mensaje recibido.

El orden correcto: autenticar, limpiar, enviar

Primero deja los tres registros bien puestos y alineados. Después limpia la lista: las direcciones inválidas provocan rebotes duros que hunden tu reputación en cuestión de un envío, y las direcciones abandonadas pueden haberse reconvertido en trampas de spam, que es aún peor porque te ponen en listas negras sin previo aviso. Un repaso con el verificador de direcciones antes de cada campaña grande evita casi todo eso. Y solo entonces envía, empezando por volúmenes moderados si el dominio es nuevo.

Preguntas frecuentes

¿Necesito los tres o me basta con SPF?

Necesitas los tres. Los grandes proveedores ya exigen autenticación a quien envía volumen, y SPF por sí solo se rompe con cualquier reenvío. DKIM aporta la firma que sobrevive a esos saltos y DMARC es lo que convierte ambos en una política con consecuencias.

¿Cuánto tarda en aplicarse un cambio en el DNS?

Depende del TTL de tu zona: entre unos minutos y unas horas. Antes de tocar nada, baja el TTL a 300 segundos y vuelve a subirlo cuando todo esté verificado.

¿Puedo pasar directamente a p=reject?

Es arriesgado. Mantén p=none dos o cuatro semanas, lee los informes, confirma que todos tus remitentes legítimos están alineados y sube después a quarantine y, por último, a reject.

¿Sirve de algo esto si no tengo dominio propio?

Si envías desde una cuenta de un proveedor gratuito, la autenticación ya la gestiona él y no hay nada que configures. Estos tres registros importan en cuanto envías desde tu propio dominio, aunque sea solo el correo de una persona.

Etiquetas:
#SPF # DKIM # DMARC # autenticación de correo # entregabilidad # registros DNS