¿Qué es TLS (Transport Layer Security) y en qué se diferencia con SSL?
Si tienes un sitio web sabrás que desde hace tiempo disponer de un servidor seguro es esencial, no solo para ofrecer una imagen adecuada a tus visitantes sino también para mejorar en el posicionamiento en buscadores (SEO). Te explicamos un protocolo criptográfico esencial para garantizar una comunicación segura en la web: TSL.
¿Qué es TLS y cómo funciona?
TLS son las siglas de Transport Layer Security. Se trata de un protocolo de seguridad bien conocido en el ámbito de la web que proporciona privacidad e integridad en las comunicaciones entre aplicaciones y usuarios en la red. Se utiliza principalmente para asegurar conexiones mediante el protocolo HTTPS, pero además para otros servicios como el correo electrónico (protocolos IMAP, SMTP), el acceso remoto (VPN) o incluso en algunas herramientas de mensajería instantánea.
El funcionamiento de TLS se basa en un proceso llamado handshake que significa apretón de manos en inglés. Este proceso es como una confirmación que realizan dos sistemas al iniciar una comunicación, usando certificados de seguridad y acordando un algoritmo cifrado.
Durante este proceso los dos sistemas (el servidor y el cliente) se autentican mutuamente mediante certificados digitales. Luego acuerdan un algoritmo de cifrado para las comunicaciones y por último intercambian claves de sesión seguras. Una vez finalizado el handshake los datos entre ambos sistemas se transfieren de manera segura, cifrados de forma que resulte imposible que terceros puedan leer o modificar la información.
Diferencias clave entre TLS y SSL
Ambos son protocolos de seguridad, sin embargo TSL es una evolución de SSL que aporta numerosas mejoras que vamos a resumir.
Seguridad y cifrado
Los mecanismos de cifrado de TLS son por lo general más robustos y seguros que los implementados en SSL. En concreto TSL consigue eliminar algunas vulnerabilidades de SSL y además mejora la resistencia a varios tipos de ataques.
De hecho SSL, ya no se considera tan seguro y todos deberíamos usar TSL. Si esto te preocupa más tarde en este post te explicaremos cómo saber si estás usando TSL en tu sitio web.
Compatibilidad con navegadores y sistemas
Además, tienes que saber que actualmente los navegadores son más compatibles con TSL. De hecho SSL no es compatible con la mayoría de clientes web que usamos actualmente.
Rendimiento y eficiencia en conexiones
El rendimiento también es un factor que ha conseguido mejorar el protocolo TSL. Concretamente, TLS 1.3 introduce mejoras relevantes en lo que respecta a la velocidad de las conexiones seguras, reduciendo el número de intercambios necesarios en el proceso de handshake. Con esto obtenemos una mayor velocidad de las comunicaciones, siempre sin sacrificar la seguridad.
Soporte y actualizaciones
Actualmente SSL ha sido abandonado, por lo que no tiene nuevas versiones en desarrollo y no se encuentra en proceso de mantenimiento. En cambio, TLS sigue evolucionando activamente por las distintas organizaciones encargadas de la seguridad y sigue habiendo actualizaciones para introducir mejoras y solventar posibles amenazas.
Importancia de usar TLS en sitios web
Como habrás podido imaginar, en los sitios web es fundamental usar TLS, ya que es el único protocolo que nos asegura estar al día en lo que respecta a compatibilidad y protección. Nos aporta numerosas ventajas:
Protección de datos sensibles de usuarios y clientes
Los datos que introducen los usuarios en los formularios, ya sean datos de login, tarjetas de crédito o cualquier otra información viajarán seguros gracias a TLS, evitando que puedan ser interceptados por posibles atacantes.
Prevención de ataques como el robo de información o el phishing
TSL También nos consigue proteger frente a ataques de suplantación o phishing, evitando que puedan robar nuestra información intermediarios maliciosos. En otras palabras, TSL garantiza que los usuarios están conectados con el servidor auténtico y no con una réplica que trata de hacerse pasar por el servidor real.
Cumplimiento con normativas de seguridad y privacidad
Si quieres cumplir con las normativas de seguridad y privacidad es fundamental que estés usando TSL, ya sea en materia de protección de datos o para asegurar los pagos electrónicos.
Mejora del posicionamiento SEO y la confianza del usuario
Respetar las normativas de seguridad es esencial y Google ha declarado en numerosas ocasiones que es uno de los aspectos que tiene en cuenta para evaluar la calidad de un sitio. Por supuesto, Google espera que tu HTTPS esté basado en TLS, ya que es el protocolo usado en la actualidad.
Garantía de integridad y autenticidad en la comunicación web
Por último, TLS es necesario para que los clientes puedan estar seguros que los datos no han sido alterados por el camino, y que provienen de las fuentes legítimas, algo que no se consigue a día de hoy con el abandonado protocolo SSL.
Cómo saber si un sitio web usa TLS
Seguramente querrás saber si tu sitio web utiliza TLS. Esto se puede conseguir de manera muy sencilla. Te explicamos cómo lo puedes verificar.
Verificación en navegadores web
Primero que todo, puedes usar el navegador web para encontrar información del certificado de seguridad que estás utilizando. Para ello hay un icono que aparece en la parte izquierda de la barra de direcciones que te da diversa información sobre el sitio.
Verás el icono del candado que dice «La conexión es segura». Eso quiere decir que una web usa TSL, pero además si quieres puedes ver información completa del certificado si entras en esa opción y pulsas donde aparece «El certificado es válido».
Si está todo bien podrás ver un visor del certificado como el que te muestra la siguiente imagen, donde encontrarás detalles sobre si es un certificado TSL.
Si no te aparecen estos mensajes es que tienes algún problema con tu certificado de seguridad y por tanto deberías revisarlo.
Herramientas online para comprobar certificados
Además existen herramientas gratuitas que puedes usar de manera sencilla y online que pueden darte información detallada sobre tu certificado. Te recomendamos acceder a SecurityHeaders o a SSLLabs para hacer una comprobación de los niveles de seguridad implementados.
Cómo implementar TLS correctamente
Ya para acabar vamos a ver algunas buenas prácticas y consejos que deberías seguir para mejorar la seguridad de tu sitio web en lo que respecta al uso de certificados TLS.
Obtención e instalación de un certificado TLS
Es importante que los certificados TLS estén emitidos por una Autoridad Certificadora (CA) de confianza. Hoy es muy sencillo conseguirlos porque hay entidades certificadoras gratuitas como Let’s Encrypt que funcionan muy bien y eliminan costes de mantenimiento de los certificados.
Por supuesto, también existen los certificados de pago que pueden incluir validación extendida y pueden ser recomendables para empresas que requieran un grado mayor de seguridad en sus sitios.
Posteriormente tendrás que configurar el certificado en tu sitio, configurando el servidor web, ya sea Apache, Nginx, etc. Para hacerlo muchas veces tienes paneles de control en tu servicio de hosting o tutoriales detallados en Internet si es que mantienes tu propio servidor o VPS.
Buenas prácticas de configuración y renovación
Algunas recomendaciones importantes para asegurar una implementación segura de TLS son las siguientes:
- Usa TLS en alguna versión reciente. Actualmente TSL 1.2 es lo mínimo necesario.
- Configura el redireccionamiento de las URL HTTP para que se sirvan por HTTPS.
- Habilita HSTS (HTTP Strict Transport Security) para evitar que haya intentos de conexión sin cifrar.
- No te olvides de renovar los certificados de seguridad. Si puedes configura las renovaciones automáticas para que no se te pasen las fechas.
- Evita que haya contenidos mixtos en tu sitio, es decir, unos que funcionen por HTTP y otros por HTTPS.
Evitar errores comunes en la migración de SSL a TLS
Si estás migrando de SSL a TSL haz las pruebas de validación del certificado una vez hayas terminado la configuración, a través de alguno de los servicios de verificación del estado de tu servidor seguro que hemos señalado. Esto te puede evitar problemas de rechazo de los certificados por parte de los navegadores.