Nuevo servicio de correo CloudMail : Potente servicio de correo electrónico impulsado por la impresionante suite de colaboración CrossBox Ver Detalles

Correo electrónico: ¿Cuál es la diferencia entre SSL, TLS y STARTTLS?

 

Visión general:

 

Los términos SSL, TLS y STARTTLS se utilizan a menudo en relación con la seguridad de una conexión, pero no todo el mundo sabe lo que significan. Este artículo debería ayudar a proporcionar información básica sobre cada término.

 

SSL:

 

SSL significa «Secure Sockets Layer» y utiliza certificados SSL para ayudar a identificar el servidor al que se está conectando e iniciar el cifrado. Este fue uno de los protocolos recomendados utilizados por los servicios que requerían cifrado hasta 2015. En 2015, la última versión del protocolo SSL (SSL v3.0) se consideró insegura debido a una falla que podía permitir la lectura de información secreta (llamada Ataque CANICHE). Debido a esto, no se ha habilitado ninguna versión de los protocolos de cifrado SSL de forma predeterminada desde cPanel 11.46.

 

Aunque los protocolos definidos específicamente como SSL ya no se utilizan de forma generalizada, el término «SSL» todavía se puede utilizar para hacer referencia a una conexión segura que utiliza los protocolos SSL o TLS.

 

TLS:

 

TLS significa «Transport Layer Security» y es el sucesor del protocolo SSL. Como sucesor, sigue siendo compatible con certificados SSL. TLS tiene varias similitudes con SSL, pero tenía suficientes diferencias internas que al protocolo se le dio su propio nombre en lugar de SSL v4. Con este cambio, los desarrolladores también cambiaron la forma en que se realizaba el control de versiones y solo cambian la versión menor con cada nueva versión.

 

La versión 1.0 de TLS también se considera insegura en este momento (debido al exploit BEAST) y debe evitarse si es posible. A partir de cPanel 68, habilitamos solo TLS 1.2 de forma predeterminada. Esto ayuda a garantizar una conexión segura al servidor y sus servicios. Se ha propuesto TLS 1.3 y es probable que las conexiones seguras futuras continúen utilizando versiones más recientes del protocolo TLS.

 

STARTTLS:

 

A diferencia de los elementos anteriores, STARTTLS no es un protocolo, sino un comando reconocido por otros protocolos (como SMTP, IMAP y POP3, por ejemplo). Este comando se utiliza para tomar una conexión no cifrada existente y cifrarla sin requerir un puerto seguro separado. Esto puede utilizar cualquier protocolo de cifrado que esté habilitado en el servidor y no se limita necesariamente a TLS.

 

Uso:

 

La conexión a un servicio cifrado implícitamente por SSL o TLS se realiza mediante un puerto separado. Por ejemplo, el puerto 465 se usa para conexiones SMTP encriptadas y el puerto 993 se usa para conexiones IMAP encriptadas. Cuando se realiza la conexión inicial, el servidor y el cliente que se conecta negocian qué protocolo de cifrado y qué versión utilizar. Una vez que se completa la negociación, todos los datos intercambiados entre el servidor y el cliente se cifran utilizando el formato acordado.

 

La conexión a un servicio no cifrado también utiliza su propio puerto definido. Por ejemplo, el puerto 25 se usa para conexiones SMTP no encriptadas y el puerto 143 se usa para conexiones IMAP no encriptadas. Esta conexión se envía mediante texto sin formato al servicio y, por lo tanto, se considera insegura. Sin embargo, es posible actualizar esta conexión a una segura usando el comando STARTTLS. Una vez que el cliente que se conecta llama al comando, se lleva a cabo la misma negociación con respecto a los protocolos entre el cliente y el servidor. Tras una negociación exitosa, los datos entre el servidor y el cliente están encriptados. Esta conexión seguirá utilizando el puerto estándar y no fuerza un cambio en el puerto SSL.

 

En resumen:

 

SSL (Secure Sockets Layer) y TLS (Transport Layer Security) son ambos protocolos de cifrado que se utilizan para cifrar los datos entre servicios. Todas las versiones de SSL han quedado obsoletas y se consideran inseguras en este momento. TLS es el protocolo más nuevo y (en el momento de escribir este artículo) recomendamos usar TLS 1.2 en sus servidores de producción. STARTTLS es un comando que se utiliza para actualizar una conexión estándar (no cifrada) existente a una cifrada. Esto permite conexiones seguras a través del puerto no cifrado para un servicio.