スキャン用の Web サーバーのセットアップ
このステップでは、Docker を使用して簡単な Web サーバーをセットアップします。Docker は強力なプラットフォームで、アプリケーションとその依存関係をすべてコンテナと呼ばれる標準化されたユニットにパッケージ化することができます。これらのコンテナは、異なるシステムで簡単にデプロイして実行できます。この Web サーバーをセットアップすることで、次のステップで Nmap を使用してスキャンするターゲットができます。
1. 作業ディレクトリへの移動
まず、ターミナルウィンドウを開きます。ターミナルは、システムと対話するためのコマンドを入力できるコマンドラインインターフェイスです。ターミナルを開いたら、プロジェクトディレクトリに移動する必要があります。このディレクトリは、この実験の作業領域として機能します。
プロジェクトディレクトリに移動するには、cd
コマンドを使用します。cd
コマンドは "change directory" の略です。実行する必要があるコマンドは次のとおりです。
cd /home/labex/project
2. Dockerfile の作成
Dockerfile は Docker イメージを構築する上で重要な部分です。これは、Docker がイメージを構築するために使用する一連のコマンドが含まれたテキストドキュメントです。この場合、人気のある Web サーバーソフトウェアである Nginx をベースにした簡単な Web サーバー用の Dockerfile を作成します。
Dockerfile
という名前の新しいファイルを作成するには、nano
テキストエディターを使用します。nano
は、ターミナルで直接使用できるシンプルで使いやすいテキストエディターです。次のコマンドを実行します。
nano Dockerfile
このコマンドを実行すると、nano
エディターが開き、Dockerfile
に内容を追加できます。ファイルに次の行を追加します。
## Use the nginx image as the base
FROM nginx
## Expose port 80
EXPOSE 80
FROM
コマンドは、新しいイメージのベースとして nginx
イメージを使用するよう Docker に指示します。EXPOSE
コマンドは、コンテナがポート 80 でリッスンすることを示します。
ファイルを保存するには、Ctrl+O
を押してから Enter
を押します。エディターを終了するには、Ctrl+X
を押します。
3. Docker イメージの構築
これで Dockerfile が準備できたので、Docker イメージを構築できます。イメージは、アプリケーションを実行するために必要なすべてのファイルと構成が含まれた青写真のようなものです。
イメージを構築するには、次のコマンドを実行します。
docker build -t cyber-seed-portal .
このコマンドでは、-t
フラグを使用してイメージにタグを付けます。私たちはイメージに "cyber - seed - portal" というタグを付けています。コマンドの最後の .
は、現在のディレクトリをビルドコンテキストとして使用するよう Docker に指示します。
このコマンドを実行すると、Docker はビルドプロセスを開始し、出力は次のようになります。
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. Docker コンテナの実行
イメージが構築されたら、それからコンテナを作成して実行できます。コンテナはイメージの実行中のインスタンスです。
コンテナを実行するには、次のコマンドを使用します。
docker run --name cyber-seed-server -d -p 8080:80 cyber-seed-portal
このコマンドを分解してみましょう。
--name cyber-seed-server
: これはコンテナに "cyber - seed - server" という名前を付けます。コンテナに名前を付けることで、管理と識別が容易になります。
-d
: これはコンテナをデタッチドモードで実行します。つまり、コンテナはバックグラウンドで実行され、ターミナルを他のタスクに使用し続けることができます。
-p 8080:80
: これはマシンのポート 8080 をコンテナのポート 80 にマッピングします。したがって、マシンのポート 8080 にアクセスすると、コンテナ内のポート 80 にリダイレクトされます。
cyber-seed-portal
: これはコンテナがベースとするイメージを指定します。
このコマンドを実行すると、出力はコンテナ ID になり、次のようなものになります。
3a7b1a23c3c5d17b3e4b3e5e6f7g8h9i
これで、Docker コンテナで実行される Web サーバーを正常にセットアップしました。このサーバーには http://localhost:8080 からアクセスできます。このサーバーは、次のステップでの Nmap スキャンのターゲットになります。