La sécurité dans le pipepline CI / CD
Test statique de sécurité des applications (Static application security testing, SAST). Doit permettre aux programmeurs de déceler les failles courantes avant la compilation d’une version. Une équipe de développement peut employer plusieurs outils SAST pour prendre en charge différents langages ou frameworks.
Le template gitlab est basé sur l'utilisation de Semgrep. Il fonctionne en utilisant des règles de recherche définies par l'utilisateur pour identifier des motifs de code spécifiques qui pourraient indiquer des problèmes potentiels. Ces règles peuvent être écrites en utilisant une syntaxe spécifique à Semgrep. L'outil est souvent utilisé dans le cadre de pratiques de développement sécurisées et de l'intégration continue pour garantir que le code source est conforme à des normes de qualité et de sécurité.
Test dynamique de sécurité des applications (Dynamic application security testing, DAST). Permet aux experts en tests de sécurité d’examiner une build en cours d’exécution et de détecter les problèmes de configuration, de traitement des erreurs, d’entrées et de sorties de l’application, etc. Les test dast s'effectue toujours sur un environnement de testet jamais en production.
stages:
- security
variables:
DAST_TARGET_URL: 'http://20.93.21.178/'
# Dynamic Application Security Testing
run-dast-job:
stage: security
image: maven:3.8.5-openjdk-11-slim
tags:
- docker
script:
- apt-get update
- apt-get -y install wget
- apt-get -y install wkhtmltopdf
- wget https://github.com/zaproxy/zaproxy/releases/download/v2.14.0/ZAP_2.14.0_Linux.tar.gz
- mkdir zap
- tar -xvf ZAP_2.14.0_Linux.tar.gz
- cd ZAP_2.14.0
- ./zap.sh -cmd -quickurl $DAST_TARGET_URL -quickprogress -quickout ../zap_report.html
- cd ..
- wkhtmltopdf zap_report.html zap_report.pdf
artifacts:
paths:
- zap_report.pdf
Test interactif de sécurité des applications (interactive application security testing, IAST). Combine les techniques SAST et DAST afin d’en tirer les avantages clés.