Una guía completa sobre seguridad web, encriptación de datos y configuración de certificados en servidores.
✦ Yasmel Perdomo · Matrícula: 20250706
Los certificados SSL/TLS son la columna vertebral de la seguridad en Internet. Garantizan que la información que viaja entre tu navegador y un servidor esté cifrada, autenticada y protegida de terceros malintencionados.
SSL es un protocolo de seguridad diseñado para garantizar el intercambio seguro de datos entre una página web y sus visitantes mediante la encriptación. Desde que introduces una URL en tu navegador, el famoso candado 🔒 en la barra de direcciones indica que SSL está activo.
Fue desarrollado por Netscape en los años 90 y fue el estándar durante muchos años. Actualmente se considera obsoleto y ha sido reemplazado por TLS, aunque el nombre "SSL" persiste popularmente.
TLS es la evolución directa de SSL. Garantiza el intercambio de datos en un entorno seguro y privado entre dos partes —usuario y servidor— a través de protocolos como HTTP, POP3, IMAP, SSH, SMTP y NNTP.
Funciona de manera muy similar a SSL pero con algoritmos de cifrado más modernos y robustos. La versión actual recomendada es TLS 1.3, que ofrece mayor velocidad y seguridad que sus predecesoras.
Aunque a menudo se usan indistintamente, existen diferencias técnicas importantes entre ambos protocolos.
| Característica | 🔐 SSL | ✨ TLS |
|---|---|---|
| Versiones | SSL 2.0, 3.0 | TLS 1.0, 1.1, 1.2, 1.3 |
| Estado actual | Obsoleto / Deprecated | Estándar activo |
| Seguridad | Vulnerable (POODLE, BEAST) | Robusta y actualizada |
| Handshake | Más lento, menos eficiente | Optimizado (1-RTT en TLS 1.3) |
| Cifrado simétrico | RC4, DES | AES-GCM, ChaCha20 |
| Autenticación mensajes | MD5 / SHA-1 | SHA-256, SHA-384 |
| Soporte navegadores | Eliminado | Universal |
| Recomendado para uso | ❌ No | ✅ Sí (TLS 1.2+) |
A continuación se describe el proceso completo para instalar y configurar un certificado SSL/TLS en un servidor web con dominio personalizado.
Crea una instancia en alguna plataforma cloud. Las recomendadas son AWS EC2, Microsoft Azure u Oracle Cloud Free Tier. Elige un sistema operativo (Ubuntu/CentOS recomendado para Linux) y asegúrate de que el puerto 80 (HTTP) y 443 (HTTPS) estén abiertos en el firewall.
Una vez creada, anota la dirección IP pública del servidor, la necesitarás en el siguiente paso.
En Linux (Apache):
En Windows (IIS): Ve a "Agregar roles y características" en el Administrador del Servidor e instala Internet Information Services (IIS).
Registra un subdominio gratuito en no-ip.com. El subdominio debe tener tu matrícula estudiantil, ejemplo: 20250706.ddns.net. Apunta ese dominio a la IP pública de tu servidor.
El CSR es un archivo que contiene tu información y tu clave pública. Se envía a la Autoridad Certificadora (CA) para que emita tu certificado.
Puedes usar Let's Encrypt de forma gratuita con Certbot, o una CA de pago como Comodo. Let's Encrypt es la opción más sencilla para dominios DDNS.
Si usaste Certbot, la instalación es automática. En caso de certificado manual, debes configurar los archivos en Apache o IIS:
Abre tu navegador y visita https://20250706.ddns.net. Deberías ver el candado verde 🔒 en la barra de direcciones. Puedes verificar los detalles del certificado haciendo clic en el candado.
Los certificados SSL/TLS se apoyan en tres pilares criptográficos fundamentales que garantizan la seguridad de las comunicaciones.
Utiliza un par de claves: pública y privada. Lo que cifra una, solo lo descifra la otra. Usado en el intercambio inicial (handshake). Ej: RSA, ECDSA.
Una sola clave secreta compartida cifra y descifra los datos. Es mucho más rápido que el asimétrico. Usado en la transferencia de datos. Ej: AES-256, ChaCha20.
La Infraestructura de Clave Pública (PKI) gestiona la confianza. Las CAs (Let's Encrypt, DigiCert, Comodo) firman los certificados para validar la identidad del servidor.
Garantizan la integridad de los datos. Convierten cualquier dato en un valor de longitud fija. Ej: SHA-256, SHA-384. No son reversibles.
Proceso de negociación al inicio de cada conexión segura. Se acuerdan algoritmos, se intercambian claves y se autentican las partes antes de transferir datos.
Los certificados forman una cadena: Raíz → Intermedia → Final. El navegador verifica cada eslabón hasta llegar a una CA raíz de confianza instalada en el SO.
Este es el proceso que ocurre en milisegundos cada vez que accedes a un sitio HTTPS.
El cliente envía los protocolos TLS soportados, una lista de cifrados aceptados y un número aleatorio (nonce).
El servidor elige el protocolo y cifrado a usar, envía su certificado SSL/TLS y su propio nonce.
El cliente verifica que el certificado sea válido, no haya expirado y esté firmado por una CA de confianza.
Se genera una "pre-master secret" cifrada con la clave pública del servidor. Ambas partes derivan la misma clave de sesión.
Ambas partes confirman con un mensaje "Finished" cifrado. A partir de ahora toda la comunicación va cifrada con la clave de sesión.
Los certificados se clasifican por el nivel de validación que ofrece la Autoridad Certificadora.
Solo verifica que controlas el dominio. Emisión en minutos. Ideal para blogs y sitios personales. Ej: Let's Encrypt.
Verifica el dominio y la organización. Emisión en 1-3 días. Recomendado para empresas y comercios.
Validación exhaustiva de la empresa. El navegador muestra el nombre de la organización. Máxima confianza para bancos y e-commerce.
Cubre el dominio principal y todos sus subdominios (*.dominio.com). Muy útil cuando se tienen múltiples subdominios.
Configuración de certificado SSL/TLS para dominio con matrícula estudiantil.
AWS EC2, Azure VM u Oracle Cloud Free Tier con Ubuntu Server 22.04 LTS.
Instalación y configuración del servicio web Apache2 en Linux.
Registro en no-ip.com y vinculación del dominio 20250706.ddns.net a la IP pública.
Creación de clave privada RSA-2048 y archivo CSR con OpenSSL.
Obtención del certificado gratuito de Let's Encrypt con renovación automática.
Configuración del VirtualHost HTTPS y verificación del candado en el navegador.