분석기 활성화
DAST job은 DAST CI/CD 템플릿 파일의 image 키워드로 정의된 Docker 컨테이너에서 실행됩니다. 애플리케이션에 DAST 스캐닝을 추가하려면 GitLab DAST CI/CD 템플릿 파일에 정의된 DAST job을 사용합니다.
DAST 스캔을 실행하려면:
- DAST 스캔 실행에 대한 요구 사항 조건을 읽습니다.
- CI/CD 파이프라인에서 DAST job을 생성합니다.
- 애플리케이션에서 필요한 경우 사용자로 인증합니다.
DAST job은 DAST CI/CD 템플릿 파일의 image 키워드로 정의된 Docker 컨테이너에서 실행됩니다.
job을 실행하면 DAST는 DAST_TARGET_URL 변수로 지정된 대상 애플리케이션에 연결하고 내장 브라우저를 사용하여 사이트를 크롤링합니다.
DAST CI/CD job 생성#
히스토리
애플리케이션에 DAST 스캐닝을 추가하려면 GitLab DAST CI/CD 템플릿 파일에 정의된 DAST job을 사용합니다. 템플릿 업데이트는 GitLab 업그레이드와 함께 제공되어 개선 사항과 추가 사항의 이점을 얻을 수 있습니다.
사전 요구사항:
- 프로젝트의 Developer, Maintainer 또는 Owner 역할.
CI/CD job을 생성하려면:
-
상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
-
왼쪽 사이드바에서 빌드 > 파이프라인 편집기를 선택합니다.
.gitlab-ci.yml파일이 없는 경우 파이프라인 구성을 선택한 다음 예시 내용을 삭제합니다. -
적절한 CI/CD 템플릿을 포함합니다:
DAST.gitlab-ci.yml: DAST CI/CD 템플릿의 안정 버전.DAST.latest.gitlab-ci.yml: DAST 템플릿의 최신 버전.
[!warning] 최신 버전의 템플릿에는 호환성을 깨는 변경 사항이 포함될 수 있습니다. 최신 템플릿에서만 제공되는 기능이 필요하지 않으면 안정 템플릿을 사용합니다.
-
GitLab CI/CD Stage 구성에
dastStage를 추가합니다. -
다음 방법 중 하나를 사용하여 DAST가 스캔할 URL을 정의합니다:
-
DAST_TARGET_URLCI/CD 변수를 설정합니다. 설정된 경우 이 값이 우선합니다. -
프로젝트 루트의
environment_url.txt파일에 URL을 추가하는 것은 동적 환경에서 테스트하는 데 유용합니다. GitLab CI/CD 파이프라인에서 동적으로 생성된 애플리케이션에 대해 DAST를 실행하려면 애플리케이션 URL을environment_url.txt파일에 씁니다. DAST는 자동으로 URL을 읽어 스캔 대상을 찾습니다.Auto DevOps CI YAML에서 이 예시를 볼 수 있습니다.
-
예를 들어:
stages:
- dast
include:
- template: Security/DAST.gitlab-ci.yml
dast:
variables:
DAST_TARGET_URL: "https://example.com"
DAST_AUTH_USERNAME: "test_user"
DAST_AUTH_USERNAME_FIELD: "name:user[login]"
DAST_AUTH_PASSWORD_FIELD: "name:user[password]"
DAST job이 성공적으로 실행되려면 DAST_TARGET_URL을 정의하거나 environment_url.txt 파일을 생성해야 합니다.
네트워크 연결#
러너가 대상 애플리케이션 URL에 연결할 수 있어야 합니다. 애플리케이션이 비표준 포트를 사용하는 경우 URL에 포함합니다.
분석기 활성화 후#
파이프라인이 실행될 때 DAST job은:
- 애플리케이션에 연결합니다.
- Chromium 브라우저를 실행하여 사이트를 크롤링합니다.
- 발견된 페이지에서 보안 검사를 수행합니다.
인증 구성#
애플리케이션에서 사용자 로그인이 필요한 경우 스캔 전에 DAST가 인증하도록 구성합니다. 인증 없이 DAST는 공개적으로 액세스 가능한 페이지만 스캔할 수 있습니다.
인증을 구성하려면 인증을 참조하세요.
크롤 범위 확인#
첫 번째 스캔이 완료된 후 DAST가 애플리케이션 페이지를 올바르게 발견하고 있는지 확인합니다.
크롤 결과를 시각화하려면:
DAST_CRAWL_GRAPH변수를 사용하여 크롤 그래프를 활성화합니다.- 그래프를 검토하여 누락된 페이지나 탐색 경로를 식별합니다.
- 페이지가 누락된 경우 스캔 범위를 조정합니다.
문제 해결#
문제가 발생하는 경우:
- 설정 문제는 DAST 설정을 참조하세요.
- 자세한 진단 정보는 진단 로그를 참조하세요.
- 연결 문제 해결은 러너가 대상 애플리케이션에 연결할 수 없음을 참조하세요.
