Inicio
/
Ayuda con Páginas Web
/
Estadísticas y errores
/
Error SSL Handshake Failed: Qué es y cómo solucionarlo

Error SSL Handshake Failed: Qué es y cómo solucionarlo

Un handshake SSL funciona como un apretón de manos normal: simboliza los términos acordados entre dos partes. En particular, un servidor web y un cliente web (por ejemplo, un navegador) se autentican, definen los protocolos de encriptación a través de certificados SSL/TLS, y establecen una conexión segura entre ellos.

Es un proceso simplificado universalmente adoptado en la mayoría de los sitios web y aplicaciones web. Ya sea que estés comprando en línea, usando tu aplicación favorita o simplemente visitando un sitio web, un proceso de handshake SSL se lleva a cabo silenciosamente en segundo plano.

Sin embargo, ocasionalmente, algo puede bloquear un handshake SSL, impidiéndote conectar con tu sitio web favorito. Como resultado, verás el error “SSL Handshake Failed”, lo cual puede ser bastante frustrante e incluso preocuparte.

Pero no temas, aunque pueda parecer intimidante, el error SSL Handshake Failed no es tan complejo como parece. Solo un pequeño número de problemas puede causarlo, y son fáciles de resolver. Esta guía profundizará en el error “SSL Handshake Failed”, sus desencadenantes más comunes y cómo solucionarlo, así que sigue leyendo.

El error SSL Handshake Failed ocurre cuando un cliente web (como un navegador o aplicación web) y un servidor web no pueden establecer una conexión segura y encriptada. Típicamente, el error podría ser causado por una negociación fallida de métodos de encriptación, certificados SSL faltantes o inválidos, software y extensiones de terceros, configuración del servidor o configuraciones de hora del sistema incorrectas.

El error SSL Handshake Failed usualmente viene con un mensaje de error. Sin embargo, este mensaje puede aparecer de manera diferente dependiendo del servidor web, navegador o aplicación web. Incluso podrías ver otros errores SSL en su lugar, como “La conexión no es privada” o ERR_SSL_VERSION_OR_CIPHER_MISMATCH.

Los usuarios de Cloudflare son más propensos a detectar el error cuando sus sitios web sufren de una mala configuración del certificado SSL. Estará acompañado por el código de error 525. Así es como se ve.

Error SSL Handshake Failed en Cloudflare

¿Cuáles son las causas del fallo de handshake?

El problema indicado por el error “SSL Handshake Failed” es claro: el servidor y el cliente no pueden establecer un handshake SSL. Sin embargo, puede que tengas que investigar un poco para encontrar al culpable. Las razones de tus problemas incluyen:

  • Hora y fecha del sistema incorrectas: Los certificados SSL están sellados por tiempo, por lo que tienen una duración limitada. Si hay una discrepancia considerable de tiempo entre el servidor y el cliente, cualquiera de las partes puede percibir un certificado SSL como expirado, abortando así la conexión.
  • Versión del navegador desactualizada: Es importante mantener el navegador actualizado para que sea compatible con los últimos protocolos de seguridad. Si un navegador web está desactualizado, puede que no reconozca el certificado del servidor web.
  • Configuraciones SSL/TLS incompatibles: Tu navegador y el servidor deben acordar una versión de protocolo mutua. Si ambas partes están configuradas para trabajar con diferentes configuraciones SSL/TLS, no podrán iniciar un handshake SSL adecuado.
  • Suites de cifrado no compatibles: Una suite de cifrado es un conjunto de algoritmos que ayudan a asegurar las conexiones de red usando el protocolo SSL/TLS. Si el servidor web usa suites de cifrado que no son compatibles con el cliente, un handshake SSL fallará.
  • Extensiones de navegador problemáticas: Algunas extensiones pueden interferir con el proceso de handshake.
  • Firewall o software antivirus demasiado protector: A pesar de ser instrumentales para la seguridad, estas aplicaciones a veces pueden ser demasiado agresivas y obstruir el proceso de handshake SSL.
  • Certificado SSL expirado o inválido: El certificado del servidor debe ser válido y reconocido; de lo contrario, los navegadores rechazarán la conexión.
  • Servidor que no soporta SNI: SNI permite múltiples certificados SSL en una sola dirección IP. Si no es compatible, los clientes web pueden no conectarse al sitio web deseado e iniciar un handshake SSL con un certificado expirado instalado en el servidor web.

