本記事では、Windows / Mac / Linux 上で、無料で脆弱性診断ができる OWASP ZAP の 設定方法 について、画像をつかってわかりやすく説明します。
1.OWASP ZAPの起動と設定
(1) ZAP セッションの保存方法 選択
初めて ZAP を起動するとき、ZAP セッションを保存するかどうかを選択します。セッション情報はローカル データベースに保存されるため、再開等に利用することができます。ZAP を終了するときにこれらのファイルを削除させることもできます。
セッション情報は大きなサイズのファイルになり、システムに影響を及ぼすことがあります。
- セッション(ZAPが実行した記録)情報をどう保存するかを選択し、[開始]ボタンをクリック
- 現在のタイムスタンプでファイル名を付けてセッション保持
ZAPが終了しても削除されず、ZAP実行記録を残すことができます。 - 保存先のパスとファイル名を指定してセッションを保持
[開始]ボタンをクリック後に、保存先を指定するためのダイアログが表示されます。そのダイアログで指定したファイルにZAP実行記録が追記されていきます。 - 継続的に保存せず、必要に応じてセッションを保持
「ユーザーディレクトリ \ OWASP ZAP \ session 」以下にデータが保存され、ZAP終了時に削除されます。
- 現在のタイムスタンプでファイル名を付けてセッション保持

(2) 最初に絶体すべき モードの設定
OWASP ZAP が起動したら、初回起動時には 標準モード が選択されているため、必ず プロテクトモード の選択に変更してください
- セーフモード
Web サイトを手動で検査する静的スキャンのみが実行可能 - プロテクトモード
明示的に設定したURLに対してのみ攻撃をおこない、脆弱性診断を実施 - 標準モード
明示的に設定したURLだけなく、そのURL上見つけた外部サイト外部に対しても攻撃をおこない、脆弱性診断を実施(危険) - 攻撃モード:明示的に設定したURLに対してのみ攻撃をおこない、脆弱性診断を実施(自動的にリアルタイム診断開始)

2.プロキシ設定 (chrome連携例)
脆弱性診断を実施するためには、OWASP ZAPにブラウザとWeb アプリケーションの間の通信(リクエストとレスポンス)を傍受し検査したり、必要に応じてその内容書き換えて転送できる様にする必要があります。そこでOWASP ZAP をプロキシとして設定します。
(1) OWASP ZAP 側のプロキシ設定
- メニュー[ツール]>[オプション]をクリックし、オプションダイアログを開く
- 左の一覧項目から[Network]>[Local Servers/Proxies]をクリック
- ポート番号を 8080 から 5555 など任意の番号に変更

(2) chrome 側のプロキシ設定
脆弱性診断時のみプロキシが切り替えられる様にchrome アドオンツール Proxy SwitchyOmega を利用します。
- Chrome を起動し、「chrome ウェブストア Proxy SwitchyOmega ページ 」を開く
- [chromeに追加]ボタンをクリック
- 『「Proxy SwitchyOmega」を追加しますか?』ダイアログに対して[拡張機能を追加]ボタンをクリック


- ServeにはOWASP ZAPに設定した同じ値「localhost」を入力
- PortにはOWASP ZAPに設定した同じ値(5555など)を入力
- [apply changes]ボタンをクリックし、「Options save.」が表示されたら登録完了

- Google Chromeの上部メニューから、拡張機能マークをクリック
- ピンを留めて、SwitchyOmega を有効にする

- Google Chromeの上部メニューから、SwitchyOmegaマークをクリック
- [Proxy]を選択すると SwitchyOmega で設定したプロキシが利用される
- [System Proxy]を選択すると 従来のプロキシ(Windows設定値)が利用に戻る

3.証明書の設定(暗号化SSL通信対応)
(1) OWASP ZAP 側でのルート証明書の作成
- メニュー[ツール]>[オプション]をクリックし、オプションダイアログを開く
- 左の一覧項目から[Network]>[Servers Certificates]をクリック
- [生成]ボタンをクリック
- 『既存の証明書を上書きしてもよろしいですか?』ダイアログが表示された場合には、[はい]ボタンをクリック


(2) OWASP ZAP ルート証明書の出力
- ルート証明書の作成をしたダイアログ上で、証明書を確認するために[ビュー]ボタンをクリック

- 証明書ダイアログが表示されるので、[詳細]タブブをクリック
- [ファイルにコピー]ボタンをクリックし、下図の通り「証明書エクスポートウィーザード」に従ってルート証明書を出力


⇒

⇒

[次へ]ボタンをクリック
⇒

⇒

(3) Chrome 側でのルート証明書のインポート
- Chrome を起動し、[設定] – [プライバシーとセキュリティ] をクリック
- [セキュリテイ]をクリック
- [デバイス証明書の管理]をクリック
![Chrome [設定] – [プライバシーとセキュリティ] > [セキュリテイ]](https://trustbrain.jp/wp-content/uploads/02_ZAP-3-set-8-1-1024x480.png)
![Chrome [セキュリテイ]](https://trustbrain.jp/wp-content/uploads/02_ZAP-3-set-8-2-1024x335.png)
- 証明書ダイアログが表示されるので、[信頼された証明機関]タブブをクリック
- [インポート]ボタンをクリックし、下図の通り「証明書インポートウィーザード」に従ってルート証明書をインポート


⇒

[次へ]ボタンをクリック
⇒

⇒

⇒

⇒

(4) プロキシ および ルート証明書 設定後 の ブラウザ画面
プロキシ および ルート証明書 の設定が完了したら、ブラウザ上に先の画面が現れ、脆弱性診断が実施できる様になります。

4.プロキシ設定と証明書設定の永続化
プロキシ設定と証明書をOWASP ZAP 起動時毎に設定しなくても良いように永続化セッションファイルに保存します。
- メニュー[ファイル]>[永続化セッション]をクリックし、保存ダイアログを開く

- 保存ダイアログで、任意の永続化セッションファイル名を入力し[保存]ボタンをクリック


月~土 10:00~17:00 受付
本事例の関連サービス

Webアプリケーション 脆弱性診断支援
脆弱性診断実施の他、お客様自身でも診断ができる様にOWASP ZAP(無償ツール)の使い方をサポート
50,000円~

情報セキュリティ対策等 よろず相談
情報セキュリティ対策に関する お困りごと や ご相談 に対してアドバイスします。
また情報セキュリティに関する各種ご依頼事も承ります。
5,000円/30分~