CUSTOMIZE ¿Estás usando TLS anterior a 1.2? Está bien, los retrasos en las actualizaciones de mantenimiento le ocurren a todos. Lo entendemos. Sin embargo, es hora de seguir adelante.
Business in a box.
Descubre nuestras soluciones.
Habla con nuestro equipo de ventas
¿Estás usando TLS anterior a 1.2? Está bien, los retrasos en las actualizaciones de mantenimiento le ocurren a todos. Lo entendemos. Sin embargo, es hora de avanzar.
¿Recuerdas allá por junio de 2018 cuando desaprobamos el uso de TLS 1.0? Si no, está bien, puedes leer todo al respecto en esta publicación. Bueno, aquí estamos, 2 años después y la siguiente versión está a punto de quedar obsoleta, así que queremos que estés preparado y evites cualquier interrupción en el servicio. Esta publicación trata sobre prepararte para funcionar sin el uso de TLS1.1 para que podamos restringir el acceso solo a TLS1.2. Te guiaremos sobre cómo verificar tu versión actual y cómo actualizar a la última. Solo por diversión, realmente nos gustaría escuchar tus comentarios y agregarte a un “muro de asombrosidad” con todas aquellas empresas conscientes de la seguridad que hacen el cambio temprano.
¿Esto me afecta?
En 2018 les pedimos a nuestros clientes que actualizaran, y TLS 1.2 ha sido la recomendación durante bastante tiempo, por lo que es muy probable que usted NO sea afectado. Sin embargo, si utiliza algún método para inyectar mensajes (SMTP o REST API) o recopilar datos (métricas o webhooks, etc), entonces realmente debería verificar ahora para asegurarse de que su sistema pueda soportar TLS 1.2. Asegúrese de ejecutar las siguientes pruebas en los servidores que realmente se conectan a SparkPost.
Por qué es importante
SparkPost no aceptará conexiones en TLS 1.1 después de septiembre de 2020
Las versiones antiguas no son seguras
TLS 1.2 ha sido el protocolo recomendado durante más de una década
Todos los chicos geniales lo están haciendo
¿Por qué ahora?
En realidad, la pregunta debería ser “¿por qué todavía lo estás apoyando?” TLS 1.2 ha sido el estándar seguro recomendado durante más de una década y estamos en el momento en el que casi nadie ofrece soporte alguno para nada menos que TLS1.2. Es hora de que el soporte HTTPS débil muera de una vez por todas. Si aún estás usando TLS 1.1 después de marzo de 2020, tendrás dificultades para conectarte a la mayoría de los servicios. SparkPost ha proporcionado un amplio margen de tiempo para actualizar esto y ahora estamos enviando los avisos finales para que lo actualices antes de septiembre, cuando lo desactivaremos definitivamente.
Pero, dime, ¿cómo puedes arreglarlo?
Es muy posible que su IT SysAdmin o WebAdmin ya haya hecho esto por usted como parte de su mantenimiento normal. Si es así, debería invitarles a una cerveza y darles las gracias. Si no, puede seguir algunos de los pasos a continuación para hacerlo en Linux, Windows y Mac.
Tenga en cuenta que a lo largo de este documento probaremos con el punto de conexión US SparkPost
Si normalmente utiliza el despliegue europeo, debe usar el punto de conexión EU en su lugar.
¿Cómo puedes comprobar? (versión de Linux)
Primero, verifiquemos si tu amable administrador del sistema ya se encargó de esto por ti. Esto es en realidad parte de la configuración SSL, por lo que se puede gestionar en la configuración de tu sistema. Suponiendo que estás usando Linux, el método más descriptivo es usar nmap, pero también puedes usar openssl. Puedes usar nmap con Linux, Windows y Mac, pero exploraremos otros métodos para Windows y Mac también, si no deseas instalar software nuevo.
Para hacer esto con nmap, prueba los cifrados contra un host HTTPS conocido. Dado que el objetivo es asegurarnos de que estamos conectando a SparkPost de forma segura, probemos ese punto final. Asegúrate de ejecutar las siguientes pruebas en los servidores que realmente se conectan a SparkPost.
nmap --script ssl-enum-ciphers -p 443 api.sparkpost.com
Esto se hizo en mi propio servidor de desarrollo y puedes ver fácilmente que mi configuración admite TLS 1.1 y 1.2, pero no 1.3. Es importante señalar en este punto que AWS ALBs, y por lo tanto las conexiones de SparkPost, aún no admiten TLS 1.3, pero está en la hoja de ruta de AWS.
Iniciando Nmap 6.40 ( http://nmap.org ) el 2020-05-06 22:41 UTC Informe de escaneo de Nmap para api.sparkpost.com (52.13.246.255) Host está activo (latencia de 0.00059s). Otras direcciones para api.sparkpost.com (no escaneado): 34.211.102.211 52.43.22.201 54.213.185.174 100.20.154.199 52.43.110.79 52.40.215.39 52.40.175.169 registro rDNS para 52.13.246.255: ec2-52-13-246-255.us-west-2.compute.amazonaws.com PUERTO ESTADO SERVICIO 443/tcp abierto https | ssl-enum-ciphers: | TLSv1.1: | cifrados: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - fuerte | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - fuerte | TLS_RSA_WITH_AES_128_CBC_SHA - fuerte | TLS_RSA_WITH_AES_256_CBC_SHA - fuerte | compresores: | NULL | TLSv1.2: | cifrados: | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA - fuerte | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 - fuerte | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - fuerte | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA - fuerte | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - fuerte | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 - fuerte | TLS_RSA_WITH_AES_128_CBC_SHA - fuerte | TLS_RSA_WITH_AES_128_CBC_SHA256 - fuerte | TLS_RSA_WITH_AES_128_GCM_SHA256 - fuerte | TLS_RSA_WITH_AES_256_CBC_SHA - fuerte | TLS_RSA_WITH_AES_256_CBC_SHA256 - fuerte | TLS_RSA_WITH_AES_256_GCM_SHA384 - fuerte | compresores: | NULL |_ menor fuerza: fuerte Nmap hecho: 1 dirección IP (1 host activo) escaneada en 0.11 segundos
En este punto, realmente puedes detenerte si quieres porque el objetivo es asegurarte de que puedes conectar a SparkPost usando TLS 1.2. Si tu conexión admite TLS 1.2, eso es lo que necesitamos en este momento, así que estamos bien aquí. Ve a comprarle una cerveza a ese SysAdmin y dale las gracias.
Envíanos un correo electrónico y háznoslo saber que tuviste éxito.
Comprobando el soporte en tu Mac
La razón más común por la que puede necesitar verificar el soporte en su Mac es que lo usa para desarrollo local, así que asumamos eso y verifiquemos su soporte.
El método menos invasivo es usar curl, que debería estar integrado en cada Mac. Abra la aplicación de Terminal y use el flag de protocolo para probar específicamente TLS1.2.
curl https://api.sparkpost.com/ --tlsv1.2 --verbose * Intentando 54.213.185.174... * TCP_NODELAY set * Conectado a api.sparkpost.com (54.213.185.174) puerto 443 (#0) * ALPN, ofreciendo h2 * ALPN, ofreciendo http/1.1 * Selección de cifrado: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH * ubicaciones de verificación de certificados establecidas con éxito: * CAfile: /etc/ssl/cert.pem CApath: none * TLSv1.2 (OUT), handshake TLS, Cliente hello (1): * TLSv1.2 (IN), handshake TLS, Servidor hello (2): * TLSv1.2 (IN), handshake TLS, Certificado (11): * TLSv1.2 (IN), handshake TLS, Intercambio de claves del Servidor (12): * TLSv1.2 (IN), handshake TLS, Finalización del Servidor (14): * TLSv1.2 (OUT), handshake TLS, Intercambio de claves del Cliente (16): * TLSv1.2 (OUT), cambio de cifrado TLS, Cliente hello (1): * TLSv1.2 (OUT), handshake TLS, Finalizado (20): * TLSv1.2 (IN), cambio de cifrado TLS, Cliente hello (1): * TLSv1.2 (IN), handshake TLS, Finalizado (20): * Conexión SSL usando TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256 * ALPN, el servidor aceptó usar h2 * Certificado del servidor: * sujeto: CN=*.sparkpost.com * fecha de inicio: 30 de enero 00:00:00 2020 GMT * fecha de expiración: 28 de febrero 12:00:00 2021 GMT * subjectAltName: el host "api.sparkpost.com" coincide con el cert de "*.sparkpost.com" * emisor: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon * Verificación del certificado SSL ok. * Usando HTTP2, el servidor admite el uso múltiple * Estado de la conexión cambiado (HTTP/2 confirmado) * Copiando datos HTTP/2 en el buffer de transmisión al buffer de conexión después de la actualización: len=0 * Usando ID de Stream: 1 (manejo fácil 0x7fbd69805200) > GET / HTTP/2 > Host: api.sparkpost.com > User-Agent: curl/7.54.0 > Accept: */* > * Estado de la conexión cambiado (MAX_CONCURRENT_STREAMS actualizado)! < HTTP/2 200 < fecha: jue, 07 may 2020 15:14:30 GMT < tipo de contenido: text/plain < longitud del contenido: 95 < servidor: msys-http < * Conexión #0 al host api.sparkpost.com dejado intacto ¡Oh, hola! ¡Deberías venir a trabajar con nosotros y construir cosas geniales!
Si desea probar usando la conexión SMTP, también puede hacerlo con este comando:
openssl s_client -crlf -starttls smtp -tls1_2 -connect smtp.sparkpostmail.com:587
Devuelve una gran cantidad de datos incluyendo:
SSL-Session: Protocolo : TLSv1.2 Cifrado : ECDHE-RSA-AES256-GCM-SHA384
Comprobando compatibilidad en Windows
Similar al caso de uso de Mac, la razón más común por la que podrías necesitar verificar el soporte en tu Windows es que lo usas para desarrollo local, así que asumamos eso y verifiquemos tu soporte.
Windows 7 y Windows 10 utilizan básicamente el mismo proceso. Si estás usando algo anterior, por favor actualiza ya que las versiones anteriores no soportan TLS 1.2.
Empieza haciendo clic en INICIO en la esquina inferior izquierda (normalmente).
Escribe "Opciones de Internet" y selecciona el resultado de la lista que aparece.
Haz clic en la pestaña Avanzado y desde allí desplázate hasta el final. Si TLS 1.2 está marcado, ya estás listo. Si no lo está, por favor marca la casilla adyacente a Usar TLS 1.2 y luego Aplica.
Espera, ¿qué? ¿No 1.2?
Vaya, amigo. Tu trabajo aún no está hecho.
Si solo tienes TLS1.1, entonces deberías actualizar la configuración de tu cifrado.
Suponiendo que estás usando Linux y Apache para la gestión de conexiones TLS, puedes actualizar la configuración de SSL modificando esta línea para agregar “+TLSv1.2 ”:
SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
(Nota al margen: Dado que realmente ya no son compatibles en ningún lugar, tiene sentido también eliminar las configuraciones 1.0 y 1.1 mientras estás aquí.)
Esa configuración típicamente se encuentra en /etc/httpd/conf.d/ssl.conf
Reinicia Apache y estarás listo para continuar.
service httpd restart
Si estás utilizando Nginx, querrás modificar esta línea de una manera similar:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Esa configuración típicamente se encuentra en /etc/nginx/conf.d/
Reinicia Nginx y estarás listo para continuar.
service nginx restart
Si encuentras algún mensaje de error con el reinicio, puede que tengas una biblioteca SSL desactualizada. Asegúrate de estar usando al menos openssl v1.0.1g.
Si estás usando Windows, las instrucciones para configurar TLS1.2 están en la sección “Checking for support in Windows” más arriba.
¿Todo listo ahora? Envíanos un correo electrónico y háznoslo saber que tuviste éxito.
Yendo un paso más allá
¿Por qué detenerse en TLS 1.2 cuando sabes – simplemente sabes – que todos vamos a tener que actualizar a TLS 1.3 en el próximo año o algo así. ¿Por qué no simplemente actualizar a TLSv1.3 mientras estamos en ello?
Desafortunadamente, los ALBs de AWS aún no soportan TLS1.3, así que si actualizas tu configuración, tu conexión a SparkPost y cualquier otro servicio de AWS que utilice la capa ALB seguirá limitada a TLS1.2. Personalmente, todavía creo que es una buena idea adelantarse y actualizar a 1.3 mientras estás haciendo cambios de todos modos.
Si quieres añadir soporte para TLS 1.3 probablemente tendrás que actualizar tu biblioteca OpenSSL primero a la V1.1.1 o posterior y luego añadir +TLSv1.3 a la línea de protocolo mencionada anteriormente. Instrucciones similares se pueden encontrar aquí para Nginx y Cloudflare también.
Mantente seguro ahí fuera
Finalmente, sería genial si pudieras enviarnos un correo electrónico rápido para hacernos saber que has verificado que eres compatible con TLS 1.2. Realmente no queremos dejar a nadie fuera y la fecha límite es septiembre de 2020. Si sabemos que estás en la zona segura, nos sentiremos mucho mejor al desactivar el antiguo soporte.