err_ssl_version_or_cipher_mismatch o cómo solucionar problemas de negociación SSL

err_ssl_version_or_cipher_mismatch o cómo solucionar problemas de negociación SSL

Fecha: 14/04/2023
Compartir y resumir con IA (¡Elige tu favorita!):
Haz click en los botones de abajo para obtener un resumen del post. Fórmate con Raiola ¡En un futuro habrá más!

ERR_SSL_VERSION_OR_CIPHER_MISMATCH es el error que muestra Google Chrome cuando el navegador y el servidor no logran acordar una versión del protocolo SSL/TLS ni una suite de cifrado comunes. Suele deberse a protocolos obsoletos en el navegador o en el servidor y se resuelve analizando las versiones TLS admitidas (por ejemplo, con SSL Labs), ajustando navegador o servidor, borrando la caché y revisando software que interfiera.

A veces, al intentar acceder a una página web, aparece un error que dice que no se ha podido negociar un protocolo SSL o un conjunto de cifrados. En Google Chrome ese error viene acompañado del texto "err_ssl_version_or_cipher_mismatch"; en otros navegadores, el texto es distinto, aunque muy parecido.

err_ssl_version_or_cipher_mismatch

Cada vez que te conectas a un servidor web mediante el protocolo HTTPS, el navegador hace ciertas negociaciones para asegurar que el intercambio de datos con el servidor es seguro.

Si el cliente (Google Chrome) y el servidor no consiguen ponerse de acuerdo en la versión del protocolo SSL que van a usar, o en la suite de cifrado, aparece el aviso "err_ssl_version_or_cipher_mismatch".

Índice del artículo

  • Motivos por los que aparece el mensaje err_ssl_version_or_cipher_mismatch
  • Cómo saber la causa del mensaje err_ssl_version_or_cipher_mismatch
  • Analizar las versiones TLS soportadas por el servidor
  • Soluciones al error err_ssl_version_or_cipher_mismatch
  • Cambiar los protocolos SSL/TLS soportados en el navegador web
  • Borrar la caché del navegador web
  • Cambiar los protocolos soportados por el servidor
  • Software que interfiere en las conexiones seguras

Motivos por los que aparece el mensaje err_ssl_version_or_cipher_mismatch

Ese error aparece porque la aplicación cliente y el servidor usan versiones TLS distintas, o porque no se ponen de acuerdo en la suite de cifrado con la que van a comunicarse.

En la mayoría de los casos, el motivo es que las versiones de los protocolos SSL/TLS que usa tu navegador están obsoletas. También puede pasar que las obsoletas sean las del servidor.

En todos los productos administrados que ofrecemos en Raiola Networks tenemos el software actualizado para que esto no ocurra.

El mensaje "err_ssl_version_or_cipher_mismatch" no sale solo en navegadores como Google Chrome o Mozilla Firefox: también puede darse en otras aplicaciones, como clientes de correo (Outlook, Thunderbird), o en cualquier programa que se conecte mediante conexiones seguras.

Eso sí, como te comentábamos antes, el texto del error cambia.

Aquí te mostramos cómo, al intentar hacer una conexión de tipo SSH, salta un error porque el servidor y el cliente no se ponen de acuerdo en la suite de cifrado que van a usar, ya que no comparten ninguna, y no se consigue una conexión segura:

fran ➜ ~ $ ssh -v 51.210.87.242
OpenSSH_9.2p1, OpenSSL 3.0.8 7 Feb 2023
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 51.210.87.242 [51.210.87.242] port 22.
debug1: Connection established.
debug1: identity file /home/trabajo/.ssh/id_rsa type -1
debug1: identity file /home/trabajo/.ssh/id_rsa-cert type -1
debug1: identity file /home/trabajo/.ssh/id_ecdsa type -1
debug1: identity file /home/trabajo/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/trabajo/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/trabajo/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/trabajo/.ssh/id_ed25519 type -1
debug1: identity file /home/trabajo/.ssh/id_ed25519-cert type -1
debug1: identity file /home/trabajo/.ssh/id_ed25519_sk type -1
debug1: identity file /home/trabajo/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/trabajo/.ssh/id_xmss type -1
debug1: identity file /home/trabajo/.ssh/id_xmss-cert type -1
debug1: identity file /home/trabajo/.ssh/id_dsa type -1
debug1: identity file /home/trabajo/.ssh/id_dsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: compat_banner: match: OpenSSH_7.4 pat OpenSSH_7.4* compat 0x04000006
debug1: Authenticating to 51.210.87.242:22 as 'trabajo'
debug1: load_hostkeys: fopen /home/trabajo/.ssh/known_hosts: No such file or directory
debug1: load_hostkeys: fopen /home/trabajo/.ssh/known_hosts2: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts: No such file or directory
debug1: load_hostkeys: fopen /etc/ssh/ssh_known_hosts2: No such file or directory
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ssh-ed25519
Unable to negotiate with 51.210.87.242 port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

