Configuration d'un serveur web pour le scan
Dans cette étape, nous allons configurer un serveur web simple à l'aide de Docker. Docker est une plateforme puissante qui vous permet de regrouper des applications avec toutes leurs dépendances dans des unités standardisées appelées conteneurs. Ces conteneurs peuvent être facilement déployés et exécutés sur différents systèmes. En configurant ce serveur web, nous aurons une cible à scanner avec Nmap dans les étapes suivantes.
1. Accès au répertoire de travail
Tout d'abord, ouvrez une fenêtre de terminal. Le terminal est une interface en ligne de commande où vous pouvez entrer des commandes pour interagir avec votre système. Une fois le terminal ouvert, vous devez accéder au répertoire du projet. Ce répertoire servira de zone de travail pour ce laboratoire.
Pour accéder au répertoire du projet, utilisez la commande cd. La commande cd signifie "changer de répertoire". Voici la commande que vous devez exécuter :
cd /home/labex/project
2. Création d'un Dockerfile
Un Dockerfile est une partie essentielle de la construction d'images Docker. C'est un document texte qui contient une série de commandes que Docker utilise pour construire une image. Dans ce cas, nous allons créer un Dockerfile pour un serveur web simple basé sur Nginx, qui est un logiciel de serveur web populaire.
Pour créer un nouveau fichier nommé Dockerfile, nous allons utiliser l'éditeur de texte nano. nano est un éditeur de texte simple et convivial que vous pouvez utiliser directement dans le terminal. Exécutez la commande suivante :
nano Dockerfile
Après avoir exécuté cette commande, l'éditeur nano s'ouvrira, et vous pouvez commencer à ajouter du contenu au Dockerfile. Ajoutez les lignes suivantes au fichier :
## Utilisez l'image nginx comme base
FROM nginx
## Exposez le port 80
EXPOSE 80
La commande FROM indique à Docker d'utiliser l'image nginx comme base pour notre nouvelle image. La commande EXPOSE indique que le conteneur écoutera sur le port 80.
Pour enregistrer le fichier, appuyez sur Ctrl+O, puis sur Entrée. Pour quitter l'éditeur, appuyez sur Ctrl+X.
3. Construction de l'image Docker
Maintenant que notre Dockerfile est prêt, nous pouvons construire l'image Docker. Une image est comme un modèle qui contient tous les fichiers et configurations nécessaires pour exécuter une application.
Pour construire l'image, exécutez la commande suivante :
docker build -t cyber-seed-portal .
Dans cette commande, le drapeau -t est utilisé pour étiqueter l'image. Nous étiquetons notre image comme "cyber - seed - portal". Le . à la fin de la commande indique à Docker d'utiliser le répertoire actuel comme contexte de construction.
Lorsque vous exécutez cette commande, Docker démarrera le processus de construction, et la sortie ressemblera à ceci :
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. Exécution du conteneur Docker
Une fois l'image construite, nous pouvons créer et exécuter un conteneur à partir d'elle. Un conteneur est une instance en cours d'exécution d'une image.
Pour exécuter un conteneur, utilisez la commande suivante :
docker run --name cyber-seed-server -d -p 8080:80 cyber-seed-portal
Décortiquons cette commande :
--name cyber-seed-server : Cela donne au conteneur le nom "cyber - seed - server". Nommer le conteneur facilite sa gestion et son identification.
-d : Cela exécute le conteneur en mode détaché, ce qui signifie que le conteneur s'exécutera en arrière - plan, et vous pourrez continuer à utiliser le terminal pour d'autres tâches.
-p 8080:80 : Cela mappe le port 8080 de votre machine au port 80 du conteneur. Ainsi, lorsque vous accédez au port 8080 de votre machine, cela sera redirigé vers le port 80 à l'intérieur du conteneur.
cyber-seed-portal : Cela spécifie l'image sur laquelle le conteneur sera basé.
Lorsque vous exécutez cette commande, la sortie sera un identifiant de conteneur, comme ceci :
3a7b1a23c3c5d17b3e4b3e5e6f7g8h9i
Vous avez maintenant configuré avec succès un serveur web s'exécutant dans un conteneur Docker. Vous pouvez accéder à ce serveur à l'adresse http://localhost:8080. Ce serveur sera la cible de vos scans Nmap dans les étapes suivantes.