F5 Distributed cloudを試してみる（第１回目：アプリ脆弱性学習のためのDVWAサイト構築手順）

数回のシリーズで脆弱性の学習をします。
今回は、まずは脆弱なWebサイトを構築する回となります。
最終的には脆弱性のあるWebサーバーは、F5サービスを使うとどのよう防御できるかをハンズオン形式で説明いたします。

今回作成するサイトは、DVWAという脆弱性を体験できるWebアプリセットを含んだものとなります。

#内容

１）サイト構築のためのダウンロード
２）VMware環境でのインストール準備（本件では既に構築済みの想定で割愛）
３）インストールと確認
４）実際に試す
##
１）サイト構築のためのダウンロード

以下のサイトへアクセスしISOファイルをダウンロードします。
このISOファイルは、OSやWebサーバー、アプリなどを含めたインストールDISKとなっています。
DVDドライブにセットしそこから起動させ、インストールするものとなります。

https://www.vulnhub.com/entry/damn-vulnerable-web-application-dvwa-107,43/

指定のダウンロードリンクからではダウンロードできずWebページへ飛ばされます。
ミラーサイトのダウンロードリンクからダウンロードします。


![Screen Shot 2022-09-29 at 11.54.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/8691eca1-e8c1-16b6-c171-c39069c3e018.png)
##

２）VMware環境でのインストール準備
普通にOSをインストールするように、ダインロードしたISOファイルをマウントし起動します。
事前に、VMwareのデータストアにUploadしておいてください。

2-1. 仮想サーバーの新規作成を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/5427e651-bb6e-7334-5c18-9a77d6173cd6.png)

2-2. ホスト名とOSタイプの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/ee61a3b5-8046-ed13-f06e-af918329cde4.png)

2-3. ストレージ設定
起動させる場所を任意に選択ください。

2-4. 割り当てるCPU、メモリーの設定、DISKサイズ、ISOファイルの指定
OS自体が古いため、1CPU, 2GBでも動くと思われます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/dcda98fc-c407-1e94-9644-bfdaa5cc0078.png)

ここでダウンロードしたISOファイルの指定を忘れてしまうと起動しませんのでお忘れなく。

2-5. 起動
起動すると以下のような画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/7a197f5c-83ee-a979-cb59-ce347eb810d4.png)

ライブで使用するなら、インストールせずともそのまま使えます。
今回、ここではInstallを選択します。

ですが、平凡なターミナル画面となり、インストールを開始する気配はありません。
どのコマンドで導入開始するのかあまり情報がないようですね〜

しかし見つけました。

ここでWindowsサービスを起動します。ターミナル上から「startx」を入力し実行します。
するとこのような画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/59f9cd73-d825-53f2-7b22-879950f04dbf.png)
何もない画面ですが、マウスの右クリックにてメニューが表示されます。
（マックだと2本の指で同時タッチ）

メニュー上の「Applications」-「System」-「Administration」-「Gnome Control Center」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/febb9e49-80ed-25af-5a29-f027ecfacaf1.png)

すると以下のウインドウが表示されます。
そこ中の「Install RELEASE」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/f0c16872-65a5-0bf1-36e6-823e325e129e.png)

古めの導入ウイザードが開始されます。
まずは言語を選択（ここはEnglishを選択ください）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/5f177b5c-00fc-40f0-0aaf-09c7b4b043f7.png)

次にロケーションを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/be4c83a6-24e7-4fdf-1005-d49bd02f720f.png)

次にキーボードタイプを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/4ae012f1-70a8-2039-113b-8c710b9c7a0a.png)

次に導入先DISKの設定を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/41f27b34-7559-faee-e339-246fa0b27a0d.png)

次にホスト名設定やログインアカウント設定を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/2b21cabe-b8af-8ced-eb61-36e2ed954ae1.png)

最後の確認です。Installボタンを押すことでDISKへの導入が開始されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/a860f7fc-2c53-7df8-d60e-5a5c55007705.png)

以下のように進行状況が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/8f0f418f-2823-99d0-4797-2e755481b79b.png)

導入が終わるとリブートを求めてきます。
このボタンを押した後、急いでVMwareのポータル上でマウントしていたISOファイルを外します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/2cf63d14-9c79-24dd-cb93-c9eb4407bfd3.png)

正常にDISKへのインストールが終了していると、このようなログイン画面となります（実はISOでブートした時と変わっていません）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/92d17ee6-9c39-7d71-a3dc-f34554bf2cc0.png)

しかしこの状態でWebサーバーは起動済みです。
最後の設定がありますので、IPアドレスを使いアクセスします。

http://192.168.200.138/login.php

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/8fd6e50b-4ade-4449-321f-8a730d11ab81.png)

このLamp環境のアカウントは埋め込みとなっており、
ID:admin
PASS:password
です。（OSのログインアカウントとは同期していません）


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/f35303d0-4232-b14f-b7ed-15b0185599a7.png)

最後の設定となります。
このメニュー「DVWA Security」を選択します。
Script SecurityがHighになっている場合は「low」に変更しSubmitを押下します。
また下段のPHPIDSはDisabledの設定とします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/799cc9cd-28a4-2c10-c7e3-18d8ab605e3c.png)


以上で導入完了となります。

補足：
Webサーバーが起動していない場合があります。
```# sudo service lampp start```
で起動します。

起動に失敗するケースもあるようです。
pidファイルが残置され起動しないこともあり、その場合はpidファイルを削除してからlampサービスを起動します。

```# rm /opt/lampp/logs/httpd.pid```


# 確認

確認は実際に投入することにします。
下の図のように「SQL Injection」 を選択しUserID欄に「%' or 1='1」を投入します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399809/817384bf-33f0-a1cc-a208-26baaec5fa46.png)

結果が図のように出て来れば意図通り正しく導入完了しています。


# 2022/10/06追記

プライベートIPからは設定や結果が取得できるが、GlobalIPからのアクセスはうまく動かない状態でした。(配布時の設定）
以下のapache設定ファイルに、送信元IPを追記ください。

場所：
/opt/lampp/etc/extra

ファイル名：
httpd-xampp.conf

61行目からのAllow from にIPを追記。

service lampp restart

で反映されます。