Seguridad Correo Electrónico SPF DKIM y DMARC principiantes
Seguridad Correo Electrónico SPF DKIM y DMARC principiantes

Seguridad del Correo Electrónico: SPF, DKIM y DMARC para principiantes

En este artículo, discutiremos los tres conceptos esenciales cuando se trata de seguridad y entrega de correos electrónicos: SPF, DKIM y DMARC. En la actualidad, la seguridad del correo electrónico es más importante que nunca, ¡por lo que ya es hora de proteger tu dominio si aún no lo has hecho!

Comencemos con un hecho sencillo: por un lado, muchas empresas necesitan poder enviar cientos o miles de correos electrónicos, especialmente para campañas de email marketing. Por otro lado, los correos electrónicos son un vector de ataque muy popular entre los ciberdelincuentes, particularmente a través del phishing y el spoofing. Como administradores de sistemas, debemos asegurarnos de configurar correctamente el dominio de correo electrónico de nuestra empresa para proteger a los usuarios, pero también para garantizar que los correos electrónicos legítimos lleguen a su destino. ¡Aquí es donde entran en juego los estándares SPF, DKIM y DMARC!

En este artículo, explicaremos los principios fundamentales de SPF, DKIM y DMARC, cómo funcionan y cómo se pueden usar juntos para garantizar una seguridad óptima del correo electrónico. También mencionaremos algunas herramientas que te serán útiles.

Importancia de la Seguridad del Correo Electrónico

Concepto de seguridad del correo electrónico
Concepto de seguridad del correo electrónico

El uso de un servicio de correo electrónico no se limita a enviar y recibir correos electrónicos, ni siquiera a utilizar versiones seguras de los protocolos SMTP e IMAP. Es obligatorio ir más allá, y esto es lo que veremos hoy al explorar SPF, DKIM y DMARC.

Al proteger tu dominio de correo electrónico, podrás proteger tu organización, tus usuarios y también a los demás usuarios (destinatarios de los correos electrónicos) de varias amenazas:

  • Prevención contra suplantación de identidad
  • Protección contra la distribución de malware
  • Mejorar la entrega de los correos electrónicos
  • Protección contra la distribución de spam
  • Mantener la reputación de tu organización y tu dominio

Por ejemplo, si una persona malintencionada suplanta tu identidad y utiliza tu dominio de correo electrónico para enviar spam, esto puede dañar la reputación de tu organización, pero también tu reputación en línea: tu dominio corre el riesgo de ser incluido en la lista negra y tus correos electrónicos, incluso los legítimos, terminarán en la carpeta de spam. Por lo tanto, es primordial proteger bien tu dominio de correo electrónico.

Entender SPF de Manera Sencilla

¿Qué es SPF?

SPF, por Sender Policy Framework, es un estándar cuyo objetivo es autenticar el servidor de correo electrónico que envía un correo electrónico. En otras palabras, ¿el servidor de correo electrónico utilizado para enviar el correo electrónico está autorizado a enviar correos electrónicos para el dominio en cuestión? Una pregunta interesante que SPF permitirá responder. Por lo tanto, desempeña un papel clave para prevenir la suplantación de direcciones de correo electrónico, que a menudo utilizan los ciberdelincuentes en campañas de phishing.

La forma en que funciona SPF es bastante simple en teoría. Cada vez que se envía un correo electrónico, el servidor de correo electrónico receptor recuperará el nombre de dominio del remitente del encabezado del correo electrónico.

Luego emitirá una consulta DNS para recuperar el contenido del registro SPF (registro DNS de tipo TXT) para el dominio en cuestión. Esto le permitirá obtener la lista de servidores de correo electrónico legítimos y autorizados para emitir correos para este dominio: podrá comparar esta lista con la dirección IP del servidor de correo electrónico que originó el correo electrónico entrante para determinar si está autorizado o no.

Si la dirección IP está autorizada, el correo electrónico se considera auténtico y se acepta. De lo contrario, el servidor receptor puede rechazar el correo electrónico o marcarlo como sospechoso. En otras palabras, SPF es una forma para que los propietarios de dominios les digan a los servidores de correo electrónico: “Solo estas direcciones IP están autorizadas a enviar correos electrónicos para mi dominio“.

Para terminar, debes saber que para recuperar el dominio del remitente, el proceso de verificación de SPF no se basará en el campo “De” o “From” (visible para el usuario) sino en el campo “Ruta de retorno” (“Return-Path“) o “Mail From” (o “Correo de”). Esta es una precisión importante, ya que la manipulación de estos campos permite eludir SPF (y DKIM que usa el mismo campo): es por esta razón que utilizaremos DMARC como complemento.

