0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#0199(2025/07/21)OWASP ZAP入門ガイド

Posted at

OWASP ZAP入門ガイド

OWASP ZAPとは、ブラウザとWebアプリの間に挟んで脆弱性診断を自動・手動で行える“Webセキュリティ用プロキシ”である。

● なぜZAPなのか

  • 無料 & オープンソース:商用代替(Burp Suite Pro 等)が高価でも、ZAPなら無償でCI/学習に導入可
  • GUI + API:クリック操作でもREST APIでも同じ機能を呼び出せる → 自動化が容易
  • プラグイン拡張:2025年現在、マーケットプレイスに200+アドオン

● ZAPの全体像と通信経路

  • ポイント:ZAPはOSI Layer 7のHTTP/HTTPSストリームのみを扱い、TCP/UDPパケットの再構築はしない。

● 何を“監視”しているのか? 他ツールとの比較

観点 OWASP ZAP Wireshark Prometheus + SNMP
主レイヤ L7 (HTTP/HTTPS) L2–4 (パケット) システム/ネットワークメトリクス
主目的 脆弱性の発見・再現 トラフィック解析・トラブルシュート 可用性・性能監視
アプローチ 挟み込んで改ざん・攻撃 受動的キャプチャ エージェント or Exporter 収集
影響度 誤設定で実害を起こす可能性(DoS等) 基本 Read‑only Read‑only
代表シナリオ XSS/SQLi検証、CSRF確認 MTU問題調査、RST解析 CPU負荷・帯域監視

● ZAPで出来る主なこと

  • インターセプト/改ざん:リクエスト/レスポンス内容をリアルタイム編集
  • パッシブスキャン:通信を観察しつつOWASP Top10相当の問題を自動検出
  • アクティブスキャン:自動攻撃で実際に穴が空くか確認(本番NG)
  • スパイダー & クローラ:HTML / SPA / API を自動巡回しURLを列挙
  • Fuzzer:辞書や正規表現ベースでパラメータを総当たり
  • WebSocket/GraphQL対応:モダンアプリの双方向通信にも対応
  • Automation Framework:YAMLジョブ定義 + zap.sh -autorun でCIに投入

● “設定不要”で触る 3 ステップ

  1. Docker で起動

    docker run -u zap -p 8080:8080 \
      ghcr.io/zaproxy/zaproxy:2.16.0 \
      zap.sh -daemon -config api.disablekey=true
    
  2. ブラウザのプロキシ127.0.0.1:8080 に変更

  3. いつものサイトを閲覧 → ZAPが自動でパッシブスキャン

Tips: Firefox ならプロファイルごと設定、Chrome/Edge は SwitchyOmega 等で簡単に切替え可。

● 典型的ワークフロー(手動)

  • Step 1: コンテキスト設定:対象ドメイン範囲・認証情報を登録
  • Step 2: ブラウズ:リンク・フォーム操作を録画(またはスパイダー)
  • Step 3: パッシブ結果を確認:Cookie属性・セキュリティヘッダ欠如など即チェック
  • Step 4: アクティブスキャン:安全な環境でのみ実行
  • Step 5: アラート整頓:誤検知ラベル付け → レポート出力 (HTML/MD/JSON)

● 典型的ワークフロー(CI/CD)

  • zap-baseline.py で URL 1 本スキャン → パイプラインを失敗させずレポート提出
  • zap-full-scan.py でプリプロダクション環境に対しフルアクティブスキャン
  • レポートを SARIF 形式で出力 → GitHub Security Dashboard と連携

● ベストプラクティス & 注意点

  • 本番パッシブOK、アクティブNG:DoSリスクに留意
  • OAuth/JWTアプリはScript認証:Zest / Groovy / Python スクリプトでログイン再現
  • 大量アラートはタグ分類Low | Medium | High + 影響範囲で優先度付け
  • DevSecOps統合:SAST → ZAP(DAST) → IAST → コンテナスキャン のパイプに

● FAQ

  • Q: HTTPS通信を完全に覗けるの?

    • A: ZAP が発行する CA 証明書をローカル信頼ストアに入れればOK。
  • Q: SPA でリンクが取れない…

    • A: 2024 Q4 以降の Client Spider モードを有効化。Chrome driver を同梱。
  • Q: Burp Suite との使い分けは?

    • A: チーム内に有償ライセンスが無い/CIに組む手間を減らしたい → まずZAPで十分。

● まとめ

  • ZAP は “プロキシを立てるだけ” で脆弱性診断が始められる便利ツール
  • パケット監視とは層が違うので併用が基本:ZAP(L7) + Wireshark(L2–4) + Prometheus(metrics)
  • GUI 学習 → API 自動化へ進めば、本番リリース前の安全網を最小コストで構築できる。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?