Uruchamianie OWASP ZAP na Bitbucket to kolejny wpis w którym chcemy Wam pokazać możliwości narzędzia i jego wykorzystania w codziennej pracy. Jest to kolejny z wpisów w którym przedstawiamy Wam możliwość integracji kolejnego narzędzia z Bitbucketem.
Czym jest OWASP ZAP
OWASP ZAP (Zed Attack Proxy) – darmowe narzędzie służące do testowania bezpieczeństwa aplikacji webowych, rozwijana w ramach grupy OWASP (Open Web Application Security Project). Narzędzie jest proste w instalacji i przydatne w trakcie Waszego procesu testowania.
Tworzenie bitbucket-pipelines.yml
Chcąc uruchamiać testy z poziomu Bitbucketa nasze testy będą opierać się o stworzenie pliku bitbucket-pipelines.yml, który będzie naszym centrum dowodzenia i zarządzania. Do uruchomienia naszych testów konieczne będzie:
- runner na bitbuckecie (domyślny – wystarczy)
- obraz dockerowy OWASP ZAP – dostępne na hub.docker.com.
I. Najprostsza wersja
W naszym projekcie testowym tworzymy plik bitbucket-pipelines.yml a następnie uzupełniamy go w najprostszy sposób:
image: owasp/zap2docker-stable:latest
pipelines:
default:
- step:
name: Security Scan
script:
- mkdir -p /zap/wrk
- zap-baseline.py -t https://www.example-page.pl -g gen.conf -I -r report.html
- cp /zap/wrk/report.html report.html
artifacts:
- report.html
- Pierwszy element obraz dockerowy
- Następnie tworzymy step w którym uruchomimy nasz test
- Nazwa skryptu – która pokaże się w ramach naszej zakładki pipeline (ważne jak masz kilka testów / stepów)
- W ramach skryptu mamy:
- mkdir -p /zap/wrk tworzy katalog /zap/wrk, jeśli nie istnieje.
- Następna linia to uruchomienie testu i stworzenie raportu
- Polecenie cp /zap/wrk/report.html report.html kopiuje plik report.html z lokalizacji /zap/wrk do bieżącego katalogu (katalog, w którym wykonywany jest skrypt).
II. Tworzenie stepów
W ramach naszych testów może zachodzić konieczność tworzenia faz egzekucji testów.
pipelines:
default:
- step:
name: Security Scan
script:
- mkdir -p /zap/wrk
- zap-baseline.py -t https://www.example-page.pl -g gen.conf -I -r report.html
- cp /zap/wrk/report.html report.html
artifacts:
- report.html
- step:
name: Security Scan
script:
- mkdir -p /zap/wrk
- zap-baseline.py -t https://www.example-page2.pl -g gen.conf -I -r report2.html
- cp /zap/wrk/report2.html report2.html
artifacts:
- report2.html
III. Raporty i artefakty
Jeżeli chcesz możesz generować i potem zapisywać swój raport. Dzięki temu będziesz mógł analizować dokładniej wyniki, lub przedstawiać je innym w formie graficznej.
artifacts:
- report.html
Ważne jest abyście w skrypcie podanym w pierwszej linii podawali adres dla raportów, bo jest to mniej standardowe niż w przypadku K6, czy Cypressa.
Schedules
Jeżeli chcemy tak przygotowane testy w ramach naszego repozytorium, możemy uruchamiać cyklicznie. Z pomocą przychodzi nam Bitbucket i zakładka CI/CD – Schedules:
Rozwiązanie to jest korzystne, gdyż dzięki niemu możemy wykorzystywać możliwości OWASP ZAP bez naszego ręcznego uruchamiania.
Podsumowanie
Artykuł Uruchamianie OWASP ZAP na Bitbucket to kolejny wpis w ramach którego prezentujemy Wam możliwości integracji narzędzi z Bitbucketem . Ponadto wpis ten tworzony jest w ramach szerzenia wiedzy z zakresu security. Zapraszamy na inne wpisy związane z Security.