Despliegue de Servidor Web y Recuperación ante Desastres

En este proyecto, usted actuará como Ingeniero DevOps para desplegar, asegurar y mantener un entorno de servicio web. Practicará la instalación de software, configuración de servicios, endurecimiento de SSH, análisis forense de registros e implementación de recuperación ante desastres.

DevOps EngineerLinuxDevOps

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Operar un servidor web implica más que servir una página: debes controlar cómo escucha, proteger el acceso administrativo, investigar el tráfico y demostrar que los datos importantes pueden restaurarse. Este proyecto basado en desafíos conecta esas responsabilidades en cuatro escenarios Linux cuyo estado final se verifica.

Aprovisionarás Nginx en un puerto personalizado, instalarás una clave pública SSH, auditarás sockets en escucha, reducirás un log de acceso a su cliente más activo y ejecutarás una prueba destructiva de restauración desde un archivo comprimido. Las tareas proporcionan requisitos y pistas, pero tú eliges los comandos y la verificación.

Lo que aprenderás

  • Instalar Nginx, cambiar su escucha predeterminada al puerto 8080, desplegar el contenido indicado y reiniciar el servicio
  • Generar un par de claves SSH RSA, autorizar la clave pública y aplicar permisos 700 y 600 a las rutas SSH
  • Listar numéricamente sockets TCP en escucha y confirmar que el puerto SSH 22 está expuesto
  • Construir una tubería de texto que cuente solicitudes por IP de origen y extraiga el cliente más activo
  • Archivar /var/www/html y /var/log/nginx en un tar comprimido con gzip e inspeccionar su contenido
  • Simular la pérdida de la raíz web, extraer el archivo en / y verificar que regresa el contenido crítico

A quién va dirigido este curso

Este proyecto está dirigido a estudiantes de Linux y DevOps preparados para aplicar habilidades de servicios web, SSH, procesamiento de logs y copias sin comandos paso a paso.

Requisitos previos: Familiaridad con paquetes y servicios, edición de texto, tuberías shell, archivos SSH, permisos, inspección de sockets y tar; es un proyecto de evaluación.

Entorno de aprendizaje: Un host Ubuntu accesible desde el navegador con sudo, APT, Nginx, herramientas OpenSSH, Zsh, utilidades GNU/Linux y datos web y de logs preparados; no requiere nube ni servidor remoto.

Preguntas frecuentes

¿El desafío SSH desactiva completamente la autenticación por contraseña?

No. Genera /home/labex/.ssh/id_rsa, añade la clave pública a authorized_keys y corrige permisos. No modifica sshd_config, desactiva contraseñas ni prueba un inicio remoto.

¿Cerraré puertos de red inesperados?

No. Usas ss o netstat para listar puertos TCP en escucha numéricamente y confirmar el 22; no se cambian cortafuegos ni se detienen servicios.

¿Cómo se identifica el cliente más activo?

Analizas el primer campo de /var/log/nginx/access.log, agrupas y cuentas las IP, ordenas por frecuencia y guardas solo la principal, 203.0.113.42, en /home/labex/attacker_ip.txt.

¿Qué se elimina y restaura realmente en la prueba?

El archivo incluye la raíz web y los logs de Nginx, pero la pérdida simulada elimina /var/www/html. Extraes el archivo en la raíz y verificas que reaparece index.html con Critical Web Content.

Profesor

labby
Labby
Labby is the LabEx teacher.