¿Qué es SSL/TLS?
SSL (Capa de Sockets Seguros) y TLS (Seguridad de Capa de Transporte) son protocolos criptográficos que aseguran la comunicación sobre redes. TLS es el sucesor moderno de SSL, pero "SSL" sigue siendo comúnmente usado para referirse a ambos. Estos protocolos habilitan HTTPS, encriptando datos entre navegadores y servidores.
SSL vs TLS: Una breve historia
| Versión | Año | Estado |
|---|---|---|
| SSL 1.0 | 1994 | Nunca lanzado (defectuoso) |
| SSL 2.0 | 1995 | Deprecated (inseguro) |
| SSL 3.0 | 1996 | Deprecated (vulnerabilidad POODLE) |
| TLS 1.0 | 1999 | Deprecated |
| TLS 1.1 | 2006 | Deprecated |
| TLS 1.2 | 2008 | Estándar actual |
| TLS 1.3 | 2018 | Última, recomendada |
Los sistemas modernos deben usar TLS 1.2 o TLS 1.3 exclusivamente.
Cómo funciona TLS
El apretón de manos TLS
1. Client Hello: El navegador envía versiones TLS soportadas y suites de cifrado
2. Server Hello: El servidor selecciona versión TLS y suite de cifrado
3. Certificado: El servidor envía su certificado SSL
4. Intercambio de clave: Intercambio seguro de clave (varía por suite de cifrado)
5. Finished: Sesión encriptada establecida
Cliente Servidor
|-- Client Hello -------------->|
|<-- Server Hello --------------|
|<-- Certificado ---------------|
|<-- Intercambio de clave ------|
|-- Intercambio de clave ------>|
|-- Finished ------------------>|
|<-- Finished ------------------|
|<======= Sesión Encriptada ===>|
TLS 1.3 reduce esto a un viaje redondo único, mejorando el rendimiento.
Certificados SSL/TLS
¿Qué hay en un certificado?
- Asunto: Nombre(s) de dominio que cubre el certificado
- Emisor: Autoridad de certificación (CA) que lo emitió
- Período de validez: Fechas de inicio y expiración
- Clave pública: Para establecer conexiones encriptadas
- Firma: Firma criptográfica de la CA
Tipos de certificados
Validación de dominio (DV): Solo demuestra la propiedad del dominio- Emitido en minutos
- Gratis (Let's Encrypt) o bajo coste
- Muestra candado, sin info de organización
- Requiere verificación empresarial
- Muestra el nombre de la organización en detalles del certificado
- Mayor confianza, coste moderado
- Verificación rigurosa de identidad
- Anteriormente mostraba barra verde (navegadores eliminaron esto)
- Mayor coste, mayor confianza
Cobertura de certificado
Dominio único: Cubre un dominio (ejemplo.com) Wildcard: Cubre todos los subdominios (*.ejemplo.com) Multi-dominio (SAN): Cubre múltiples dominios específicosImplementación de SSL/TLS
Certificados gratis con Let's Encrypt
# Usando Certbot
sudo certbot --nginx -d ejemplo.com -d www.ejemplo.com
# Auto-renovación
sudo certbot renew --dry-run
Certificados de proveedores cloud
La mayoría de plataformas cloud ofrecen certificados gratis y auto-renovables:
- Cloudflare: Automático para dominios proxied
- AWS: Gestor de certificados (ACM)
- Google Cloud: Certificados SSL gestionados
Verificación de certificado
Los navegadores verifican certificados por:
1. Verificar la cadena de certificados a una CA raíz de confianza
2. Verificar que el certificado no ha expirado
3. Confirmar que el dominio coincide
4. Verificar el estado de revocación (CRL/OCSP)
Mejores prácticas de SSL/TLS
Configuración del servidor
Usa TLS 1.2+: Desactiva SSL 3.0, TLS 1.0, TLS 1.1ssl_protocols TLSv1.2 TLSv1.3;
Suites de cifrado fuertes: Prefiere cifrados modernos y seguros
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
HSTS: Fuerza HTTPS (ver entrada de glosario HSTS)
Gestión de certificados
- Automatiza renovación: Los certificados expiran (90 días para Let's Encrypt)
- Monitorea expiración: Configura alertas antes de que expiren
- Usa registros CAA: Restringe qué CAs pueden emitir certificados
Verificación de SSL/TLS
Usando DomScan:curl "https://domscan.net/v1/health?domain=ejemplo.com"
# Devuelve validez SSL, emisor, expiración
Usando OpenSSL:
openssl s_client -connect ejemplo.com:443 -servername ejemplo.com
Herramientas en línea: SSL Labs (ssllabs.com/ssltest) proporciona análisis integral.
Problemas comunes de SSL
Contenido mixto: Página HTTPS carga recursos HTTP (bloqueado por navegadores) Desajuste de certificado: El certificado no coincide con el dominio Certificado expirado: El período de validez del certificado finalizó Cadena incompleta: Faltan certificados intermediosSSL/TLS ya no es opcional—todos los sitios web deben usar HTTPS para seguridad y beneficios de SEO.