Explicación del funcionamiento de SPF
Explicación del funcionamiento de SPF

Nota: Return-Path, para el camino de retorno, es un campo presente en el encabezado de los correos electrónicos que sirve para indicar a qué dirección enviar las notificaciones cuando no se ha podido entregar un correo electrónico.

¿Cómo implementar SPF?

Para implementar una política SPF, debes crear un registro de tipo “TXT” en la zona DNS pública de tu dominio.

Antes de crear este registro DNS, debes identificar los servidores de correo electrónico autorizados. Se trata de elaborar una lista de las direcciones IP de los servidores que están autorizados a enviar correos electrónicos para tu dominio, es decir, los servidores legítimos. Esto puede incluir tu propio servidor de correo electrónico, así como los de cualquier servicio de correo electrónico de terceros que utilices, como un servicio de marketing o un servicio de correo electrónico (para un boletín informativo, por ejemplo).

Luego, deberás crear tu registro SPF de tipo TXT para publicarlo en la zona DNS de tu dominio.

Esta es la sintaxis del valor de un registro SPF:

#Dirección IPv4
v=spf1 ip4:<dirección IPv4> -all
#Dirección IPv6
v=spf1 ip6:<dirección IPv6> -all

Si queremos autorizar el servidor de correo electrónico con la dirección IP “1.2.3.4”, crearemos un registro con este valor:

v=spf1 ip4:1.2.3.4 -all

Si envías tus correos electrónicos desde un servicio de correo electrónico en línea, por ejemplo, Google Workspace, Microsoft 365, etc., la sintaxis será diferente. De hecho, será conveniente utilizar la directiva “include” para incluir los registros SPF de otro dominio en el de tu dominio.

Para Google Workspace, esto da como resultado el siguiente registro:

v=spf1 include:_spf.google.com -all

Ten en cuenta que puedes acumular varias directivas “ip4” y/o “ip6” y/o “include” en un mismo registro SPF (que debe ser único para un dominio). Por ejemplo, esto será útil si envías correos electrónicos a través de Microsoft 365, pero también de un servicio de correo electrónico como Brevo o MailChimp: deberás autorizar ambos servicios a través de tu SPF.

Nota: el límite de un registro SPF es de 10 consultas DNS. Este límite incluye las búsquedas causadas por el uso de los mecanismos “a”, “mx”, “ptr”, “include”, “exists” y “redirect” en el registro SPF. Puedes leer este artículo para profundizar en el tema.

Por ejemplo:

v=spf1 ip4:1.2.3.4 include:_spf.google.com -all

En el archivo de zona DNS, tendremos una línea completa con este formato:

it-connect.tech 600 IN TXT “v=spf1 ip4:1.2.3.4 include:_spf.google.com -all”

Es importante especificar que el SPF está limitado en número de caracteres (255).

Para terminar, llamo tu atención sobre el carácter que precede a la instrucción “all” en el registro SPF: la tilde (~) o el guion (-), que corresponden respectivamente a soft-fail y hard-fail.

  • Con “-all“, somos más estrictos y rechazamos todos los correos electrónicos provenientes de servidores no autorizados en el SPF: es el más eficaz contra la suplantación de identidad.
  • Con “~all“, el correo electrónico proveniente de un servidor no autorizado se marcará como sospechoso, pero no necesariamente se rechazará: esto puede resultar útil en la fase de prueba (si no estás familiarizado con los registros SPF) o en algunos entornos “complejos” donde se utilizan muchos servicios de terceros para emitir correos electrónicos.
  • Siempre que sea posible, utiliza “-all“.

Cuando tu registro SPF esté implementado, deberás probar el correcto funcionamiento de tu SPF (ver la sección de este artículo dedicada a las herramientas) y recuerda actualizar la configuración SPF de tu dominio cuando realices un cambio (por ejemplo, si tu servidor de correo electrónico cambia de dirección IP) en tu infraestructura de correo electrónico.

Nota: si tienes un dominio que nunca envía correos electrónicos, puedes implementar un registro SPF con el valor “v=spf1 -all” para indicar que no hay ningún servidor autorizado para enviar correos electrónicos para este dominio. Es una política muy estricta.

Entender DKIM de Manera Sencilla

¿Qué es DKIM?

DKIM, por DomainKeys Identified Mail, es un método de autenticación de correo electrónico basado en firmas criptográficas que tiene como objetivo combatir la suplantación de direcciones de correo electrónico y la modificación de mensajes. Es una medida de protección interesante contra el phishing y el spoofing, ya que se busca verificar la autenticidad de un correo electrónico.

DKIM se basa en criptografía de clave pública, lo que significa que utiliza un par de claves, con una clave privada y una clave pública (como para la autenticación SSH, por ejemplo). Solo la clave pública se divulga a través de un registro DNS de tipo TXT, en el marco de DKIM.

Cuando se utiliza DKIM, se agrega una firma digital al encabezado de los correos electrónicos que envías. Por lo tanto, cuando se envía un correo electrónico, el servidor de envío firma el correo electrónico generando una huella única del mismo mediante una clave privada. Esta huella luego se inserta en el encabezado del correo electrónico en forma de firma DKIM.

El servidor receptor, a su vez, verificará esta firma. Para ello, utilizará la clave pública del dominio del remitente, que puede encontrar en los registros DNS de ese dominio.

Gracias a esta verificación, DKIM permitirá garantizar que el correo electrónico que recibes es el que fue enviado, desde un servidor autorizado, ¡y que no ha sido falsificado! Si falla la verificación de la firma, es posible que el correo electrónico haya sido alterado durante su transmisión, por lo que el correo electrónico no se entregará a su destinatario.

Explicación del funcionamiento de DKIM
Explicación del funcionamiento de DKIM

¿Cómo implementar DKIM?

Para implementar DKIM, debes seguir varios pasos, incluida la creación de un registro de tipo TXT en la zona DNS pública de tu dominio, como para SPF. Antes de esto, será obligatorio generar un par de claves (pública/privada) ya que es indispensable para el funcionamiento de DKIM.

Estos son los pasos a seguir:

  • Generar un par de claves (o utilizar el proporcionado por tu proveedor)
  • Configurar tu servidor de correo electrónico para firmar los correos electrónicos
  • Configurar la zona DNS para DKIM
  • Probar tu configuración DKIM (con una herramienta en línea adecuada)

El registro DNS para DKIM

El registro DNS para DKIM corresponde a un registro TXT que contiene tu clave pública DKIM y que tiene una estructura muy particular, ya que integra el nombre de un selector.

Este nombre de selector, que puede contener minúsculas, mayúsculas y números (sin distinguir entre mayúsculas y minúsculas), será utilizado por el servidor de correo electrónico para buscar el registro DKIM del dominio.

Por lo tanto, el nombre del registro DNS será de esta forma:

selector1-tudominio._domainkey.tudominio.com
Por ejemplo con Microsoft 365:
selector1-esgeeks._domainkey.esgeeks.onmicrosoft.com

Y su valor deberá hacer referencia a DKIM y contener la clave pública:

🤞 ¡No te pierdas ningún truco de seguridad!

¡No enviamos spam! Lee nuestra Política de Privacidad para más información.

v=DKIM1; k=rsa; p=<clave pública>

Como con el registro SPF, el valor está limitado a 255 caracteres. En este valor, “v=DKIM1” corresponde a la versión de DKIM utilizada, mientras que “k=rsa” especifica el nombre del algoritmo utilizado para calcular la firma digital. En una zona DNS, ten en cuenta que es posible utilizar varios pares de claves, y cada clave pública deberá declararse en el DNS con un nombre de selector diferente. Si tomamos el ejemplo de Microsoft 365, la configuración de DKIM implica la declaración de dos selectores en la zona DNS.

Finalmente, ten en cuenta que la longitud de la clave DKIM puede ser de 1024 bits o 2048 bits. Se recomienda utilizar una clave de 2048 bits, aunque no sea el valor predeterminado, por lo que debes tenerlo en cuenta al generar tu clave.

Entender DMARC de Manera Sencilla

¿Qué es DMARC?

DMARC, por Domain-based Message Authentication, Reporting & Conformance, es una especificación técnica complementaria a SPF y DKIM. Además, la traducción de este acrónimo ya nos da información interesante: Autenticación, notificación y conformidad de mensajes basados en un dominio.

De hecho, DMARC es una forma para que los propietarios de dominios digan a los servidores de correo electrónico: “Así es como firmo mis correos electrónicos (SPF y/o DKIM), y esto es lo que deben hacer (la política DMARC) si reciben un correo electrónico que parece provenir de mi dominio, pero que no coincide con estas firmas“. Se presenta en forma de registro DNS (de tipo TXT).

