「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践(徳丸本第2版)」(以下、テキストと呼びます)を学習するために、脆弱性サンプルの仮想マシンをインストールする必要があります。
macOSで仮想マシンのインストール
テキストでは脆弱性サンプルの仮想マシンをインストールするにあたって、WindowsにインストールしたVirtualBoxで操作することを前提とされています。
ただ自分の場合、PCはmacOS High Sierra10.13.6を使っているため、macOS用に適宜読み換える必要があります。そこで今回の記事では、macを前提とした脆弱性サンプルの仮想マシンのインストール方法について紹介します。
なお参考としている部分はテキストのP19からP23に相当する箇所です。また自分が使っているVirtualBoxのバージョンは5.2.18です(テキストで使われているVirtualBoxのバージョンは5.2.10)。
ホストネットワークマネージャーの設定
[ファイル]からホストネットワークマネージャーをクリックします。テキストでは仮想マシンは1つも入っていない前提ですが、自分の場合vagrantをはじめとした仮想マシンををいくつか入れています。
そのせいかすでにホストネットワークマネージャーが複数個存在します。ですが気にせず[作成]をクリックします。
今回の場合、vboxnet7が作成されますので、右クリックでプロパティを表示させます。vboxnet7のIPアドレスである”192.168.63.1″は自動的に表示されたアドレスです。
IPv4アドレスをテキストに準拠した”192.168.56.1″として[適用]ボタンをクリックすると、IPアドレスがデフォルト表示の”192.168.63.1″から変わります。
仮想マシンのインストール
あらかじめサポートサイトのwasbook.ovaからダウンロードしておきましょう。
[ファイル]から[仮想アプライアンスのインポート]をクリックします。
「インポートしたい仮想アプライアンス」という画面が表示されます。画面の右にあるフォルダのアイコンをクリックします。
あらかじめダウンロードしておいたwasbook.ovaを選択して、[続き]をクリックします。
「仮想アプライアンスのインポート」の画面が表示されます。[インポート]をクリックすると、wasbook.ovaのインポートが始まります。
インポートが完了すると「wasbook」の仮想マシンのアイコンが画面の左側に表示されます。
ネットワークの設定
[ネットワーク]をクリックします。
アダプター1のタブがNATになっていることを確認します。
タブをアダプター2に変更します。[割り当て]を「ホストオンリーアダプター」とし、[名前]をvboxnet7として、[OK]ボタンをクリックします。
ネットワークの設定前と比べて[ネットワーク]の状態が変わりました。
ネットワーク設定の確認
[wasbook]を選択して[起動]をクリックします。
テキストに書かれているユーザー名とパスワードを入力します。
$ ip a
上記のコマンドでIPアドレスを確認すると、192.168.56.101が使われていることが分かります。
FirefoxによるWebサイトの確認
FirefoxのアドレスバーにURLを入力するとが、Webサイトのページが表示されます。
仮想マシンをインストールしてみた感想
ローカル開発環境(VirtualBox + Vagrant)や本番環境(さくらのVPS)など、Webアプリケーションの開発環境を構築することは、なかなか難しいことだと思います。本やブログ記事などのとおりに操作しているつもりでも、そのとおりに動作しなかったりするので。
その点、「体系的に学ぶ 安全なWebアプリケーションの作り方 第2版」の脆弱性サンプルの仮想マシンは、本を読んで一発でインストールができたので、開発環境の構築は容易な方だと感じました。
強いて言うなら、読み手の側でNATやホストオンリーアダプターの知識があれば、インストールがなおしやすかったのではないかと思います。