Cómo mejorar la seguridad del email usando MTA-STS y SMTP TLS

Cómo mejorar la seguridad del email usando MTA-STS y SMTP TLS

José Antonio Lorenzo

En el momento que enviamos un correo electrónico no sólo buscamos que llegue a su destino. También esperamos que nuestra privacidad sea respetada y que llegue a su destino manteniendo su integridad, de tal manera que no sea manipulado. Lo que queremos, es que cuando nosotros enviamos un e-mail, vaya cifrado, y así no pueda ser leído ni manipulado por los ciberdelincuentes. Una cosa muy importante es que en el protocolo SMTP, cuando enviamos un correo electrónico, el cifrado es opcional. Esto quiere decir que nuestro e-mail se puede enviar en texto plano, y para hacer cumplir la seguridad se ha creado un estándar relativamente nuevo que no es otro MTA-STS del que hablaremos a continuación.

Vamos a empezar hablando del protocolo SMTP, de su origen, por qué necesitamos que vaya cifrado y que nos puede ofrecer el nuevo protocolo MTA-STS.

Evolución de SMTP a lo largo del tiempo

El protocolo SMTP viene del ingles Simple Mail Transfer Protocol cuya traducción podemos denominarla como protocolo para transferencia simple de correo. En cuanto a su origen, se remonta al año 1982, y es el protocolo de correo que utilizamos para el envío de correos electrónicos entre diferentes ordenadores, dispositivos móviles como smartphones etc.

Con el paso del tiempo, SMTP ha ido evolucionado y mejorando su seguridad. Así nació STARTTLS que es un protocolo que se agregó a STMP, cuya función es permitir a un servidor de correo electrónico decirle a otro que quiere mandar un e-mail a través de un canal de comunicación cifrado. De este modo, conseguimos convertir una conexión no segura en otra segura que está cifrada, mediante el protocolo TLS. Aquí tenéis un sencillo esquema de cómo funciona SMTP en los proveedores de servicio.

Hoy en día el protocolo STARTTLS es ampliamente utilizado para proporcionar confidencialidad en la autenticación con el servidor de correo. Además, al utilizar este protocolo los puertos TCP involucrados en la comunicación son diferentes. Por ejemplo, SMTP usa el puerto 25 TCP, pero si usamos SMTPS (con STARTTLS) el puerto es el 465 por defecto.

MTA-STS y SMTP TLS Reporting (TLS-RPT) para mejorar la seguridad

Un problema muy importante que tenemos con SMTP, es que los e-mail se pueden enviar en texto plano debido a que el cifrado es opcional.

Para mejorar la situación se creó un nuevo mecanismo llamado Mail Transfer Agent-Strict Transport Security cuyas siglas son MTA-STS. Este estándar, bastante reciente, permite a los proveedores de servicios de correo hacer cumplir la seguridad de la capa de transporte con un cifrado TLS para proteger las conexiones SMTP. Además, también permite especificar si los servidores SMTP de envío deben denegar la entrega de los mensajes a los hosts MX que no ofrezcan TLS con un certificado de servidor de confianza. El beneficio que se obtiene, es que se ha demostrado que mitiga con éxito los ataques de degradación de TLS y los ataques Man-in-the-Middle (MitM).

Otro elemento que ayuda a mejorar la seguridad es el estándar SMTP TLS Reporting (TLS-RPT) y está documentado en el RFC 8460 que se publicó en septiembre de 2018. Gracias a él, nos va a permitir reportar problemas de conectividad TLS experimentados por aplicaciones que envían correo electrónico. Así, nos va permitir el aviso cuando haya problemas de entrega de un correo electrónico debido a que éste no esté cifrado con TLS.

Por qué necesitamos enviar emails cifrados

El objetivo es simple: queremos que nuestro correo electrónico llegue a sus destinatarios sin que nadie lo haya leído o manipulado. Así, la razón principal es mejorar la seguridad a nivel de transporte durante la comunicación SMTP, con la finalidad de garantizar la privacidad del tráfico de correo electrónico. En este sentido, el cifrado de los mensajes entrantes dirigidos a nosotros, también mejora la seguridad de la información, ya que se utiliza la criptografía para salvaguardar la información electrónica. Por ese motivo, tanto el emisor como el receptor se están beneficiando de esta mejora de seguridad. Otra cuestión importante, es que los ataques Man-in-the-Middle (MitM), como SMTP Downgrade y ataques de suplantación de DNS cada vez son más frecuentes.

Los ataques MitM y suplantación de DNS

Un ataque Man-in-the-Middle attack o MitM es aquel en el que el atacante adquiere la capacidad de leer, insertar y modificar a voluntad las comunicaciones. De esta forma, su trabajo va a consistir en ser capaz de observar e interceptar mensajes entre los dos usuarios, y luego procurar que ninguna de las dos víctimas conozca que el enlace ha sido vulnerado.

Como ya hemos comentado anteriormente, para implementar el cifrado en el protocolo SMTP debemos utilizar el comando STARTTLS. El atacante MITM se puede aprovechar de esta situación realizando un ataque de degradación SMTP en la conexión SMTP. Lo que hace el ciberdelincuente es alterar el comando, reemplazarlo o eliminarlo. Entonces, lo que sucede, es que obliga al cliente a volver a mandar ese correo electrónico en texto sin formato.

Hacker-Ciberdelincuente

Otra forma en la que podrían atacar, es mediante un ataque de suplantación de DNS. Una detalle muy importante que debéis saber, es que DNS es un sistema no cifrado. De esta forma, un ciberdelincuente actuaría reemplazando los registros MX en la respuesta a la consulta de DNS con un servidor de correo al que tiene acceso y está bajo su control. Luego, desviaría fácilmente el tráfico de DNS que fluye a través de la red.

Lo que sucedería a continuación, es que nuestro proveedor de correo entregaría nuestro e-mail al servidor del atacante. En ese momento, el ciberdelincuente puede tener acceso y manipular ese mensaje. Después, ese correo electrónico se reenviará posteriormente al servidor del destinatario previsto, sin que haya sido detectado.

Consigue siempre cifrado TLS con MTA-STS

En el momento que implementamos MTA-STS, las direcciones MX se obtienen a través de DNS y se comparan con las que se encuentran en el archivo de política MTA-STS, que se envía a través de una conexión segura HTTPS, lo cual va a mitigar los ataques de suplantación de DNS. Por lo tanto, si no enviamos nuestros e-mails a través de una conexión segura, corren el riesgo de ser interceptados o manipulados. Para solucionar este problema, tenemos MTA-STS que mitiga con éxito los ataques criptográficos y mejora la seguridad de nuestra información mediante la utilización del cifrado TLS.

En  resumen MTA-STS nos ofrece:

  1. Transferencia de e-mail cifrada a través de TLS.
  2. Si no se puede establecer una conexión cifrada, el correo electrónico no se entrega. Así no se envía texto sin cifrar.
  3. La políticas MTA-STS sirven de forma segura las direcciones MX dificultando el ataque de suplantación de DNS.

Además, MTA-STS nos ofrece protección contra ataques de degradación, de suplantación de DNS y de MitM, resuelve varios problemas de seguridad de SMTP como el de los certificados TLS caducados.

La importancia de habilitar TLS-RPT

Gracias a TLS-RPT los propietarios de dominios pueden obtener informes de diagnóstico en formato de archivo JSON sobre los correos electrónicos dirigidos a su dominio. Así, pueden conocer si se enfrentan problemas de entrega relacionados con un ataque de degradación u de otro tipo. Si habilitamos TLS-RPT obtenemos estos beneficios:

  • Se notificará si no llega un correo electrónico a su dominio debido a algún problema en la entrega.
  • Proporciona informes de diagnóstico detallados que nos permiten identificar el problema de entrega del e-mail para solucionarlo lo antes posible.

La adopción de MTA-STS y TLS-RPT ya está en marcha

Los principales proveedores de servicios de correo como Microsoft y Google ya lo admiten. Google fue de los primeros en adoptar este protocolo. La adopción de MTA-STS por parte de Google y otras grandes empresas indican el interés que tienen por tener unos protocolos seguros para cifrar el correo electrónico en tránsito.

Por lo tanto, la mejor forma de garantizar la seguridad de nuestros correos electrónicos, hoy en día, es utilizar el protocolo MTA-STS junto a TLS-RPT para que nos reporte cuando se está produciendo algún fallo.

¡Sé el primero en comentar!