En la última línea de este intento de conexión, se ve que el mensaje es "no matching cipher found", es decir, que no hay acuerdo sobre qué suite de seguridad usar.
Como ves, el problema es el mismo (esto es, que no hay una negociación SSL exitosa), pero el mensaje es ligeramente distinto.

Cada aplicación muestra el mensaje con un código distinto. En Mozilla Firefox, por ejemplo, es "SSL_ERROR_PROTOCOL_VERSION_ALERT":

err_ssl_version_or_cipher_mismatch

Y en Google Chrome es exactamente "ERR_SSL_VERSION_OR_CIPHER_MISMATCH", como se veía en la captura del inicio del artículo.

Cómo saber la causa del mensaje err_ssl_version_or_cipher_mismatch

Hay varias formas de deshacerte del mensaje "ERR_SSL_VERSION_OR_CIPHER_MISMATCH" al acceder a un sitio web. Las soluciones las puedes aplicar desde tu navegador, Google Chrome por ejemplo, o desde la configuración del servidor, aunque para estas últimas necesitas conocimientos algo más avanzados.

Analizar las versiones TLS soportadas por el servidor

Lo primero que necesitas saber, para tener claro qué camino tomar, son las versiones SSL/TLS que está ofreciendo el servidor.

Hay herramientas online para esto, como la de SSL Labs que nos permite analizar qué protocolos y suites de cifrado permite un servidor a través del protocolo HTTPS. Si quieres analizar otros protocolos, IMAP o SMTP porque tienes problemas al conectar tu aplicación de correo, por ejemplo, pon el nombre del dominio con el puerto, así: raiola.ejemplo.com:465, pero para eso tendrás que crear una cuenta antes.

err_ssl_version_or_cipher_mismatch

En la siguiente imagen, puedes ver el análisis que ha hecho SSL Labs de un servidor de hosting compartido de Raiola Networks. Como ves, soporta TLS 1.3 y TLS 1.2, y también TLS 1.1 y TLS 1.0: son algo antiguos, pero si no se soportan, hay navegadores y sistemas operativos que no podrían acceder a las páginas alojadas en ese servidor. Se ven también las suites de cifrado que soporta cada protocolo.

Soluciones al error err_ssl_version_or_cipher_mismatch

Con las causas claras y sabiendo cómo analizarlas, toca ponerse con las soluciones. Estas son las medidas más sencillas que puedes aplicar para acceder con normalidad a tu sitio web.

Cambiar los protocolos SSL/TLS soportados en el navegador web

Si ves el mensaje "err_ssl_version_or_cipher_mismatch" en Google Chrome al intentar acceder a tu sitio, haz lo siguiente:

Abre una nueva pestaña y accede a chrome://flags. En el buscador de la parte superior, escribe SSL/TLS, busca la opción "Minimum SSL/TLS" y configura una que soporte tu servidor.

Ojo con esta opción, porque puede dejar expuesto tu navegador: si la usas, tienes que estar muy seguro de lo que haces.

En Firefox se hace de forma muy parecida:

Abre una nueva pestaña, accede a about://config, escribe security.tls.version en el buscador y activa "security.tls.version.enable-deprecated".

Borrar la caché del navegador web

A veces, la forma más sencilla de resolver un problema con el certificado SSL de tu sitio es borrar la caché del navegador.

Un navegador como Google Chrome que guarda datos obsoletos sobre un sitio web puede darte problemas al acceder mediante una conexión segura HTTPS, de manera que solo con esa acción resuelves el mensaje "err_ssl_version_or_cipher_mismatch".

Cambiar los protocolos soportados por el servidor

Si tienes un servidor VPS o dedicado en Raiola Networks, puedes controlar cómo cifra las conexiones. Ahí tienes varias opciones:

Software que interfiere en las conexiones seguras

Es habitual usar aplicaciones para proteger la seguridad de tus equipos informaticos, como los antimalware.

Estas suites de seguridad pueden influir en muchas capas cuando nos conectamos a un servidor web, y podrían interferir en la comunicación.

Prueba a desactivar el antivirus de tu ordenador, al menos temporalmente, y accede otra vez a la página, pero antes de hacerlo, asegúrate de que el sitio está bloqueado por ofrecer cifrados obsoletos y de que no es un riesgo para tu seguridad.

Si ves el mensaje "err_ssl_version_or_cipher_mismatch", no estás ante un problema de seguridad, es un problema de comunicación entre el cliente y el servidor: pasa lo mismo que si no consigues hacerte entender con una persona que no habla tu idioma.

Álvaro Fontela
Álvaro Fontela

Consultor WordPress, además de CEO y cofundador de Raiola Networks. Autor del libro "Curso Práctico de WordPress" y speaker en congresos de marketing digital.

Artículos relacionados

Si te ha gustado este post, aquí tienes otros que pueden ser de tu interés. ¡No dejes de aprender!

Aún no tenemos comentarios en err_ssl_version_or_cipher_mismatch o cómo solucionar problemas de negociación SSL