HTTP Y HTTPS
HTTP
HTTP (Protocolo de Transferencia de Hipertexto) constituye un protocolo de comunicación que desempeña un rol esencial en la transmisión de información en la World Wide Web. Su función reside en facilitar la transferencia de una variedad de datos, tales como contenidos de naturaleza textual, imágenes, vídeos y vínculos hipertextuales, entre otros elementos. En este contexto, el puerto 80 actúa como la entrada predeterminada para las transacciones basadas en HTTP.
HTTPS
HTTPS (Protocolo de Transferencia de Hipertexto Seguro), por su parte, representa una variante segura del protocolo HTTP, haciendo uso de SSL / TLS para establecer la codificación de los datos durante la interacción entre el cliente y el servidor. Esta variante emplea el puerto 443 por defecto. La distinción principal entre HTTP y HTTPS radica en el añadido de una capa de seguridad suplementaria en HTTPS, la cual encripta los datos, elevando así su nivel de seguridad durante el proceso de transferencia.
Openssl
Dentro del ámbito de esta clase, una de las herramientas que se explora para examinar los certificados SSL es ‘Openssl‘. Esta herramienta, disponible en calidad de software libre y de código abierto, representa una biblioteca versátil que se implementa con el propósito de establecer protocolos de seguridad en línea. Entre dichos protocolos se incluyen el TLS (Seguridad en la Capa de Transporte) y el SSL (Capa de Sockets Segura). La utilidad de OpenSSL radica en su habilidad para materializar la ejecución segura y encriptada de las comunicaciones entre aplicaciones a través de la red.
Ejemplo de comando OpenSSL
openssl s_client -connect ejemplo.com:443
Mediante este comando, surge la posibilidad de llevar a cabo una inspección del certificado SSL de un servidor web. La instrucción se conecta con el servidor, haciendo uso del puerto 443, y revela detalles pormenorizados acerca del certificado SSL, como su vigencia, fecha de expiración, tipo de cifrado, entre otros atributos.
Otras herramientas
Además, otras herramientas que se exploran durante la clase son ‘sslyze‘ y ‘sslscan‘. La herramienta ‘Sslyze‘ se presenta como un medio de análisis de seguridad dedicado a las evaluaciones SSL. Su finalidad recae en examinar la configuración SSL de un servidor, brindando información minuciosa sobre los métodos de cifrado en uso, los protocolos compatibles y los certificados SSL. De manera similar, ‘SSLScan‘ se destaca como otra herramienta de análisis de seguridad SSL que cumple la función de evaluar la configuración de seguridad de un servidor. Su aporte radica en la exposición detallada de los protocolos SSL / TLS admitidos, los cifrados empleados y los certificados SSL.
Heartbleed
A modo de ejemplo, se menciona Heartbleed, una vulnerabilidad de seguridad que impacta la biblioteca OpenSSL, otorgando a los atacantes la facultad de acceder a la memoria de servidores vulnerables. La identificación de esta vulnerabilidad mediante las herramientas en cuestión indica la existencia de una posible amenaza, la cual podría llevar a la exposición de información confidencial, incluyendo claves privadas, nombres de usuario, contraseñas, entre otros datos sensibles.
Enlace al proyecto en Github
A continuación, se proporciona el enlace hacia el proyecto alojado en Github, el cual despliega un entorno de laboratorio vulnerable a Heartbleed:
