Configuración de un servidor web para el escaneo
En este paso, vamos a configurar un servidor web sencillo utilizando Docker. Docker es una plataforma poderosa que te permite empaquetar aplicaciones junto con todas sus dependencias en unidades estandarizadas llamadas contenedores. Estos contenedores se pueden desplegar y ejecutar fácilmente en diferentes sistemas. Al configurar este servidor web, tendremos un objetivo para escanear con Nmap en los próximos pasos.
1. Navegación al directorio de trabajo
Primero, abre una ventana de terminal. La terminal es una interfaz de línea de comandos donde puedes ingresar comandos para interactuar con tu sistema. Una vez abierta la terminal, debes navegar al directorio del proyecto. Este directorio servirá como tu área de trabajo para este laboratorio.
Para navegar al directorio del proyecto, utiliza el comando cd
. El comando cd
significa "cambiar de directorio". Aquí está el comando que debes ejecutar:
cd /home/labex/project
2. Creación de un Dockerfile
Un Dockerfile es una parte crucial de la construcción de imágenes de Docker. Es un documento de texto que contiene una serie de comandos que Docker utiliza para construir una imagen. En este caso, vamos a crear un Dockerfile para un servidor web sencillo basado en Nginx, que es un popular software de servidor web.
Para crear un nuevo archivo llamado Dockerfile
, utilizaremos el editor de texto nano
. nano
es un editor de texto sencillo y fácil de usar que puedes utilizar directamente en la terminal. Ejecuta el siguiente comando:
nano Dockerfile
Después de ejecutar este comando, se abrirá el editor nano
, y puedes comenzar a agregar contenido al Dockerfile
. Agrega las siguientes líneas al archivo:
## Use the nginx image as the base
FROM nginx
## Expose port 80
EXPOSE 80
El comando FROM
le dice a Docker que utilice la imagen nginx
como base para nuestra nueva imagen. El comando EXPOSE
indica que el contenedor escuchará en el puerto 80.
Para guardar el archivo, presiona Ctrl+O
y luego Enter
. Para salir del editor, presiona Ctrl+X
.
3. Construcción de la imagen de Docker
Ahora que tenemos nuestro Dockerfile listo, podemos construir la imagen de Docker. Una imagen es como un plano que contiene todos los archivos y configuraciones necesarios para ejecutar una aplicación.
Para construir la imagen, ejecuta el siguiente comando:
docker build -t cyber-seed-portal .
En este comando, la bandera -t
se utiliza para etiquetar la imagen. Estamos etiquetando nuestra imagen como "cyber - seed - portal". El .
al final del comando le dice a Docker que utilice el directorio actual como contexto de construcción.
Cuando ejecutes este comando, Docker comenzará el proceso de construcción, y la salida se verá algo así:
Sending build context to Docker daemon 2.048kB
Step 1/2 : FROM nginx
latest: Pulling from library/nginx
a803e7c4b030: Pull complete
8b625c47d697: Pull complete
4d3239651a63: Pull complete
0f816efa513d: Pull complete
01d159b8db2f: Pull complete
5fb9a81470f3: Pull complete
Digest: sha256:32da30332506740a2f7c34d5dc70467b7dfe6c23451f6c66c84eeb3cdadab213
Status: Downloaded newer image for nginx:latest
---> 61395b4c586d
Step 2/2 : EXPOSE 80
---> Running in 1c2d5e2a8e7f
Removing intermediate container 1c2d5e2a8e7f
---> 7683abcf62b0
Successfully built 7683abcf62b0
Successfully tagged cyber-seed-portal:latest
4. Ejecución del contenedor de Docker
Una vez que se haya construido la imagen, podemos crear y ejecutar un contenedor a partir de ella. Un contenedor es una instancia en ejecución de una imagen.
Para ejecutar un contenedor, utiliza el siguiente comando:
docker run --name cyber-seed-server -d -p 8080:80 cyber-seed-portal
Desglosemos este comando:
--name cyber-seed-server
: Esto le da al contenedor el nombre "cyber - seed - server". Nombrar el contenedor facilita su gestión e identificación.
-d
: Esto ejecuta el contenedor en modo desatendido, lo que significa que el contenedor se ejecutará en segundo plano y puedes continuar utilizando la terminal para otras tareas.
-p 8080:80
: Esto mapea el puerto 8080 de tu máquina al puerto 80 del contenedor. Entonces, cuando accedas al puerto 8080 de tu máquina, se redirigirá al puerto 80 dentro del contenedor.
cyber-seed-portal
: Esto especifica la imagen en la que se basará el contenedor.
Cuando ejecutes este comando, la salida será un ID de contenedor, algo como:
3a7b1a23c3c5d17b3e4b3e5e6f7g8h9i
Ahora has configurado con éxito un servidor web que se ejecuta en un contenedor de Docker. Puedes acceder a este servidor en http://localhost:8080. Este servidor será el objetivo de tus escaneos de Nmap en los siguientes pasos.