Jenkins에서 OWASP ZAP 작업을 만드는 방법

Jenkins에서 OWASP ZAP 작업을 만드는 방법



소개



조금 지나치게 느린 것처럼 생각하지만, CI에 OWASP ZAP를 사용하여 웹 보안 대책을 종전에 할 수 있도록 작업을 만들려고 시작했는데 생각 밖에 빠졌기 때문에 비망도 겸해 투고합니다.

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"




    참고 : 라벨을 입력하면 오류가 발생하므로 입력하지 않습니다.

    새 작업 만들기



    새 작업 만들기를 클릭


    아이템명 입력 & 「프리스타일 프로젝트 빌드」를 선택해 OK


    빌드 환경: Install custom tools



    체크를 하고 「Add tool」을 클릭


    Tool selection으로 설정한 Custom Tool 선택


    빌드 절차 추가



    Execute ZAP 선택


    Override Host , Override Port 입력(기본값은 시스템 설정)

    ZAP Home Directory에서/tmp/ZAP
    Session Management는 Persist Session을 선택하고 Filename에 "session"



    시작 지점에 검사할 URL 입력

    Finalize Run에서 Generate Reports 선택
    Filename 에 JENKINS_ZAP_VULNERABILITY_REPORT_${BUILD_ID}.html


    빌드 후 처리 추가



    아티팩트 저장 및 Publish HTML reports 추가




    이상으로 저장하고 종료합니다.

    작업 실행



    실행하면 다음과 같아야합니다.


    그리고는 결과를 보고 필요한 대책을 해 나가게 됩니다.

    참고로 한 사이트·기사

    좋은 웹페이지 즐겨찾기