Uruchamianie OWASP ZAP na Gitlabie

Bezpieczeństwo

 833 

Uruchamianie OWASP ZAP na Gitlabie 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 Gitlabem. 

 

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 gitlab-ci.yml

Chcąc uruchamiać testy z poziomu gitlaba nasze testy będą opierać się o stworzenie pliku gitlab-ci.yml, który będzie naszym centrum dowodzenia i zarządzania. Do uruchomienia naszych testów konieczne będzie:

  • runner na gitlabie, na podstawie którego testy będą uruchamiane (pytaj Devopsów o tag)
  • obraz dockerowy OWASP ZAP – dostępne na hub.docker.com
  • nasz test zapisany jako test.js
I. Najprostsza wersja

W naszym projekcie testowym tworzymy plik gitlab-ci.yml a następnie uzupełniamy go w najprostszy sposób:

perfornamce_test:
tags:
  - nazwa-runnera
image:
name: owasp/zap2docker-stable:latest
script:
  - mkdir -p /zap/wrk
- zap-baseline.py -t -g gen.conf -I -r report.html
- cp /zap/wrk/report.html report.html
 
1. Pierwszy element to nazwa testu
2. nazwa naszego runnera na którym uruchamiamy testy (zapytaj devopsów o tag, jeżeli nie korzystałeś)
3. image – nazwy dockerowych obrazów z których skorzystamy
4. skrypt – polecenie którym uruchamiamy testy
 
 
II. Tworzenie stage

W ramach naszych testów może zachodzić konieczność tworzenia faz egzekucji testów. 

stages:
- test
- test2
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:
      when: always
      paths:
          - ./report/  
  expire_in: 10 days


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 Gitlab 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 Gitlabie to kolejny wpis w ramach którego prezentujemy Wam możliwości integracji narzędzi z Gitlabem. Ponadto wpis ten tworzony jest w ramach szerzenia wiedzy z zakresu security. Zapraszamy na inne wpisy związane z Security