Cómo solucionar el error SSL Handshake Failed: 8 métodos que funcionan

En resumen, un error de fallo de handshake SSL podría ser desencadenado por varios problemas. Sin embargo, no son tan complejos, y solo necesitas seguir algunos pasos para resolver el problema. Así que, comencemos con las soluciones más comunes.

8 maneras de solucionar el error SSL Handshake Failed

Verifica la configuración de hora y fecha en tu computadora

Si la configuración de hora y fecha de tu computadora está desajustada, podría producir el problema “SSL Handshake Failed”. Este problema a menudo ocurre cuando te has movido entre zonas horarias y la hora de tu sistema no se ha actualizado, creando una brecha de diferencia horaria con la zona horaria del servidor. Por lo tanto, configurar la hora automáticamente debería ser uno de los primeros pasos.

Por ejemplo, si estás en un Mac, abre Ajustes del Sistema > General > Fecha y hora.

Configuración de Fecha y Hora en Mac

Activa el botón Ajustar hora y fecha automáticamente para asegurarte de que la configuración de hora de tu computadora sea correcta.

Configurar hora y fecha automáticamente en Mac

Actualiza tu navegador

Las actualizaciones del navegador a menudo incluyen soporte para los últimos protocolos de encriptación y suites de cifrado. Así que, actualizar tu navegador web es a menudo una manera simple y eficiente de deshacerte del error “SSL Handshake Failed”.

Tomemos Google Chrome, uno de los navegadores más populares, por ejemplo. Abre su menú kebab (tres puntos) en la esquina superior derecha y selecciona Configuración.

Configuración en Google Chrome

En la página de Configuración, abre la sección Información de Chrome. Aunque Chrome se actualiza automáticamente, existe la posibilidad de que una nueva versión no se haya instalado correctamente. Si tienes la última versión, verás el mensaje “Chrome está actualizado.” De lo contrario, se te pedirá que instales la actualización más reciente.

Verifica la configuración de soporte de versión SSL/TLS

La encriptación criptográfica ha evolucionado a lo largo de los años y ha pasado por algunas revisiones importantes. Primero, fue facilitada por SSL (Secure Socket Layer), que luego fue reemplazada por TLS (Transport Layer Security).

Los navegadores principales (como Chrome y Firefox) tienden a mantenerse al día con los últimos protocolos de seguridad, pero existe la posibilidad de que tu propio navegador no soporte la versión SSL/TLS de un sitio web. Esta incompatibilidad de protocolo en la comunicación cliente-servidor podría ser la causa del error “SSL Handshake Failed”.

Puedes examinar la configuración predeterminada de tu navegador, pero eso implica bucear en menús avanzados, lo cual puede ser complicado. Una manera mucho más simple y fácil de verificar qué versiones SSL/TLS soporta tu navegador es usando una herramienta en línea como el SSL Client Test de Qualys.

Ejecutará diagnósticos rápidos y presentará una evaluación de las capacidades de soporte SSL/TLS de tu navegador.

Página de prueba de cliente SSL de Qualys

Por el contrario, también puedes probar qué versiones SSL/TLS soporta un sitio web con un verificador en línea como Test TLS. Ingresa la dirección del sitio web que produce el error “SSL Handshake Failed” y presiona Test TLS.

La herramienta probará el servidor web contra todas las versiones principales de SSL/TLS y proporcionará los resultados en una página de resumen.

Resultados de Test TLS para el servidor de un sitio web

Si los mismos protocolos TLS son soportados por el dispositivo cliente y el lado del servidor, puedes excluir la posibilidad de incompatibilidad de protocolo y pasar a la siguiente solución.

Verifica las suites de cifrado

Las suites de cifrado definen cómo se encripta, autentica e intercambia la información entre el servidor y el cliente. Cuando el servidor web usa un conjunto de suites de cifrado que no son compatibles con la aplicación cliente, es probable que encuentres el error SSL Handshake Failed.

