full stack developer

Habilitar cifrado TLS 1.2 en Windows Server

tips 2020-08-16 08:14:39

Uno de los problemas que pueden surgir en estos días es un mensaje de servidor inseguro que suelen dar algunos sitios web que tienen instalado un certificado de seguridad válido, y sin embargo aún así muestran esa advertencia.

Un ejemplo de esto lo podemos ver en la captura de pantalla inferior, donde Mozilla Firefox nos advierte de una conexión insegura dado que la página usa un cifrado débil.

Una probable causa es que estés corriendo tu sitio web en un servidor windows que no está soportando TLS 1.2, mientras puede estar usando TLS 1.0, el cual ya consiste en un protocolo inseguro a esta altura.

En este artículo veremos como habilitar el protocolo de seguridad TLS 1.2 y deshabilitar TLS 1.0, en este caso a modo de ejemplo lo haremos sobre un Windows Server 2008 R2, y todas las capturas de pantalla son hechas en él.

Dado que vamos a tocar el registro de windows debes tomar todas las precauciones de respaldo y seguridad antes de hacerlo, ten sumo cuidado pues como sabrás una manipulación incorrecta del registro puede darte grandes dolores de cabeza.

Lo primero a hacer es (luego de que hayas tomados los recaudos necesarios) es dirigirnos al Run (o Ejecutar) desde el menú start (Inicio) y escribir allí regedit.

Cuando se haya desplegado el editor del registro nos tenemos que desplazar a:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols

Una vez allí básicamente lo que haremos será agregar (o modificar si ya existiesen) las claves de registros TLS 1.0 y TLS 1.2 para deshabilitar y habilitar los citados protocolos.

Si estas claves no existiesen nos situamos en la carpeta protocols y seleccionamos haciendo clic con nuestro botón derecho la opción "New/Key"

Ingresamos entonces la key para TLS 1.0, y luego repetimos el procedimiento e ingresamos la key para TLS 1.2.

A su vez dentro de cada una de estas keys repetiremos el proceso y crearemos dos keys más llamadas "Client" y "Server", debiendo quedar nuestro árbol como se muestra debajo

Luego de eso nos dirigimos para las keys Client y Server de TLS 1.0 ingresamos (o modificamos si ya existía) un valores DWORD (32-bits) llamado Enabled con un valor hexadecimal 0 (ten cuidado de realizarlo en ambas keys, en Client y en Server). Si en tu servidor ya existiese una key para TLS 1.1 también podrías desactivarla.

Finalmente para las keys Client y Server de TLS 1.2 ingresamos (o modificamos si ya existían) un valor DWORD (32-bits) llamado Enabled con un valor hexadecimal 1 y otra DWORD DisabledByDefault con valor hexadecimal 0 (ten cuidado de realizarlo en ambas keys, tanto en Client como en Server).

Por último reinicia tu servidor y tu sitio ya debería verse como un sitio seguro. En caso de que tus problemas persistan te sugiero uses alguna herramienta online (como www.ssllabs.com/ssltest) para investigar más acerca del problema ya que probablemente la causa sea otra.




walterdiaz.dev | full stack developer