DMARC puede autenticar los correos electrónicos gracias a la información contenida en los registros SPF y DKIM. Para pasar la autenticación DMARC, los mensajes deben estar autenticados por SPF y/o DKIM.

DMARC también permitirá definir una política sobre la conducta a seguir cuando un correo electrónico no pasa las pruebas de autenticación. En este caso, la política DMARC puede ser dejar pasar el correo electrónico e historizarlo, ponerlo en cuarentena (es decir, ponerlo en la carpeta de spam), o rechazarlo por completo.

Además, DMARC también incluye un sistema de informes. Esto significa que los servidores de correo electrónico envían informes al propietario del dominio para decirle cuántos correos electrónicos han recibido de su dominio, cuántos estaban correctamente firmados, cuántos no pasaron las pruebas de autenticación y qué hicieron con los correos electrónicos que no estaban correctamente firmados.

Por lo tanto, DMARC ofrece protección contra la falsificación de correos electrónicos y ayuda a los propietarios de dominios a monitorear el uso de sus dominios para enviar correos electrónicos.

Explicación del funcionamiento de DMARC
Explicación del funcionamiento de DMARC

¿Cómo implementar DMARC?

Una vez que hayas implementado SPF y DKIM para tu dominio, puedes considerar la implementación de DMARC.

Estos son los pasos a seguir para implementar DMARC:

  • Verificar que los mecanismos de autenticación SPF y DKIM estén correctamente configurados para tu dominio
  • Crear tu registro TXT en la zona DNS pública de tu dominio
  • Probar tu configuración DMARC
  • Supervisar los informes DMARC (útil para identificar problemas de entrega de correos electrónicos o intentos de suplantación de tu dominio)

El registro DNS para DMARC

Un registro TXT para describir una política DMARC debe contener un conjunto de directivas, que es importante conocer y comprender.

El registro DMARC de tipo TXT debe llamarse “_dmarc” en tu zona DNS, es decir para el dominio “esgeeks.com”:

_dmarc.esgeeks.com

Este es un ejemplo de valor para este registro:

v=DMARC1; p=<política>; rua=mailto:postmaster@esgeeks.com; pct=100; adkim=s; aspf=s

Se requieren algunas explicaciones…

En primer lugar, DMARC ofrece 3 políticas diferentes (y debes elegir solo una):

  • p=none: este modo no brinda ninguna protección, pero puede resultar útil para estar en modo “auditoría” (supervisión) y saber quién envía correos electrónicos para tu dominio, y especialmente cuáles son los correos electrónicos potencialmente rechazados (por ejemplo, debido a una dirección IP faltante en el SPF).
  • p=quarantine: este modo permite etiquetar los correos electrónicos no autenticados (error) de modo que se consideren spam
  • p=reject: modo más estricto donde los correos electrónicos no autenticados son rechazados (lo que puede provocar la pérdida de correos electrónicos)

Después de implementar SPF y DKIM, te recomiendo que comiences con la política DMARC "p=none" para medir el impacto de la activación de estas medidas de protección. De lo contrario, en caso de una mala configuración, corres el riesgo de “perder” muchos correos electrónicos.

Luego, puedes cambiar a un modo más estricto y el modo “quarantine” te ofrecerá un buen compromiso. Si deseas utilizar el modo “reject“, se recomienda implementar ARC (Authenticated Received Chain) de forma complementaria.

Además, esto es lo que debes saber:

  • pct=100: indica que esta regla se aplica al 100% de los correos electrónicos. Pero, podríamos prescindir de esto porque es la configuración predeterminada.
  • aspf=s:
    • s” significa Strict (Estricto). Esto significa que la dirección del remitente en el encabezado “De” del correo electrónico debe coincidir exactamente con el nombre de dominio del remitente en el registro SPF para que se respete la alineación SPF. Ideal para combatir el phishing, el spam, etc.
    • r” significa Relaxed (Relajado) (modo predeterminado). Esto significa que la alineación SPF se respeta siempre que el dominio del remitente en el encabezado “De” del correo electrónico y la dirección del remitente en el registro SPF compartan el mismo dominio principal (lo que permite autorizar subdominios).
  • adkim=s: mismo principio que para el parámetro anterior (“s” o “r”) pero para la alineación DKIM.
  • rua=mailto:postmaster@esgeeks.com: especifica la dirección de correo electrónico a la que se deben enviar los informes sobre la actividad DMARC (¡importante!).
  • Por último, ten en cuenta que el registro DMARC debe ser único en la zona DNS de tu dominio.

Gracias a estas explicaciones, deberías comprender mejor la sintaxis de un registro DMARC.

