Práctica 7: Implementación de sitios web sobre HTTPS#
Objetivos#
- Asignar un nombre de dominio DNS que apunte a la máquina virtual
- Instalar el servidor web Apache HTTPD y configurarlo para que responda a peticiones de HTTP y HTTPS
- Configurar VirtualHosts para HTTP y HTTPS
- Generar un certificado SSL con Let's Encrypt utilizando el cliente
certbot
Elementos de apoyo#
- Todos estos videos están en una lista de reproducción dedicada a los temas de HTTP y SSL 📹
- Protocolo DNS 📼
- Configuración de OpenSSH y autenticación con llaves 📼
- Configuración de Apache HTTPD en Debian 📼
- Directivas de configuración de Apache HTTPD 📼
- Configuración de VirtualHosts de Apache HTTPD 2.4 utilizando /etc/hosts 📼
- Configuración de VirtualHosts de Apache HTTPD 2.4 con registros DNS 📼
- Certificados SSL x509 📼
- Certificados SSL con OpenSSL y VirtualHost HTTPS en Apache HTTPD 📼
- Trámite de un certificado SSL con Let's Encrypt utilizando certbot 📼
Páginas de manual de Apache HTTPD
Restricciones#
- La fecha límite de entrega es el viernes 10 de junio de 2022 a las 23:59 horas
- Esta actividad debe ser entregada en equipo de acuerdo al flujo de trabajo para la entrega de tareas y prácticas
- Utilizar la carpeta
docs/practicas/practica-7/Equipo-ABCD-EFGH-IJKL-MNOP
para entregar la práctica- Donde
Equipo-ABCD-EFGH-IJKL-MNOP
representa el nombre del equipo que debió anotarse previamente en la lista del grupo
- Donde
- Hacer un merge request a la rama
practica-7
del repositorio de tareas para entregar la actividad
- Utilizar la carpeta
Danger
- Esta actividad depende de los recursos implementados en la práctica 6
- Se recomienda que se realice esta actividad siguiendo la calendarización con el objeto de dejar suficiente tiempo para la elaboración de las siguientes actividades
Procedimiento#
-
Configura el módulo SSL y tramita el certificado SSL válido con Let's Encrypt
-
Valida la configuración, junta los archivos entregables y genera tu reporte
Entregables#
-
Archivo
README.md
- Anotar el nombre de dominio que se registró y la dirección IP pública de la máquina virtual
- Explicación del procedimiento que se siguió para crear los recursos en Azure
- Explicación del procedimiento que se siguió para registrar el nombre de dominio en FreeNom y asociarlo a la zona DNS en Azure
- Explicación de los comandos utilizados para inicializar la máquina virtual en Azure
- Salida de las consultas DNS para los registros
SOA
,NS
,A
yCNAME
- Salida de los siguientes comandos en la máquina virtual como el usuario
root
-
Carpeta
img
- Capturas de pantalla donde se muestren los recursos creados en Azure (máquina virtual y zona DNS)
- Capturas de pantalla donde se muestre el registro del nombre de dominio en FreeNom
- Cada captura de pantalla tiene que ser referenciada en el archivo
README.md
-
Carpeta
files
-
Archivos de configuración
- Copia de seguridad de la configuración de Apache HTTPD en el directorio
/etc/apache2
root@example:~# tar -cvvf apache2.tar -C /etc/apache2 ./
- Archivo
/etc/apache2/conf-available/security.conf
con comentarios que expliquen la funcionalidad de las directivas utilizadas
- Copia de seguridad de la configuración de Apache HTTPD en el directorio
-
Archivos de bitácora
-
Archivo
salida-mkdocs.log
obtenido al convertir los archivos Markdown a HTML conmkdocs
-
Copia de seguridad de las bitácoras de Apache HTTPD
root@example:~# tar -cvvzpf apache2-logs.tar.gz /var/log/apache2
-
-
Archivos de datos
- Archivo
virtualhosts.txt
con el listado de VirtualHosts en la configuración de Apache HTTPD
root@example:~# apachectl -S 2>&1 | tee virtualhosts.txt
- Copia de seguridad del directorio
/var/www
root@example:~# tar -cvvf www.tar -C /var/www .
- Copia de seguridad de los datos generados por
certbot
root@example:~# tar -cvvf letsencrypt.tar /etc/letsencrypt /var/lib/letsencrypt /var/log/letsencrypt
- Archivo
-
- Archivo de datos
registros-dns.txt
donde vengan las consultas de todos los nombres DNS que generaste
Nombre | Tipo | Valor |
---|---|---|
example.com. |
A |
20.213.120.169 |
docs.example.com. |
A |
20.213.120.169 |
kernel.example.com. |
A |
20.213.120.169 |
sitio.example.com. |
CNAME |
example.com. |
tareas.example.com. |
CNAME |
sitio.example.com. |
Consulta DNS
Puedes generar este archivo ejecutando el script de shell files/consulta-dns.sh
usuario@laptop ~ % chmod +x consulta-dns.sh
usuario@laptop ~ % ./consulta-dns.sh example.com 2>&1 | tee registros-dns.txt
...
- Archivo de datos con el diagnóstico de consultas HTTP y HTTPS a la dirección IP y nombres DNS de los VirtualHosts
Consulta HTTP
Puedes generar este archivo ejecutando el script de shell files/consulta-http.sh
usuario@laptop ~ % chmod +x consulta-http.sh
usuario@laptop ~ % ./consulta-http.sh example.com 2>&1 | tee diagnostico-http.txt
...
- Archivo de datos con el diagnóstico de certificados SSL que regresa cada VirtualHost configurado
Consulta SSL
Puedes generar este archivo ejecutando el script de shell files/consulta-ssl.sh
usuario@laptop ~ % chmod -c +x consulta-ssl.sh
usuario@laptop ~ % ./consulta-ssl.sh example.com 2>&1 | tee diagnostico-ssl.txt
...