튜토리얼: 웹 애플리케이션 스캔을 위한 DAST 설정
Dynamic Application Security Testing(DAST)을 CI/CD 파이프라인에 통합하여 웹 애플리케이션의 런타임 보안 취약점을 자동으로 탐지하는 방법을 설명합니다.
Dynamic Application Security Testing(DAST)을 CI/CD 파이프라인에 통합하는 방법을 알아봅니다. 정적 분석은 소스 코드에서 취약점을 찾습니다. DAST는 애플리케이션이 실제 환경에서 실행되고 서비스 및 사용자 워크플로와 상호작용할 때만 나타나는 런타임 보안 이슈를 식별합니다. GitLab에 통합된 DAST 솔루션을 사용하면, 코드를 테스트 환경에 배포할 때마다 GitLab DAST가 이러한 이슈를 자동으로 검사하도록 설정할 수 있습니다. 이 튜토리얼에서 배울 내용: Tanuki Shop 애플리케이션 설정 빌드 job 정의 DAST job 정의 패시브 스캔 및 액티브 스캔 구성 설정 확인 이 튜토리얼의 Tanuki Shop 애플리케이션은 인증이 필요하지 않습니다. 애플리케이션에 로그인이 필요한 경우, DAST 인증 을 참조하세요. 시작하기 전에 # GitLab Ultimate 구독. 프로젝트에 대한 Maintainer 권한. Tanuki Shop 애플리케이션 설정 # 먼저 Tanuki Shop을 포크합니다. Tanuki Shop 리포지터리 로 이동합니다. 오른쪽 상단 모서리에서 Fork 를 선택합니다. 네임스페이스(개인 또는 그룹)를 선택하고 Fork project 를 선택합니다. 포크된 리포지터리에는 애플리케이션 코드와 초기 CI/CD 구성을 포함하여 이 튜토리얼에 필요한 모든 파일이 포함되어 있습니다. 다음 단계에서 구성을 수정합니다. Settings > General 로 이동합니다. Visibility, project features, permissions 를 펼칩니다. Container registry 토글이 켜져 있는지 확인합니다. 컨테이너 레지스트리가 작동하는지 확인합니다: Deploy > Container registry 로 이동합니다. 빈 레지스트리가 표시되어야 합니다. 오류가 표시되면 프로젝트 권한을 확인하세요. 컨테이너 레지스트리는 파이프라인에서 빌드된 Docker 이미지를 저장합니다. 이 단계가 실패하면 빌드 job이 나중에 실패합니다. 빌드 job 정의 # 이제 애플리케이션이 포함된 Docker 이미지를 생성하고 컨테이너 레지스트리에 푸시하는 빌드 job을 구성합니다. 프로젝트에서 .gitlab-ci.yml 파일을 편집합니다. 기존 내용을 다음 CI/CD 구성으로 교체합니다: stages: - build - dast include: - template: Security/DAST.gitlab-ci.yml # Build: Create the Docker image and push to the container registry build: services: - name: docker:dind alias: dind image: docker:20.10.16 stage: build script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - docker pull $CI_REGISTRY_IMAGE:latest || true -