WebGoatをCentOSで設定・起動させる

1.WebGoat とは

脆弱性をわざと作りこんだWebアプリケーションです。
OWASPというオープンソフトウェアセキュリティのコミュニティが提供しています。
脆弱性について学んだり、脆弱性対策のツール検証をするのにもってこいです。
 
2018年3月現在の最新バージョンであるWebGoat8.0は、Dockerイメージ版とスタンドアロンのjarファイル版が公開されています。
ここではDocker版の導入方法を紹介します。

2.CentOS へのDocker導入

まずはDockerをCentOS7導入します。
ce(コミュニティエディション)とee(エンタープライズエディション)に分かれているので、
コミュニティ版のdocker-ceを公式の手順の通りインストールします。
https://docs.docker.com/install/linux/docker-ce/centos/

#インストール
sudo yum install yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
sudo yum install docker-ce-18.03.0.ce-1.el7.centos

#dockerデーモン起動
sudo systemctl start docker

#docker動作確認
sudo docker run hello-world

3.WebGoat Docker 版の取得・起動

https://github.com/WebGoat/WebGoat
の手順に従います。

#dockerイメージをプル
sudo docker pull webgoat/webgoat-8.0

#dockerイメージからコンテナ生成・実行
sudo docker run -p 8080:8080 -it webgoat/webgoat-8.0 /home/webgoat/start.sh 

4.WebGoatへのアクセス

稼働したWebサービスにアクセスします。
http://【稼働ホストのIPアドレス】:8080/WebGoat
このようなログイン画面がブラウザに表示されたら成功です。
Register new user リンクから、任意のユーザを作成してログインします。

ログインすると、この画面になります。
左のメニューから脆弱性のレッスンを選択することができます。

5.備考 その他関連コマンド

#コンテナID確認
sudo docker ps -a

#コンテナ停止
sudo docker stop 【コンテナID】

#コンテナ開始
sudo docker start 【コンテナID】