Herramientas para SPF, DKIM y DMARC

Implementar SPF y DMARC es relativamente fácil, ya que “solo” necesitas modificar la zona DNS pública de tu dominio. Para DKIM puede ser más complejo si usas un servicio de correo electrónico en línea (Google Workspace, Microsoft 365, AWS, OVHcloud, etc.), ya que necesitas implementar siguiendo las instrucciones del proveedor: revísalo en la documentación, caso por caso.

En todo caso, hay varias herramientas en línea que te serán útiles, especialmente para verificar tu configuración. Eso es lo que veremos en esta parte. Además de las herramientas presentadas, puedes revisar el proyecto parsedmarc para el análisis de los informes de DMARC.

A. Las herramientas de MxToolbox

MxToolbox para comprobar SPF DKIM y DMARC
MxToolbox para comprobar SPF DKIM y DMARC

El sitio de MxToolbox es una caja de herramientas imprescindible cuando buscas realizar verificaciones relacionadas con la mensajería y el DNS de un dominio.

Acceder al sitio web de MxToolbox

Podrás verificar tus configuraciones de SPF, DMARC y DKIM. Además de indicarte la información recopilada del DNS, la herramienta lo analizará y verificará si su sintaxis es correcta. Solo tienes que seleccionar la prueba de tu elección, indicar tu dominio y ejecutar la verificación.

B. Las herramientas de Google Postmaster

Como su nombre lo indica, esta herramienta es ofrecida por Google y se vuelve muy útil para controlar la tasa de spam de tu dominio. Accesible desde una cuenta de Google, puedes agregar uno o varios dominios a esta herramienta (un proceso de validación sirve para demostrar que eres el dueño del dominio).

Esto es aún más importante ya que a partir de febrero de 2024, Google y otros servicios endurecerán las medidas relacionadas a la gestión de los correos electrónicos entrantes. En la documentación de Google podemos leer: “Mantén las tasas de spam reportadas en Postmaster Tools por debajo del 0,10% y evita alcanzar una tasa de spam del 0,30% o más“. De hecho, si tu tasa de spam es demasiado alta, tus correos electrónicos (incluso los legítimos) corren el riesgo de ser considerados como correo basura.

Acceder a Google Postmaster

La gráfica que se muestra a continuación muestra la “Tasa de spam reportada por los usuarios” en los últimos 120 días para un dominio específico del que eres propietario.

En Google Postmaster Tools también están disponibles otras métricas:

  • Reputación de las direcciones IP
  • Reputación de los dominios
  • Ciclo de retroalimentación
  • Autenticación (tasa de éxito de DKIM, SPF, DMARC)
  • Cifrado (tráfico cifrado)
  • Errores de distribución

C. La herramienta Mail-Tester

Mail-Tester para verificar puntuación de spam
Mail-Tester para verificar puntuación de spam

Para terminar, una herramienta llamada Mail-Tester te permite probar el nivel de indeseabilidad de tus correos electrónicos. Para eso, debes enviar un correo electrónico a una dirección temporal y hacer clic en el botón “A continuación comprueba tu puntuación“. La herramienta te indicará una calificación de 10, así como un conjunto de recomendaciones para mejorar tu calificación, sin olvidar los puntos positivos de tu configuración actual. Es una herramienta divertida y accesible para todos.

Acceder a Mail-Tester

Conclusión

Finalmente, la implementación de SPF, DKIM y DMARC es un paso indispensable para quienes desean optimizar la capacidad de entrega de sus correos electrónicos y reforzar la seguridad de su dominio de correo electrónico. Cuando se utilizan los tres juntos, permiten luchar eficazmente contra el spam, el phishing y otras formas de abuso basadas en el correo electrónico.

Sobre este tema, es importante precisar y recordar que es beneficioso para la organización que se esfuerza en proteger su dominio: esto no te impedirá recibir correos electrónicos basura o maliciosos. SPF, DKIM y DMARC son de hecho un enfoque colectivo, ya que cuantos más dominios estén protegidos, más difícil será abusar de los dominios de correo electrónico.

Por otro lado, y esto es importante, ayudan a proteger tu reputación en línea (para evitar que te pongan en la lista negra si un tercero usurpa tu dominio) y a garantizar que tus mensajes lleguen a su destino.

Entonces, ¡no esperes más y comienza a proteger tu servicio de correo electrónico con SPF, DKIM y DMARC! ¡Es un trío ganador! 😉

Mantente conectado con nuestro boletín informativo. ¡Regístrate!

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda