La base fundamental del marco SPF es el registro SPF de cada dominio. Él es quien informa la lista de servidores de email que están autorizados para enviar correo electrónico de un dominio o subdominio específico.
En este artículo te muestro como generar un registro SPF exitoso así como las mejores prácticas que te llevaran a ii incrementando el nivel de protección de tus correos electrónicos.
Tabla de Contenidos
Creación del Registro SPF
A continuación los pasos para crear Registros SPF exitosos:
Listado de Dominios a Proteger
Para crear Registros SPF, lo primero que hay que hacer es consolidar la lista de todos los dominios asociados con tu marca o empresa. No importa si el dominio envía o no correos electrónicos.
De hecho, es muy importante asegurar los dominios que no usas, porque justamente esos dominios olvidados son los más susceptibles a ser blanco de ataques.
Listado de Fuentes
Identificar cualquier fuente propia y de terceros que envíe correo electrónico en nombre de su dominio.
Esto incluye:
- Servidores de correo: bien sean en la nube como Google Workspace y O365 o en tus premisas Microsoft Exchange o Zimbra On-Premises
- Proveedores de servicios de email marketing: que dan servicios de correo electrónico masivo
- Servicios diversos de emisión de correo electrónico: pasarelas de pago, servicios de comercio electrónico, etc.
Construcción de Registros SPF
Para agregar un registro SPF, necesitarás acceso al panel de control de DNS de tu dominio. Esto lo puedes hacer directamente en tu hosting o a través del proveedor de servicios de TI que dispongas
Agregua cualquier dirección IP explícita conocida para enviar correo electrónico en tu dominio
Añade cualquier proveedor externo utilizando la declaración include. El mecanismo include hace referencia al registro SPF del dominio y permite que un dominio autorice una lista de IP mantenida por otra organización.
La declaración include es uno de los pocos mecanismos que requiere una consulta de DNS. SPF tiene un límite incorporado de 10 mecanismos de consulta de DNS que designan a los remitentes. Las direcciones IP identificadas explícitamente en un registro SPF no cuentan para el límite de búsqueda de 10 DNS.
Estructura de los Registros SPF
Especificador de Versión
Todo registro SPF comienza con v=spfv1 que es el especificador de la única versión vigente al momento
Directivas
Luego del especificador de versión, vienen las directivas, identificando servidores que tienen (o no) permiso para enviar para un dominio.
Una directiva consta de un mecanismo que define al remitente y de un calificador que indica la acción a tomar
Mecanismos
Los más utilizados son a e include, sin embargo acá te dejo todos
Mecanismo | Objetivo | Ejemplo |
ipv4 | Dirección IPv4 explícita/bloque de red | ip4:10.20.15.85 o en notación CIDR ip4:10.20.15.0/16 |
ip6 | Dirección IPv6 explícita/bloque de red | ip6:1080::8:800:200C:417A/96 |
a | Una dirección en el dominio | a o a:ejemplo.org |
mx | Busque MX para el dominio, luego su dirección | mx o mx:genuimentor.com |
ptr (obsoleto) | Busque PTR para la dirección IP de conexión, luego A para cada resultado, luego haga coincidir las IP devueltas con la IP de conexión | prt |
all | Significa “Coincide con todo” y es el último mecanismo a escribir | all |
include | Autorizar servidores de diferentes dominios | include:_spf.google.com |
exists | Coincide si existe un registro para el dominio | exists:{ir}.genuimentor.com |
Calificadores
Se agregan calificadores al comienzo de los mecanismos para decirles a los receptores qué deben hacer si hay una coincidencia. Los calificadores son opcionales. Si no se usa explícitamente un calificador, se asume que pasa (o +).
Calificador | Significado |
+ | Pass (Aprobado): la fuente coincidente está autorizada. Este es el valor por Defecto |
– | Fail (Falla): la fuente coincidente realmente no está autorizada |
? | Neutral: la fuente coincidente es ambigua |
~ | SoftFail (Falla suave): la fuente coincidente no está autorizada |
Pasos Para Crear un Registro SPF:
- Comience todos los registros SPF con v=spf1. Esto indica que es un registro SPF. Siempre será v=spf1 ya que se han descontinuado otras versiones de SPF.
- Identifique las direcciones IP de envío conocidas (IP internas). Se pueden utilizar IPv4 e IPv6.
- Agregue proveedores externos conocidos mediante el mecanismo de inclusión.
- Termina tu registro SPF con ~all o -all. El mecanismo all coincide con todo, mientras que los calificadores “~” y “-” significan “softfail” y “fail” respectivamente. El mecanismo all siempre debe ser el último, ya que todo lo que le siga será ignorado.
Mejores Prácticas SPF
El punto de mayor cuidado es que realmente se contemplen todas las fuentes de correo existentes para evitar rechazo a correos legítimos.
Lo ideal es comenzar con una política +all y supervisar durante un tiempo todas las fuentes que se presenten.
Para ello hay herramientas como DMARCLY que reciben los reportes DMARC y te presentan los resultados donde podrás ver todas las fuentes de email en los dominios que especifiques.
Una vez que ya hayas hecho legítimas todas las fuentes modificando tu registro SPF para incluirlas a todas, puedes incrementar la polítcas e ir aumentando hasta llegar a ~all, seguir monitereando y luego subir a -all
Ejemplos de registros SPF
A continuación te presento ejemplos de registros SPF para diferentes plataformas, he considerado como ejemplo el mecanismo final como +all.
Es responsabilidad tuya validar la exactitud de los mecanismos a usar en tu caso, si requieres ayuda, puedes contactarme
Google Workspace SPF
v=spfv1 include _spf.google.com +all
Hubspot SPF
v=spfv1 include:8004593.spf05.hubspotemail.net +all
Este valor depende de cada tenant de Hubspot
Mailchimp SPF
v=spfv1 include:servers.mcsv.net +all
SPF Mixtos
Puedes mezclar y unir de acuerdo al caso
v=spfv1 include _spf.google.com include:8004593.spf05.hubspotemail.net include:servers.mcsv.net +all
Conclusiones
Elaborar un registro SPF es algo que parece muy sencillo y de hecho lo es, el punto es ser lo suficientemente paciente y detallista para lograr obtener un listado de servidores autorizados exacto y preciso.
Esto se logra a través de un monitoreo lo suficientemente amplio para ir incorporando servidores y optimizando tu registro.
Principal Solutions Engineer en ICT International MSP
Especialista en Ciberseguridad ZeroTrust | Content Marketer | Experto SEO |