SPF, DKIM y DMARC

Cuando un email que envías acaba en la carpeta de spam de tu destinatario, normalmente no es cuestión de azar. En la mayoría de los casos se debe a un problema con alguno de los tres estándares de validación de correo. Cada uno puede funcionar por separado, pero donde realmente son eficaces es cuando trabajan juntos. Hablamos de la tríada SPF, DKIM y DMARC.

Estos tres «mecanismos» trabajan de forma conjunta para demostrar que un email es legítimo, que no ha sido modificado y que está autorizado por el dominio que lo ha enviado. Si alguno de estos elementos falla o falta, el servidor receptor desconfiará y el email que has enviado, o el que esperabas recibir, acabará en la carpeta de SPAM siendo marcado como «correo no deseado».

En las próximas líneas te enseñaré qué son cada uno de los mecanismos, cómo funcionan y cuáles son los fallos habituales al configurarlos. ¡Comenzamos!

¿Por qué tus correos acaban en spam?

Antes de entrar en cuestiones más técnicas, conviene partir de la base. Los proveedores de correo como Gmail, Outlook, Yahoo y otros han endurecido sus filtros de manera considerable. El objetivo es reducir la cantidad de correo basura que recibimos a diario. Estoy seguro que te sucederá que cada día, nada más abrir el correo, encuentras decenas, incluso cientos, de mensajes procedentes de remitentes extraños que te prometen dinero fácil y otros negocios demasiado rentables para ser reales, ¿verdad?

Ante esta situación los sistemas de filtrado se han vuelto cada vez más estrictos y, como consecuencia, cualquier envío legítimo, sea masivo o no, puede acabar en spam si no cumple ciertos criterios y/o requisitos. Por ello es importante entender cómo funcionan estos filtros y qué aspectos revisan para determinar si un mensaje es fiable o no.

Configurar SPF para el correo

Por eso hoy ya no basta con “enviar” un email sin más, hace falta indicar al servidor receptor cierta información para garantizar que el email llega correctamente. Esta información es:

  1. Quién te ha autorizado a enviar.
  2. Si el mensaje ha sido modificado.
  3. Qué debe hacer si hay inconsistencias.

Esto lo determinan SPF, DKIM y DMARC, respectivamente. Si uno está mal configurado o falta, el resultado será qué el correo:

  • Llegará a la carpeta de SPAM
  • El email te rebotará con un mensaje del tipo “Unauthenticated mail”,
  • Tu recibirás, o el destinatario de tu email, una advertencia similar a esta: “Este mensaje podría no ser del remitente”.

La buena noticia es que esto tiene solución, y es más sencilla de lo que crees. ¡Sigamos!

¿Qué es SPF?

SPF (Sender Policy Framework) es una lista pública donde tu dominio declara quién tiene permiso para enviar correos en tu nombre. Es como la lista de personas autorizadas a entrar a una empresa: si no estás en la lista, no pasas.

Si usas Gmail, un servidor SMTP propio, y una herramienta como Mailchimp o HubSpot, todos deberían estar en esa lista.

¿Cómo funciona?

Para hacer que SPF funcione, deberás agregar un registro TXT en la zona DNS de tu proveedor de dominio y alojamiento. Ese registro debe incluir lo siguiente:

  • Mecanismos: ip4, ip6, include, a, mx.
  • Calificadores: -all (rechazar), ~all (softfail), ?all (neutral).
  • Un límite técnico importante: solo se permiten 10 búsquedas DNS.

Esto último punto es fundamental configurarlo, y hacerlo por supuesto de forma correcta. De lo contrario, si no se añade un límite o se agrega, pero es excesivamente alto, podría quedar inutilizado este validador y por consiguiente, producirse errores de entrega en el correo.

Un ejemplo de registro SPF es v=spf1 include:_spf.google.com ~all, que autoriza a los servidores de Google a enviar correos en nombre de tu dominio, marcando como sospechosos los no autorizados.

¿Cuáles son los problemas habituales con SPF?

