SPF: la primera línea de defensa contra el spoofing
El Sender Policy Framework (SPF) es un mecanismo de autenticación de correo electrónico que permite al propietario de un dominio especificar qué servidores están autorizados para enviar correo en su nombre. Sin SPF, cualquiera puede enviar correos haciendo que tu dominio aparezca como remitente, una técnica llamada spoofing que es la base de la mayoría de los ataques de phishing. SPF fue estandarizado en la RFC 7208 y representa el primero de los tres pilares de la autenticación moderna del correo, junto con DKIM y DMARC.
Cuando un servidor recibe un correo, verifica el registro SPF del dominio remitente. Si la IP del servidor que envió el correo está en la lista de IPs autorizadas por el registro SPF, la verificación es exitosa. En caso contrario, el correo se marca como potencialmente fraudulento. La decisión final (aceptar, rechazar o marcar) depende de la política especificada en el registro y de la configuración DMARC del dominio.
Anatomía de un registro SPF
Un registro SPF es un registro TXT en el DNS del dominio que comienza con v=spf1 seguido de una serie de mecanismos y calificadores. Los mecanismos definen quién está autorizado para enviar, mientras que el calificador final (típicamente ~all o -all) define qué hacer con los correos que no coincidan con ningún mecanismo autorizado.
El límite de 10 consultas DNS
Uno de los aspectos más críticos y menos comprendidos de SPF es el límite de 10 consultas DNS. Cada vez que el registro SPF utiliza un mecanismo que requiere una consulta DNS adicional (include, a, mx, redirect, exists), cuenta como una consulta. Superar el límite de 10 provoca un permerror: el registro SPF se considera inválido y la autenticación falla para todos los correos.
Este límite se vuelve problemático cuando se utilizan muchos servicios de terceros para el envío de correo. Un solo include puede contener a su vez otros includes anidados, y cada uno cuenta para el límite. Por ejemplo, include:_spf.google.com por sí solo ya consume 3-4 consultas. Si añades Mailchimp, SendGrid y HubSpot, el límite se agota rápidamente. Nuestro SPF Lookup analiza tu registro SPF y cuenta automáticamente las consultas DNS, avisándote si estás cerca del límite.
Cómo resolver los problemas SPF más comunes
El problema más frecuente es superar el límite de 10 consultas. Las soluciones incluyen: sustituir los mecanismos include por entradas directas ip4/ip6 (que no cuentan como consultas), usar servicios de SPF flattening que resuelven los includes en IPs estáticas, o consolidar los servicios de correo para reducir el número de includes necesarios. Otra estrategia es usar subdominios dedicados para diferentes servicios: marketing@news.ejemplo.com puede tener su propio registro SPF independiente.
Otro error común es tener múltiples registros SPF para el mismo dominio. Las RFC especifican claramente que un dominio debe tener un solo registro TXT que comience con v=spf1. Múltiples registros causan un permerror. Si necesitas autorizar múltiples orígenes, combínalos en un solo registro. Verifica la presencia de registros duplicados con el TXT Lookup, que lista todos los registros TXT del dominio.
SPF solo no es suficiente: el trío SPF + DKIM + DMARC
SPF tiene una limitación importante: solo verifica la IP del servidor remitente, no el contenido de la cabecera From que el usuario ve. Un atacante podría usar un servidor autorizado por su propio SPF para enviar correos con tu dominio en la cabecera From. Por eso SPF debe acompañarse de DKIM y DMARC. DKIM firma criptográficamente el correo, mientras que DMARC verifica que el dominio en la cabecera From esté alineado con el dominio autenticado por SPF o DKIM.
Usa el DMARC Lookup para verificar que tu dominio tenga una política DMARC activa. Sin DMARC, incluso un SPF perfecto no impide que los correos falsificados sean entregados. La combinación de los tres protocolos crea una defensa por capas que hace extremadamente difícil el spoofing de tu dominio, protegiendo tu reputación y a tus destinatarios.
La configuración ideal incluye: SPF con ~all o -all para autorizar solo los servidores legítimos, DKIM con clave de 2048 bits para firmar todos los correos salientes, y DMARC con política progresiva (desde p=none para monitoreo hasta p=reject para bloqueo total). Este trío se considera hoy el requisito mínimo para cualquier dominio que envíe correo electrónico.