LoginSignup
3
2

More than 3 years have passed since last update.

Jenkins で OWASP ZAP ジョブの作り方

Last updated at Posted at 2019-06-11

Jenkins で OWASP ZAP ジョブの作り方

はじめに

いささか遅すぎるようにも思うけれど、CIにOWASP ZAPを使用してWebセキュリティ対策を従前に行なえるようジョブの作成をしようと始めたところ思いの外ハマったので備忘も兼ねて投稿します。

jenkins

jenkins Dockerfile サンプル

ロケール、タイムゾーンを日本向けに変更しています。

FROM debian:stretch

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get upgrade -y  && apt-get install -y gnupg gnupg2 wget curl locales \
    && localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8

RUN rm /etc/localtime && sh -c 'echo Asia/Tokyo' > /etc/timezone && \
dpkg-reconfigure -f noninteractive tzdata

ENV LANG ja_JP.utf8

RUN wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | apt-key add - && \
sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

RUN apt-get update && apt-get install -y openjdk-8-jdk git jenkins systemd

EXPOSE 8080

ENTRYPOINT service jenkins start && sleep 5 && \
tail -f /var/log/jenkins/jenkins.log

使用する jenkins plugin

  • Official OWASP ZAP Jenkins Plugin
  • HTML Publisher Plugin
  • Custom Tools Plugin

以上のプラグインを追加してください。

ZAPジョブ作成

Custom Tool を追加する

「jenkinsの管理」ー「Global Tool Configuration」
スクリーンショット 2019-06-11 17.31.53.png

スクリーンショット 2019-06-11 17.35.03.png

注意: ラベルは入力するとエラーになってしまうので入力しない

新規ジョブ作成

新規ジョブ作成をクリック
スクリーンショット 2019-06-11 17.22.05.png

アイテム名を入力&「フリースタイル・プロジェクトのビルド」を選択してOK
スクリーンショット 2019-06-11 17.21.33.png

ビルド環境: Install custom tools

チェックを入れて、「Add tool」をクリック
スクリーンショット 2019-06-11 17.26.49.png

Tool selection に設定したCustom Toolを選択する
スクリーンショット 2019-06-11 16.30.36.png

ビルド手順の追加

Execute ZAP を選択
スクリーンショット 2019-06-11 17.39.17.png

Override Host , Override Port を入力する(デフォルトはシステムの設定)
スクリーンショット 2019-06-11 16.30.51.png
ZAP Home Directory に /tmp/ZAP
Session Management は Persist Session を選択、 Filename に "session"
スクリーンショット 2019-06-11 17.44.30.png

スクリーンショット 2019-06-11 17.48.23.png
Starting Point に検査対象のURLを入力
スクリーンショット 2019-06-11 17.48.04.png
Finalize Run で Generate Reports を選択
Filename に JENKINS_ZAP_VULNERABILITY_REPORT_${BUILD_ID}.html
スクリーンショット 2019-06-11 16.31.47.png

ビルド後の処理の追加

成果物を保存 と Publish HTML reports を追加
スクリーンショット 2019-06-11 17.51.59.png

スクリーンショット 2019-06-11 16.44.32.png

以上で保存して終了です

ジョブ実行

実行すると以下のようになるはずです。
スクリーンショット 2019-06-11 18.10.10.png

あとは結果を見て必要な対策をしていくことになります。

参考にしたサイト・記事

3
2
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
3
2