Einrichten eines Webservers für das Scannen
In diesem Schritt werden wir einen einfachen Webserver mit Docker einrichten. Docker ist eine leistungsstarke Plattform, die es Ihnen ermöglicht, Anwendungen zusammen mit all ihren Abhängigkeiten in standardisierte Einheiten namens Container zu verpacken. Diese Container können einfach auf verschiedenen Systemen bereitgestellt und ausgeführt werden. Indem wir diesen Webserver einrichten, haben wir ein Ziel, das wir in den folgenden Schritten mit Nmap scannen können.
1. Navigieren zum Arbeitsverzeichnis
Öffnen Sie zunächst ein Terminalfenster. Das Terminal ist eine Befehlszeilenschnittstelle, in der Sie Befehle eingeben können, um mit Ihrem System zu interagieren. Sobald das Terminal geöffnet ist, müssen Sie in das Projektverzeichnis navigieren. Dieses Verzeichnis dient als Arbeitsbereich für dieses Lab.
Um in das Projektverzeichnis zu navigieren, verwenden Sie den Befehl cd
. Der Befehl cd
steht für "change directory" (Verzeichnis wechseln). Hier ist der Befehl, den Sie ausführen müssen:
cd /home/labex/project
2. Erstellen einer Dockerfile
Eine Dockerfile ist ein wesentlicher Bestandteil beim Erstellen von Docker - Images. Es ist ein Textdokument, das eine Reihe von Befehlen enthält, die Docker zum Erstellen eines Images verwendet. In diesem Fall werden wir eine Dockerfile für einen einfachen Webserver auf der Grundlage von Nginx erstellen, einem beliebten Webserver - Software.
Um eine neue Datei mit dem Namen Dockerfile
zu erstellen, verwenden wir den Texteditor nano
. nano
ist ein einfacher und benutzerfreundlicher Texteditor, den Sie direkt im Terminal verwenden können. Führen Sie den folgenden Befehl aus:
nano Dockerfile
Nachdem Sie diesen Befehl ausgeführt haben, wird der nano
- Editor geöffnet, und Sie können beginnen, Inhalt in die Dockerfile
hinzuzufügen. Fügen Sie die folgenden Zeilen zur Datei hinzu:
## Use the nginx image as the base
FROM nginx
## Expose port 80
EXPOSE 80
Der Befehl FROM
teilt Docker mit, dass das nginx
- Image als Basis für unser neues Image verwendet werden soll. Der Befehl EXPOSE
gibt an, dass der Container auf Port 80 lauschen wird.
Um die Datei zu speichern, drücken Sie Strg+O
und dann Enter
. Um den Editor zu verlassen, drücken Sie Strg+X
.
3. Erstellen des Docker - Images
Jetzt, da unsere Dockerfile fertig ist, können wir das Docker - Image erstellen. Ein Image ist wie ein Bauplan, der alle erforderlichen Dateien und Konfigurationen enthält, die zum Ausführen einer Anwendung benötigt werden.
Um das Image zu erstellen, führen Sie den folgenden Befehl aus:
docker build -t cyber-seed-portal .
In diesem Befehl wird die Option -t
verwendet, um das Image zu taggen. Wir taggen unser Image als "cyber - seed - portal". Der Punkt am Ende des Befehls teilt Docker mit, dass das aktuelle Verzeichnis als Build - Kontext verwendet werden soll.
Wenn Sie diesen Befehl ausführen, wird Docker den Build - Prozess starten, und die Ausgabe sieht in etwa so aus:
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. Ausführen des Docker - Containers
Sobald das Image erstellt ist, können wir einen Container daraus erstellen und ausführen. Ein Container ist eine laufende Instanz eines Images.
Um einen Container auszuführen, verwenden Sie den folgenden Befehl:
docker run --name cyber-seed-server -d -p 8080:80 cyber-seed-portal
Lassen Sie uns diesen Befehl analysieren:
--name cyber-seed-server
: Dies gibt dem Container den Namen "cyber - seed - server". Das Benennen des Containers erleichtert die Verwaltung und Identifizierung.
-d
: Dies führt den Container im detached - Modus aus, was bedeutet, dass der Container im Hintergrund läuft und Sie weiterhin das Terminal für andere Aufgaben verwenden können.
-p 8080:80
: Dies bildet Port 8080 Ihres Computers auf Port 80 des Containers ab. Wenn Sie also Port 8080 auf Ihrem Computer zugreifen, wird dies auf Port 80 innerhalb des Containers umgeleitet.
cyber-seed-portal
: Dies gibt das Image an, auf dem der Container basieren soll.
Wenn Sie diesen Befehl ausführen, wird die Ausgabe eine Container - ID sein, etwa so:
3a7b1a23c3c5d17b3e4b3e5e6f7g8h9i
Sie haben nun erfolgreich einen Webserver in einem Docker - Container eingerichtet. Sie können auf diesen Server unter http://localhost:8080 zugreifen. Dieser Server wird das Ziel für Ihre Nmap - Scans in den nächsten Schritten sein.