Probar qué suites de cifrado soporta un servidor puede ayudarte a determinar si la incompatibilidad de suites de cifrado es el problema. Los verificadores en línea como el SSL Server Test de Qualys pueden proporcionar informes detallados sobre la configuración SSL/TLS de un servidor, incluidas las suites de cifrado soportadas. Solo necesitas enviar la dirección del sitio web y presionar Submit. Luego, en la página de resultados, desplázate hacia abajo hasta la sección de Configuration donde puedes ver las Cipher Suites soportadas.

Información de suites de cifrado para un servidor web

Si tu cliente y el servidor usan las mismas suites de cifrado, pasa a la siguiente solución.

Desactiva las extensiones del navegador

Las extensiones son geniales para expandir la funcionalidad de tu navegador, pero ocasionalmente, pueden perturbar el proceso de handshake SSL. Intenta desactivar los plugins y extensiones del navegador instalados, ya que podrían ser los culpables de causar todos los problemas.

Para Chrome, abre el menú kebab (tres puntos) y selecciona Extensiones > Gestionar extensiones.

Menú Gestionar extensiones en Google Chrome

Desactiva una extensión y luego intenta visitar el sitio web que produce el fallo de handshake SSL. Si el error persiste, pasa a la siguiente hasta encontrar al culpable.

Configuración de extensiones del navegador en Google Chrome

Desactiva tu software de firewall/antivirus

Otra razón para el error “SSL Handshake Failed” podría ser un software antivirus o firewall demasiado restrictivo. Intenta desactivar temporalmente tu software de seguridad para ver si está causando problemas.

Si ese es el caso, pon en lista blanca la dirección del sitio web para que puedas seguir visitándolo con tu software antivirus y firewall activado.

Asegúrate de que el sitio web tenga un certificado SSL válido

Si el certificado SSL de un sitio web falta o está expirado, el cliente y el servidor no pueden iniciar una conexión encriptada. Ya sea que seas solo un visitante o el propietario del sitio web, vale la pena verificar si el certificado es válido para asegurarte de que no es la razón de un fallo de handshake SSL.

Una manera rápida y fácil de averiguar si el SSL está en orden es usar un verificador en línea como este SSL Checker de SSL Shopper. Solo escribe el dominio del sitio web en el campo de texto y presiona Check SSL para obtener un informe de estado, que mostrará la fecha de expiración, nombres comunes, firma y otra información importante.

Si todo aparece en verde, puedes estar tranquilo: el certificado SSL está en orden. Sin embargo, si ves señales de advertencia y estás administrando el sitio web, tendrás que reinstalar el certificado.

SSL Checker de SSL Shopper

Verifica si tu servidor soporta SNI

SNI (Server Name Indication) es una característica crucial en los servidores web modernos, permitiéndoles alojar múltiples certificados SSL. Sin él, los clientes pueden recibir el certificado del sitio web incorrecto, causando confusiones.

Para verificar si el servidor del sitio web soporta SNI, puedes usar Terminal (en Mac) o Command Prompt (en Windows). Escribe el siguiente comando:

openssl s_client -connect tusitioweb.com:443 -servername tusitioweb.com

Reemplaza tusitioweb.com con el dominio del sitio web que estás verificando. El resultado será información sobre el certificado SSL del dominio. Si todo está bien, los detalles deberían coincidir con el nombre de dominio. Intenta ejecutar el comando varias veces. Si el servidor devuelve el mismo resultado, puedes estar seguro de que soporta SNI, ya que los servidores habilitados para SNI siempre vinculan el nombre de host con el certificado correcto.

Usando Terminal para establecer si un servidor está habilitado para SNI

Sin embargo, si el resultado varía y ves detalles de certificados para diferentes nombres de host, significa que falta SNI.

Conclusión: Solucionando el error de handshake SSL

El handshake SSL es una parte crítica del proceso de encriptación que permite la transmisión segura de datos durante las comunicaciones cliente-servidor. Algunas configuraciones incorrectas pueden perturbar este proceso e impedir que se establezca una conexión segura, llevando al temido error “SSL Handshake Failed”, que puede exponer tus sesiones en línea y arruinar la experiencia del usuario.

Esta guía te arma con un entendimiento fundamental del error SSL Handshake Failed y sus causas más comunes, para que puedas lidiar con él rápidamente antes de que cause algún daño.

Comparte este artículo