脆弱性を学ぶためには、実際にサンプルを動かすと実感しやすい。Windows OSでは、VMware PlayerとFiddlerが有名である。ここでは、Mac OSで対応しているVMware Fusion上の仮想マシンとBurp Proxyをインストールし、脆弱性を体験するための環境設定についてまとめる。
1 実習環境の概要
著書における脆弱性のサンプルの動作環境は、以下の通りである。
- Linux(Ubuntu 10.04)
- Apache 2.2
- PHP 5.3
- PostgreSQL 8.4
- PostfixなどSendmail互換のメールサーバー
2 VMware Player
VMware Playerとは、米VMware社が無償で提供している仮想化ソフトウェアである。1台の PC 上で複数のオペレーティング システムを同時に実行することができる。2012年12月現在、最新バージョンは5.0.1となっている。
著書ではWindowsでの利用を想定しているため、VMware Playerにて環境設定を行っている。しかし、筆者はMacを使用しているため、VMware Fusion 5をダウンロードして行った。どちらの環境でも動作確認がされている(著書ではVMware Fusion 3.1.2で確認)。
3 仮想マシンのインストールと動作確認
仮想マシンのインストールと動作確認についての詳しい説明は、著書に書いてあるためここでは省略する。
Mac OSにおけるhostsファイルの編集とpingによる疎通確認については、インストール手順やMac で hosts ファイルを変更するが参考になる(初学者はviのコマンドリファレンスも必須)。手間取った場合は、仮想マシンをいったん削除してZIPファイルから展開し直し、IPアドレスの入力ミスがないか確認することをおすすめする。ApacheとPHPの動作確認とメールアカウントの設定と確認(筆者はロリポップを使用)を行えば、仮想マシンの準備は完成である。以下に、Linuxについての説明を簡単にまとめる。
Linuxとは、1991年にフィンランドのヘルシンキ大学の大学院生(当時)Linus Torvalds氏によって開発された、UNIX互換のOSである。その後フリーソフトウェアとして公開され、全世界のボランティアの開発者によって改良が重ねられた。Linuxは学術機関を中心に広く普及しており、企業のインターネットサーバとしても多く採用されている。最近では携帯電話やデジタル家電など組み込み機器のOSとしても普及し始めている。
Linuxは既存のOSのコードを流用せず、0から書き起こされた。他のOSに比べ、低い性能のコンピュータでも軽快に動作する。Linux.comに日本のLinux関連の情報がまとめられている。興味のある方は参考にしてほしい。
4 Fiddler
Fiddlerとは、Eric Lawrence氏が開発しているWebアプリケーションデバッグ(バグ修正)用ツールで、無償で公開されている。WindowsPC上でプロキシ(代理)として動作し、HTTP通信を変更することができる。ここでは、Mac OSでの無料版があるBurp Suiteを使用した(参考:#wasbook の実習をmacでやる環境を作った、burp suiteによる初歩のWeb監査)。
最後に
筆者は今回初めて「サーバ仮想化」を行った。サーバ仮想化とは、1台のサーバコンピュータをあたかも複数台のコンピュータであるかのように論理的に分割し、それぞれに別のOSやアプリケーションソフトを動作させることである。
慣れるまでは非常に面倒である。しかし、この技術を使うことで複数のパソコンを同時に起動するといったことを行わずに済み、コスト的にもよい。今後も複数のOSにて実験していきたい。
次回は、Webセキュリティの基礎(HTTP、セッション管理、同一生成元ポリシー)についてまとめる。
![]() |