Los problemas más habituales con SPF suelen aparecer por configuraciones incompletas o mal ejecutadas. Por ejemplo, es frecuente que se usen varios servicios sin gestionar correctamente los include, lo que provoca errores o excesos en las consultas DNS.

Otro fallo muy común es agregar dos o más registros SPF, lo que se traduce en un error automático ya que solo puede existir uno. Otro error típico es cerrar el registro de forma incorrecta, por ejemplo usar +all, lo cual abre la puerta a que cualquier servidor pueda enviar en tu nombre. Como puedes imaginar, esto sería una tragedia absoluta. Al hilo de este error, también es común mantener ~all cuando realmente debería aplicarse -all. Es decir debes tener en cuenta que:

¿Qué es DMARC?
  • ~all (softfail): indica que los servidores no autorizados no deberían ser aceptados, pero el mensaje se entregará igual, aunque se marcará con casi total seguridad como sospechoso de ser spam. Esto es útil sobretodo durante pruebas o migraciones.
  • -all (fail): indica que los servidores no autorizados deben ser rechazados. Es la política más estricta y la que protege mejor tu dominio contra spoofing. Pero hay que tener cuidado, por que si se aplica sin haber incluido correctamente todos los servidores legítimos, podría causar que correos válidos de tu propia empresa, o de servicios externos, sean rechazados.

Por último, otro error habitual es no limitar correctamente los DNS lookups. SPF tiene un límite máximo recomendado de 10 consultas DNS. Si este límite se supera el registro deja de ser válido y la autenticación fallará, lo que puede provocar problemas en la entrega de correos y podría afectar a la reputación de tu dominio.

Por último cabe destacar que SPF no protege del spoofing del From visible, ya que únicamente valida el Return-Path. Para cubrir esa parte entran en juego DKIM y DMARC, que completan el sistema de autenticación del dominio.

¿Qué es DKIM?

DKIM (DomainKeys Identified Mail) es como un sello digital que certifica que el mensaje no ha sido alterado. Al enviar un email, el servidor firma ese correo y el sevidor destinaratio, al recibirlo, valida la firma buscando la clave pública en tu DNS. Si la firma no coincide, el correo se considerará modificado o manipulado.

¿Cómo funciona técnicamente DKIM?

Al configurar DKIM se generan dos elementos fundamentales: la clave privada, que solo debe permanecer en tu servidor, y la clave pública, que se publica en el DNS asociada a un selector (por ejemplo, default._domainkey.tu-dominio.com). Cuando envía un email, el sistema utiliza la clave privada para firmar ciertas partes del mensaje, garantizando su integridad. DKIM ofrece dos modos de validación:

  • Relaxed: es la más tolerante ante pequeñas variaciones en el formato del mensaje.
  • Strict: en esta, cualquier cambio, por mínimo que sea, invalida la firma.

En la práctica, el modo relaxed es el más común y recomendado, ya que asegura alta compatibilidad sin comprometer la seguridad.

Errores típicos en DKIM

Entre los errores más frecuentes que puedes cometer o encontrarte al configurar DKIM se encuentran problemas como que tengas un selector mal configurado, registros TXT cortados o con saltos incorrectos, y/o herramientas que firmen los correos pero no publicen la clave pública en la Zona DNS de tu dominio.

También es habitual olvidar actualizar DKIM al cambiar de proveedor de correo, o contar con varios sistemas que envían mensajes en nombre del dominio pero solo uno de ellos tiene DKIM configurado, lo que provoca que muchos correos legítimos no pasen la validación.

En cuanto a los selectores, a diferencia de SPF donde solo puede existir un registro por dominio, en DKIM es posible tener varios selectores. De hecho, esta es la forma correcta de gestionar varios proveedores de correo o sistemas que envían en nombre del dominio.

