Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1.Introducción
En la presente práctica, nos enfocaremos en fortalecer la seguridad en el acceso al
servidor Apache mediante dos tareas específicas. La primera tarea se centrará en
establecer conexiones seguras mediante SSL/TLS (HTTPS), diferenciando entre los
tres hosts virtuales existentes. La segunda tarea consistirá en la configuración de un
proxy inverso que acepte conexiones HTTPS y se comunique con los hosts virtuales a
través de HTTP. Además, implementaremos la autenticación mediante certificados
digitales, utilizando una Autoridad de Certificación (CA) para firmar los certificados
de los clientes.
2.Objetivo:
El objetivo de esta práctica es fortalecer la seguridad en el acceso al servidor Apache
mediante la implementación de conexiones seguras (HTTPS) y la configuración de un
proxy inverso. Se fomenta la investigación y empleo de nuevos comandos y funciones
para garantizar una implementación eficiente y segura.
3. Conexión segura con el servidor utilizando SSL/TLS
(HTTPS)
3.1. Concepto
3.2. SSL
Es un protocolo de seguridad diseñado para establecer conexiones seguras a través de
internet. Sin embargo, ha sido reemplazado por TLS en versiones más recientes.
3.3. TLS
sudo system reload apache2 : se utiliza reload del comando systemctl permite aplicar
cambios en la configuración del servicio sin reiniciar el servicio por completo.
cd /var/www : para alojar sitios web, los archivos de esos sitios generalmente se
colocan en subdirectorios dentro de /var/www
sudo system reload apache2 : se utiliza reload del comando systemctl permite aplicar
cambios en la configuración del servicio sin reiniciar el servicio por completo.
sudo a2enmod ssl : es utilizado para activar el módulo SSL en Apache, permitiendo
que el servidor web sea capaz de manejar conexiones seguras a través del protocolo
HTTPS. Este módulo es esencial para habilitar la capa de seguridad SSL/TLS del
servidor Apache.
sudo system reload apache2 : se utiliza reload del comando systemctl permite aplicar
cambios en la configuración del servicio sin reiniciar el servicio por completo.
sudo openssl genrsa -out cliente.key 4096 : Al ejecutar este comando, se generará una
clave privada RSA de 4096 bits y se guardará en un archivo llamado cliente.key.
-out cliente.key: Especifica el nombre del archivo de salida que contendrá la clave
privada generada. En este caso, se está nombrando el archivo como cliente.key.
Importante : Hay que proteger la clave privada porque otorga acceso a la entidad que
posee la clave. Asegurarte de almacenarla en un lugar seguro y de asignar permisos
adecuados a los archivos que contienen claves privadas para evitar accesos no
autorizados.
cd /etc/apache2/certificates
sudo openssl req -new -x509 -days 1460 -key -cliente.key -out cliente.crt -sha256 : se
utiliza para generar un certificado autofirmado.
Los pasos del comando:
sudo: Indica que el comando se ejecutará con privilegios de superusuario. Esto puede
ser necesario dependiendo de los permisos en la ubicación donde estás guardando el
certificado.
-days -1460: Establece el período de validez del certificado en días. En este caso, se ha
especificado un valor negativo de -1460 días, lo que significa que el certificado será
válido durante aproximadamente 4 años (considerando un año bisiesto). Puedes ajustar
este valor según tus necesidades.
-key cliente.key: Especifica la clave privada que se utilizará para firmar el certificado.
En este caso, se está utilizando el archivo cliente.key como la clave privada.
IMPORTANTE:
Squid es un servidor proxy y caché web de código abierto muy utilizado. Su función principal es
actuar como intermediario entre los usuarios de una red y los servidores de Internet.
Squid actúa como un servidor proxy para las conexiones HTTP y HTTPS. Los clientes de la red se
conectan a Squid, y Squid realiza las solicitudes en su nombre, devolviendo los resultados a los
clientes.
4. Conclusión
En esta práctica, se abordaron aspectos cruciales de la seguridad en el servidor Apache, centrándose
en dos tareas fundamentales. La primera tarea consistió en establecer conexiones seguras mediante
SSL/TLS, diferenciando entre conexiones HTTP y HTTPS en diferentes hosts virtuales. La segunda
tarea involucró la configuración de un proxy inverso que gestionara conexiones HTTPS,
proporcionando acceso a sitios específicos a través de nombres de dominio personalizados. Además,
se implementó una capa adicional de seguridad mediante autenticación mediante certificados digitales,
utilizando una Autoridad de Certificación (CA) para firmar certificados de clientes.
El desarrollo de estas tareas no solo fortaleció la seguridad en las comunicaciones, sino que también
amplió el conocimiento sobre la configuración avanzada de Apache, la gestión de certificados y la
implementación de medidas de autenticación más sólidas.
5. Bibliografia
1. Apache HTTP Server Documentation. (https://httpd.apache.org/docs/)
2. OpenSSL Documentation. (https://www.openssl.org/docs/)
3. Certbot - User Guide. (https://certbot.eff.org/docs/)
4. Ubuntu Server Guide - Apache2.
(https://help.ubuntu.com/serverguide/apache2.html)