Product

Fin del soporte de las versiones 1.0 y 1.1 de TLS

Desde los inicios de Mailgun, nos hemos propuesto garantizar que nuestros remitentes puedan enviar sus emails con la mayor seguridad posible. Lo seguimos haciendo en la actualidad al finalizar el soporte de TLS 1.0 y 1.1 en favor de la versión 1.2 de TLS, que es más segura. Más información...
Imagen para Fin del soporte de las versiones 1.0 y 1.1 de TLS

Desde los inicios de Mailgun, nos hemos propuesto garantizar que nuestros remitentes puedan enviar sus emails con la mayor seguridad posible. Cuando anunciamos la asistencia de TLS en 2014, lo hicimos pensando en el cliente y lo seguimos haciendo en la actualidad al finalizar la asistencia de TLS 1.0 y 1.1 en favor de la versión 1.2 de TLS, que es más segura. 

Dicho esto, es importante tener en cuenta que el 8 de marzo de 2021, Mailgun dejará de permitir conexiones TLS que utilicen las versiones obsoletas 1.0 y 1.1.

¿Por qué retirar las versiones 1.0 y 1.1 de TLS?

Las versiones más antiguas de TLS están plagadas de vulnerabilidades de seguridad. Por ello, estos protocolos se actualizan con el tiempo para corregir dichas vulnerabilidades y mantener la seguridad de los usuarios. TLS 1.0 surgió en 1999 y ha tenido muchos problemas con heartbleed, POODLE, CRIME, etc. Dicho esto, ya era hora de que las empresas dejaran de ofrecer asistencia para las versiones 1.0 y 1.1.

En lo que respecta a la retirada de TLS, muchas otras empresas tecnológicas han decidido suprimir también estos protocolos antiguos. En marzo de 2020, los cuatro principales proveedores de navegadores de internet dejaron de ofrecer asistencia para TLS 1.0 y 1.1, lo que supuso un gran paso en la dirección correcta para mejorar la seguridad. Aunque Mailgun no es la primera ni la última empresa en anunciar el fin de su asistencia para TLS 1.0 y 1.1, ahora es el momento perfecto para comprobar y asegurarte de que tu entorno es compatible con la versión 1.2 y no sufrir así ningún tiempo de inactividad.

Si ya utilizas TLS 1.2, ¡genial! Hacer este tipo de actualizaciones de mantenimiento es imperativo, por lo que adelantarte te ahorrará tiempo en el futuro. Si no tienes la certeza de que tu entorno sea compatible con TLS 1.2, ahora es un momento excelente para volver a comprobarlo. 

Es un proceso sencillo, pero nos hemos adelantado y hemos enumerado a continuación cómo puedes comprobar tu versión de TLS con Mailgun.

Cómo comprobar si tu entorno es compatible con TLS 1.2

Los pasos para comprobar la asistencia para TLS 1.2 en tu entorno son bastante sencillos. A continuación enumeramos los detalles sobre cómo comprobarlo mediante los sistemas Linux y Windows. Si es compatible con la versión 1.2, no hay más pasos que seguir, ya que utilizaremos esa versión por defecto.  En caso de que tu entorno no sea compatible con TLS 1.2, tienes algo de trabajo extra por delante.

Linux

Si tu aplicación de envío se ejecuta en un servidor Linux, puedes utilizar la herramienta nmap para comprobar qué versiones de TLS admite tu pila tecnológica. En tu máquina local, ejecuta el siguiente comando y sustituye “api.mailgun.net” por tu propio dominio:

                                

                                    nmap --script ssl-enum-ciphers -p 443 api.mailgun.net
                                
                            

Aquí tienes un ejemplo de la salida para api.mailgun.net:

                                

                                    Starting Nmap 7.70 ( https://nmap.org ) at 2020-09-11 13:39 CDT
Nmap scan report for api.mailgun.net (3.220.71.10)
Host is up (0.047s latency).
Other addresses for api.mailgun.net (not scanned): 34.198.11.146 3.93.126.5 52.87.122.201 52.7.64.51 3.226.21.161 52.7.38.97 34.199.221.7
rDNS record for 3.220.71.10: ec2-3-220-71-10.compute-1.amazonaws.com

PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   TLSv1.0:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.1:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|   TLSv1.2:
|     ciphers:
|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A
|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A
|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A
|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A
|     compressors:
|       NULL
|     cipher preference: server
|_  least strength: A

                                
                            

Como puedes ver en la salida anterior, api.mailgun.net es compatible con TLSv1.2, por lo que todo está listo. Siempre que obtengas una salida similar que muestre TLSv1.2, ¡también lo estarás tú!

Si no ves la salida anterior, debes empezar por actualizar Apache/Nginx y OpenSSL y/o actualizar tus archivos de configuración nginx.conf o Apache para habilitar TLSv1.2.

Windows

Para quienes utilizan .NET, en primer lugar, conviene asegurarse de que su servidor sea compatible con TLS 1.2.  Si ejecutas Server 2008 o 2012, la asistencia para TLS 1.2 no estaba disponible por defecto, así que asegúrate de tener las pertinentes actualizaciones instaladas para que sea compatible con TLS 1.2. Si ejecutas Server 2012 R2 o 2016, TLS 1.2 ya debería estar instalado y por defecto. 

A continuación, te recomendamos encarecidamente que actualices todas tus aplicaciones para usar el framework .NET 4.6 o superior, ya que son compatibles con TLS 1.2 y están configurados por defecto. Si no es así, es posible que puedas utilizar las siguientes soluciones alternativas para versiones anteriores de .NET:

  1. .NET 4.5. TLS 1.2 es compatible, pero no es un protocolo por defecto. Al utilizar el siguiente código, TLS 1.2 pasará a ser el predeterminado. Tendrás que ejecutar este código antes de realizar una conexión a cualquier recurso seguro:

System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;

2. .NET 4.0. TLS 1.2 no es compatible, pero si tienes .NET 4.5 (o superior) instalado en el mismo sistema, todavía puedes optar por habilitarlo. Dado que SecurityProtocolType en .NET 4.0 no tiene una entrada para TLS 1.2, tendrás que usar una representación numérica de este valor enum:

ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;

O utiliza el siguiente truco de registro.

3. .NET 3.5 o inferior. Asegúrate de tener las siguientes actualizaciones, así como las claves de registro.

Punto de conexión de prueba de Mailgun

Además, hemos añadido recientemente un punto de conexión de API de prueba que solo aceptará peticiones mediante la versión 1.2 de TLS (https://api-test.mailgun.net/v3) para permitir a nuestros clientes probar su configuración. Si has realizado actualizaciones y quieres asegurarte de que te estás conectando correctamente con el protocolo adecuado, hacer una llamada a la API en este punto de conexión confirmará tu actualización. De lo contrario, las llamadas a este punto de conexión fallarán si tu aplicación sigue utilizando un protocolo anterior.

Ten en cuenta que este punto de conexión solo está configurado para pruebas, no admitirá cargas de envío normales completas y no es específico de ninguna región. Cuando hayas completado las pruebas, tendrás que actualizar tu configuración al punto de conexión anterior que estabas utilizando.

A medida que realicemos estos cambios y migraciones a versiones más nuevas en el futuro, recuerda que siempre te tenemos en mente. Con las publicaciones del blog y los recordatorios por email, nuestro objetivo es asegurarnos de no tomar por sorpresa a ningún cliente.