Por último es importante recalcar que DKIM no garantiza por sí mismo que los correos lleguen a la bandeja de entrada, pero sin él es prácticamente imposible mantener una buena entregabilidad. Además, aunque DKIM ayuda a proteger frente a phishing, por sí solo no es suficiente; para una protección efectiva es necesario combinarlo con DMARC. Por ello te explico a continuación qué es DMARC. ¡A por ello!

¿Qué es DMARC?

DMARC (Domain-based Message Authentication, Reporting & Conformance) es la parte más importante de la combinación SPF, DKIM y DMARC. Su función no es solo comprobar que SPF y DKIM estén correctos, sino también debe asegurarse de que coincidan con tu dominio. Además, decide qué hacer si algo falla y te envía informes para que puedas ver quién está enviando correos en tu nombre.

Es, literalmente, la “política de seguridad” de tu servicio de correo. Él dicta cómo se debe tratar un correo que parece fraudulento.

¿Qué significa Alineación (Alignment)?

La alineación en DMARC significa que el dominio que pasa la verificación SPF o DKIM debe coincidir con el dominio que se ve en el «From» del correo. Esto asegura que solo los correos enviados desde tu dominio real sean considerados legítimos, evitando con esto que alguien use un dominio falso con SPF o DKIM válidos para hacerse pasar por ti.

DMARC permite dos niveles de alineación: relaxed y strict. En DMARC, el modo relaxed permite que los subdominios se consideren alineados con el dominio principal. Por ejemplo, si tu dominio es midominio.com y un correo se envía desde ventas.midominio.com, DMARC lo considerará válido, ya que el subdominio está relacionado con tu dominio principal. Esto ofrece más flexibilidad, especialmente si usas varios servicios o subdominios para enviar correos.

En cambio, el modo strict exige que el dominio que aparece en el From coincida exactamente con el que pasa la verificación SPF o DKIM. Usando el mismo ejemplo, si el correo se envía desde ventas.midominio.com pero el From es midominio.com, bajo strict, DMARC pasaría la alineación y por lo tanto el envío no se produciría. Este modo es más seguro, pero mucho más restrictivo con envíos desde subdominios.

DMARC garantiza cumplimiento política de seguridad del correo.

¿Qué hace DMARC?

DMARC permite definir una política que indica cómo tratar los correos que no pasen la verificación:

  • Con el valor p=none solo se monitoriza el tráfico sin aplicar ningún bloqueo
  • Con p=quarantine los mensajes que fallen se envían a la carpeta de spam
  • Por último, con p=reject se rechazan directamente.

Además, DMARC permite configurar opciones adicionales:

  • rua= para recibir informes agregados en formato XML
  • ruf= para informes más detallados (aunque no siempre disponibles)
  • pct= para aplicar la política solo a un porcentaje del tráfico, lo que ayuda a probar cambios antes de implementarlos por completo en las directivas de correo.

Problemas frecuentes con DMARC

Entre los errores más comunes al implementar DMARC se encuentran activar la política p=reject sin haber revisado antes que SPF y DKIM estén correctamente configurados, lo que puede provocar que correos legítimos sean rechazados. También es frecuente olvidar incluir una dirección válida en rua= para recibir informes. Cualquiera de estos errores puede afectar la entregabilidad de los correos y dificultar la monitorización efectiva del tráfico.

Conclusión

Ahora que ya has visto y aprendido qué son SPF, DKIM y DMARC, te habrás percatado que no son configuraciones de correo opcionales, o al menos no debería serlo. Configurarlos correctamente marcará la diferencia entre que tus correos lleguen a la bandeja de entrada de sus destinatarios, o que se pierdan en el limbo (carpeta de spam). Aparte de evitar el evidente problema de que tus correos no sean leídos por sus destinatarios, lo cual ya es motivo suficiente para dejarlos bien configurados, además te ayudará a reducir los riesgos de phishing que tan en auge se encuentran, por desgracia.

Espero que toda esta información te sirva para que te animes a revisar tu configuración de correo y Zonas DNS, y que por lo tanto te sea de mucha utilidad. ¡Nos vemos en la próxima!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *