Uruchamianie OWASP ZAP na Bitbucket

Bezpieczeństwo

Loading

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
 
  1. Pierwszy element obraz dockerowy
  2. Następnie tworzymy step w którym uruchomimy nasz test
  3. Nazwa skryptu – która pokaże się w ramach naszej zakładki pipeline (ważne jak masz kilka testów / stepów)
  4. 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