InfoGrab Docs

DAST 프록시 기반 분석기에서 DAST 버전 5로 마이그레이션

요약

DAST 버전 5는 프록시 기반 분석기를 브라우저 기반 분석기로 대체합니다. 다음 조건이 모두 해당되는 경우 이 마이그레이션 가이드를 따르세요: 다음 섹션을 읽고 권장 변경 사항을 적용하여 DAST 버전 5로 마이그레이션합니다.

히스토리

DAST 버전 5는 프록시 기반 분석기를 브라우저 기반 분석기로 대체합니다. 이 문서는 프록시 기반 분석기에서 DAST 버전 5로 마이그레이션하기 위한 가이드 역할을 합니다.

다음 조건이 모두 해당되는 경우 이 마이그레이션 가이드를 따르세요:

  1. GitLab DAST를 사용하여 CI/CD 파이프라인에서 DAST 스캔을 실행합니다.
  2. DAST CI/CD job이 DAST 템플릿 DAST.gitlab-ci.yml 또는 DAST.latest.gitlab-ci.yml 중 하나를 포함하여 구성됩니다.
  3. CI/CD 변수 DAST_VERSION이 설정되지 않았거나 4 이하로 설정되어 있습니다.
  4. CI/CD 변수 DAST_BROWSER_SCAN이 설정되지 않았거나 false로 설정되어 있습니다.

다음 섹션을 읽고 권장 변경 사항을 적용하여 DAST 버전 5로 마이그레이션합니다.

DAST 분석기 버전#

DAST는 두 가지 주요 버전(4 및 5)이 있습니다. GitLab 17.0부터 DAST 템플릿 DAST.gitlab-ci.ymlDAST.latest.gitlab-ci.yml은 기본적으로 DAST 버전 5를 사용합니다. DAST 버전 4를 계속 사용할 수 있지만, DAST 버전 5로 마이그레이션하는 동안에만 임시 조치로 사용해야 합니다. 자세한 내용은 프록시 기반 분석기 계속 사용을 참조하세요.

각 DAST 주요 버전은 기본적으로 서로 다른 분석기를 사용합니다:

  • DAST 버전 4는 프록시 기반 분석기를 사용합니다.
  • DAST 버전 5는 브라우저 기반 분석기를 사용합니다.

DAST 버전 5는 새로운 CI/CD 변수 세트를 사용합니다. DAST 버전 4 변수 이름에 대한 별칭이 만들어졌습니다.

변경 사항:

  • GitLab 16.11 이하에서 DAST 버전 5를 사용하여 DAST 스캔을 테스트하려면 CI/CD 변수 DAST_VERSION5로 설정합니다.

프록시 기반 분석기 계속 사용#

GitLab 18.0까지 프록시 기반 DAST 분석기를 사용할 수 있습니다. 이 레거시 분석기의 버그 및 취약점은 수정되지 않습니다.

변경 사항:

  • 프록시 기반 분석기를 계속 사용하려면 CI/CD 변수 DAST_VERSION4로 설정합니다.

아티팩트#

GitLab 17.0은 DAST 버전 5가 생성한 아티팩트를 DAST CI job에 자동으로 게시합니다.

변경 사항:

  • 파일 로그, 크롤 그래프 또는 인증 보고서를 노출하기 위해 재정의한 경우 CI job 정의에서 artifacts를 제거합니다.
  • CI/CD 변수 DAST_BROWSER_FILE_LOG_PATHDAST_FILE_LOG_PATH는 더 이상 필요하지 않습니다.

인증#

프록시 기반 분석기와 DAST 버전 5 모두 브라우저 기반 분석기를 사용하여 인증합니다. DAST 버전 5로 업그레이드해도 인증 방식은 변경되지 않습니다.

변경 사항:

  • 인증 CI/CD 변수 이름을 변경합니다. DAST_AUTH 접두사가 있는 변수를 참조하세요.
  • 아직 완료하지 않은 경우 DAST_SCOPE_EXCLUDE_URLS를 사용하여 로그아웃 URL을 스캔에서 제외합니다.

크롤링#

DAST 버전 5는 더 나은 크롤 커버리지를 위해 브라우저에서 대상 애플리케이션을 크롤링합니다. 이는 동등한 프록시 기반 분석기 크롤보다 더 많은 리소스가 필요할 수 있습니다.

변경 사항:

  • DAST_WEBSITE 대신 DAST_TARGET_URL을 사용합니다.
  • DAST_SPIDER_MINS 대신 DAST_CRAWL_TIMEOUT을 사용합니다.
  • CI/CD 변수 DAST_USE_AJAX_SPIDER, DAST_SPIDER_START_AT_HOST, DAST_ZAP_CLI_OPTIONSDAST_ZAP_LOG_CONFIGURATION은 더 이상 지원되지 않습니다.
  • DAST가 10 MB보다 큰 응답 본문을 처리해야 하는 경우 DAST_PAGE_MAX_RESPONSE_SIZE_MB를 구성합니다.
  • DAST job을 실행하는 GitLab Runner에 더 많은 CPU 리소스를 제공하는 것을 고려합니다.

범위#

DAST 버전 5는 프록시 기반 분석기에 비해 범위에 대한 더 많은 제어 기능을 제공합니다.

변경 사항:

  • DAST_ALLOWED_HOSTS 대신 DAST_SCOPE_ALLOW_HOSTS를 사용합니다.
  • DAST_TARGET_URL의 도메인이 DAST_SCOPE_ALLOW_HOSTS에 자동으로 추가됩니다. 대상 애플리케이션 API 및 자산 엔드포인트에 대한 도메인 추가를 고려합니다.
  • DAST_SCOPE_EXCLUDE_HOSTS에 추가하여 스캔에서 도메인을 제거합니다(인증 중에는 제외).

취약점 검사#

필요한 변경 사항#

DAST 버전 5는 GitLab이 구축한 취약점 정의를 사용합니다. 이러한 정의는 프록시 기반 분석기 정의에 직접 매핑되지 않습니다.

변경 사항:

  • DAST_ONLY_INCLUDE_RULES 대신 DAST_CHECKS_TO_RUN을 사용합니다. 사용된 ID를 GitLab DAST 취약점 검사 ID로 변경합니다.
  • DAST_EXCLUDE_RULES 대신 DAST_CHECKS_TO_EXCLUDE를 사용합니다. 사용된 ID를 GitLab DAST 취약점 검사 ID로 변경합니다.
  • GitLab DAST 취약점 검사에 대한 설명 및 ID는 취약점 검사 문서를 참조하세요.
  • CI/CD 변수 DAST_AGGREGATE_VULNERABILITIESDAST_MAX_URLS_PER_VULNERABILITY는 더 이상 지원되지 않습니다.

마이그레이션이 다른 취약점을 생성하는 이유#

프록시 기반 스캔과 브라우저 기반 DAST 버전 5 스캔은 서로 다른 취약점 검사 세트를 사용하기 때문에 동일한 결과를 생성하지 않습니다.

DAST 버전 5는 너무 많은 거짓 양성을 생성하거나 현대 브라우저에서 취약점을 악용할 수 없거나 더 이상 관련이 없는 프록시 기반 검사에 대한 동등 항목이 없습니다. DAST 버전 5에는 프록시 기반 분석기에 없는 검사가 포함되어 있습니다.

DAST 버전 5 스캔은 애플리케이션의 더 나은 커버리지를 제공하므로 더 많은 사이트가 스캔되기 때문에 더 많은 취약점을 식별할 수 있습니다.

커버리지#

하나의 프록시 기반 활성 검사가 아직 브라우저 기반 DAST 분석기에 구현되지 않았습니다. 나머지 활성 검사의 마이그레이션은 에픽 13411에서 제안됩니다. 마지막 검사가 마이그레이션될 때까지 DAST 버전 4를 유지하고 싶다면 프록시 기반 분석기 계속 사용을 참조하세요.

남은 검사:

  • CWE-79: Cross-site Scripting (XSS)

온디맨드 스캔#

온디맨드 스캔은 GitLab 17.0부터 DAST 버전 5를 사용하여 브라우저 기반 스캔을 실행합니다.

문제 해결#

DAST 버전 5 문제 해결 문서를 참조하세요.

CI/CD 변수 변경 사항#

다음 표는 각 프록시 기반 분석기 CI/CD 변수에 필요한 마이그레이션 작업을 설명합니다. DAST 버전 5 구성에 대한 자세한 내용은 구성을 참조하세요.

프록시 기반 분석기 CI/CD 변수 필요한 작업 참고 사항
DAST_ADVERTISE_SCAN 이름 변경 DAST_REQUEST_ADVERTISE_SCAN으로
DAST_ALLOWED_HOSTS 이름 변경 DAST_SCOPE_ALLOW_HOSTS
DAST_API_HOST_OVERRIDE 제거 지원되지 않음
DAST_API_SPECIFICATION 제거 지원되지 않음
DAST_AUTH_EXCLUDE_URLS 이름 변경 DAST_SCOPE_EXCLUDE_URLS
DAST_AUTO_UPDATE_ADDONS 제거 지원되지 않음
DAST_BROWSER_FILE_LOG_PATH 제거 더 이상 필요 없음
DAST_DEBUG 제거 지원되지 않음
DAST_EXCLUDE_RULES 이름 변경, 검사 ID 업데이트 DAST_CHECKS_TO_EXCLUDE
DAST_EXCLUDE_URLS 이름 변경 DAST_SCOPE_EXCLUDE_URLS
DAST_FILE_LOG_PATH 제거 더 이상 필요 없음
DAST_FULL_SCAN_ENABLED 이름 변경 DAST_FULL_SCAN으로
DAST_HTML_REPORT 제거 지원되지 않음
DAST_INCLUDE_ALPHA_VULNERABILITIES 제거 지원되지 않음
DAST_MARKDOWN_REPORT 제거 지원되지 않음
DAST_MASK_HTTP_HEADERS 제거 지원되지 않음
DAST_MAX_URLS_PER_VULNERABILITY 제거 지원되지 않음
DAST_ONLY_INCLUDE_RULES 이름 변경, 검사 ID 업데이트 DAST_CHECKS_TO_RUN으로
DAST_PATHS 없음 지원됨
DAST_PATHS_FILE 없음 지원됨
DAST_PKCS12_CERTIFICATE_BASE64 없음 지원됨
DAST_PKCS12_PASSWORD 없음 지원됨
DAST_SKIP_TARGET_CHECK 없음 지원됨
DAST_SPIDER_MINS 변경 DAST_CRAWL_TIMEOUT으로 변경하되 시간 기간 사용. 예: 5 대신 5m 사용
DAST_SPIDER_START_AT_HOST 제거 지원되지 않음
DAST_TARGET_AVAILABILITY_TIMEOUT 변경 DAST_TARGET_CHECK_TIMEOUT으로 변경하되 시간 기간 사용. 예: 60 대신 60s 사용
DAST_USE_AJAX_SPIDER 제거 지원되지 않음
DAST_XML_REPORT 제거 지원되지 않음
DAST_WEBSITE 이름 변경 DAST_TARGET_URL
GitLab Self-Managed: DAST_WEBSITE를 제거하기 전에 인스턴스를 17.0 이상 버전으로 업그레이드합니다. 이 변수는 17.0 이전 GitLab 버전에 포함된 DAST.gitlab-ci.yml 파일을 사용하는 경우 필요합니다.
DAST_ZAP_CLI_OPTIONS 제거 지원되지 않음
DAST_ZAP_LOG_CONFIGURATION 제거 지원되지 않음
SECURE_ANALYZERS_PREFIX 없음 지원됨

DAST 프록시 기반 분석기에서 DAST 버전 5로 마이그레이션

Tier: Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

DAST 버전 5는 프록시 기반 분석기를 브라우저 기반 분석기로 대체합니다. 다음 조건이 모두 해당되는 경우 이 마이그레이션 가이드를 따르세요: 다음 섹션을 읽고 권장 변경 사항을 적용하여 DAST 버전 5로 마이그레이션합니다.

히스토리

DAST 버전 5는 프록시 기반 분석기를 브라우저 기반 분석기로 대체합니다. 이 문서는 프록시 기반 분석기에서 DAST 버전 5로 마이그레이션하기 위한 가이드 역할을 합니다.

다음 조건이 모두 해당되는 경우 이 마이그레이션 가이드를 따르세요:

  1. GitLab DAST를 사용하여 CI/CD 파이프라인에서 DAST 스캔을 실행합니다.
  2. DAST CI/CD job이 DAST 템플릿 DAST.gitlab-ci.yml 또는 DAST.latest.gitlab-ci.yml 중 하나를 포함하여 구성됩니다.
  3. CI/CD 변수 DAST_VERSION이 설정되지 않았거나 4 이하로 설정되어 있습니다.
  4. CI/CD 변수 DAST_BROWSER_SCAN이 설정되지 않았거나 false로 설정되어 있습니다.

다음 섹션을 읽고 권장 변경 사항을 적용하여 DAST 버전 5로 마이그레이션합니다.

DAST 분석기 버전#

DAST는 두 가지 주요 버전(4 및 5)이 있습니다. GitLab 17.0부터 DAST 템플릿 DAST.gitlab-ci.ymlDAST.latest.gitlab-ci.yml은 기본적으로 DAST 버전 5를 사용합니다. DAST 버전 4를 계속 사용할 수 있지만, DAST 버전 5로 마이그레이션하는 동안에만 임시 조치로 사용해야 합니다. 자세한 내용은 프록시 기반 분석기 계속 사용을 참조하세요.

각 DAST 주요 버전은 기본적으로 서로 다른 분석기를 사용합니다:

  • DAST 버전 4는 프록시 기반 분석기를 사용합니다.
  • DAST 버전 5는 브라우저 기반 분석기를 사용합니다.

DAST 버전 5는 새로운 CI/CD 변수 세트를 사용합니다. DAST 버전 4 변수 이름에 대한 별칭이 만들어졌습니다.

변경 사항:

  • GitLab 16.11 이하에서 DAST 버전 5를 사용하여 DAST 스캔을 테스트하려면 CI/CD 변수 DAST_VERSION5로 설정합니다.

프록시 기반 분석기 계속 사용#

GitLab 18.0까지 프록시 기반 DAST 분석기를 사용할 수 있습니다. 이 레거시 분석기의 버그 및 취약점은 수정되지 않습니다.

변경 사항:

  • 프록시 기반 분석기를 계속 사용하려면 CI/CD 변수 DAST_VERSION4로 설정합니다.

아티팩트#

GitLab 17.0은 DAST 버전 5가 생성한 아티팩트를 DAST CI job에 자동으로 게시합니다.

변경 사항:

  • 파일 로그, 크롤 그래프 또는 인증 보고서를 노출하기 위해 재정의한 경우 CI job 정의에서 artifacts를 제거합니다.
  • CI/CD 변수 DAST_BROWSER_FILE_LOG_PATHDAST_FILE_LOG_PATH는 더 이상 필요하지 않습니다.

인증#

프록시 기반 분석기와 DAST 버전 5 모두 브라우저 기반 분석기를 사용하여 인증합니다. DAST 버전 5로 업그레이드해도 인증 방식은 변경되지 않습니다.

변경 사항:

  • 인증 CI/CD 변수 이름을 변경합니다. DAST_AUTH 접두사가 있는 변수를 참조하세요.
  • 아직 완료하지 않은 경우 DAST_SCOPE_EXCLUDE_URLS를 사용하여 로그아웃 URL을 스캔에서 제외합니다.

크롤링#

DAST 버전 5는 더 나은 크롤 커버리지를 위해 브라우저에서 대상 애플리케이션을 크롤링합니다. 이는 동등한 프록시 기반 분석기 크롤보다 더 많은 리소스가 필요할 수 있습니다.

변경 사항:

  • DAST_WEBSITE 대신 DAST_TARGET_URL을 사용합니다.
  • DAST_SPIDER_MINS 대신 DAST_CRAWL_TIMEOUT을 사용합니다.
  • CI/CD 변수 DAST_USE_AJAX_SPIDER, DAST_SPIDER_START_AT_HOST, DAST_ZAP_CLI_OPTIONSDAST_ZAP_LOG_CONFIGURATION은 더 이상 지원되지 않습니다.
  • DAST가 10 MB보다 큰 응답 본문을 처리해야 하는 경우 DAST_PAGE_MAX_RESPONSE_SIZE_MB를 구성합니다.
  • DAST job을 실행하는 GitLab Runner에 더 많은 CPU 리소스를 제공하는 것을 고려합니다.

범위#

DAST 버전 5는 프록시 기반 분석기에 비해 범위에 대한 더 많은 제어 기능을 제공합니다.

변경 사항:

  • DAST_ALLOWED_HOSTS 대신 DAST_SCOPE_ALLOW_HOSTS를 사용합니다.
  • DAST_TARGET_URL의 도메인이 DAST_SCOPE_ALLOW_HOSTS에 자동으로 추가됩니다. 대상 애플리케이션 API 및 자산 엔드포인트에 대한 도메인 추가를 고려합니다.
  • DAST_SCOPE_EXCLUDE_HOSTS에 추가하여 스캔에서 도메인을 제거합니다(인증 중에는 제외).

취약점 검사#

필요한 변경 사항#

DAST 버전 5는 GitLab이 구축한 취약점 정의를 사용합니다. 이러한 정의는 프록시 기반 분석기 정의에 직접 매핑되지 않습니다.

변경 사항:

  • DAST_ONLY_INCLUDE_RULES 대신 DAST_CHECKS_TO_RUN을 사용합니다. 사용된 ID를 GitLab DAST 취약점 검사 ID로 변경합니다.
  • DAST_EXCLUDE_RULES 대신 DAST_CHECKS_TO_EXCLUDE를 사용합니다. 사용된 ID를 GitLab DAST 취약점 검사 ID로 변경합니다.
  • GitLab DAST 취약점 검사에 대한 설명 및 ID는 취약점 검사 문서를 참조하세요.
  • CI/CD 변수 DAST_AGGREGATE_VULNERABILITIESDAST_MAX_URLS_PER_VULNERABILITY는 더 이상 지원되지 않습니다.

마이그레이션이 다른 취약점을 생성하는 이유#

프록시 기반 스캔과 브라우저 기반 DAST 버전 5 스캔은 서로 다른 취약점 검사 세트를 사용하기 때문에 동일한 결과를 생성하지 않습니다.

DAST 버전 5는 너무 많은 거짓 양성을 생성하거나 현대 브라우저에서 취약점을 악용할 수 없거나 더 이상 관련이 없는 프록시 기반 검사에 대한 동등 항목이 없습니다. DAST 버전 5에는 프록시 기반 분석기에 없는 검사가 포함되어 있습니다.

DAST 버전 5 스캔은 애플리케이션의 더 나은 커버리지를 제공하므로 더 많은 사이트가 스캔되기 때문에 더 많은 취약점을 식별할 수 있습니다.

커버리지#

하나의 프록시 기반 활성 검사가 아직 브라우저 기반 DAST 분석기에 구현되지 않았습니다. 나머지 활성 검사의 마이그레이션은 에픽 13411에서 제안됩니다. 마지막 검사가 마이그레이션될 때까지 DAST 버전 4를 유지하고 싶다면 프록시 기반 분석기 계속 사용을 참조하세요.

남은 검사:

  • CWE-79: Cross-site Scripting (XSS)

온디맨드 스캔#

온디맨드 스캔은 GitLab 17.0부터 DAST 버전 5를 사용하여 브라우저 기반 스캔을 실행합니다.

문제 해결#

DAST 버전 5 문제 해결 문서를 참조하세요.

CI/CD 변수 변경 사항#

다음 표는 각 프록시 기반 분석기 CI/CD 변수에 필요한 마이그레이션 작업을 설명합니다. DAST 버전 5 구성에 대한 자세한 내용은 구성을 참조하세요.

프록시 기반 분석기 CI/CD 변수 필요한 작업 참고 사항
DAST_ADVERTISE_SCAN 이름 변경 DAST_REQUEST_ADVERTISE_SCAN으로
DAST_ALLOWED_HOSTS 이름 변경 DAST_SCOPE_ALLOW_HOSTS
DAST_API_HOST_OVERRIDE 제거 지원되지 않음
DAST_API_SPECIFICATION 제거 지원되지 않음
DAST_AUTH_EXCLUDE_URLS 이름 변경 DAST_SCOPE_EXCLUDE_URLS
DAST_AUTO_UPDATE_ADDONS 제거 지원되지 않음
DAST_BROWSER_FILE_LOG_PATH 제거 더 이상 필요 없음
DAST_DEBUG 제거 지원되지 않음
DAST_EXCLUDE_RULES 이름 변경, 검사 ID 업데이트 DAST_CHECKS_TO_EXCLUDE
DAST_EXCLUDE_URLS 이름 변경 DAST_SCOPE_EXCLUDE_URLS
DAST_FILE_LOG_PATH 제거 더 이상 필요 없음
DAST_FULL_SCAN_ENABLED 이름 변경 DAST_FULL_SCAN으로
DAST_HTML_REPORT 제거 지원되지 않음
DAST_INCLUDE_ALPHA_VULNERABILITIES 제거 지원되지 않음
DAST_MARKDOWN_REPORT 제거 지원되지 않음
DAST_MASK_HTTP_HEADERS 제거 지원되지 않음
DAST_MAX_URLS_PER_VULNERABILITY 제거 지원되지 않음
DAST_ONLY_INCLUDE_RULES 이름 변경, 검사 ID 업데이트 DAST_CHECKS_TO_RUN으로
DAST_PATHS 없음 지원됨
DAST_PATHS_FILE 없음 지원됨
DAST_PKCS12_CERTIFICATE_BASE64 없음 지원됨
DAST_PKCS12_PASSWORD 없음 지원됨
DAST_SKIP_TARGET_CHECK 없음 지원됨
DAST_SPIDER_MINS 변경 DAST_CRAWL_TIMEOUT으로 변경하되 시간 기간 사용. 예: 5 대신 5m 사용
DAST_SPIDER_START_AT_HOST 제거 지원되지 않음
DAST_TARGET_AVAILABILITY_TIMEOUT 변경 DAST_TARGET_CHECK_TIMEOUT으로 변경하되 시간 기간 사용. 예: 60 대신 60s 사용
DAST_USE_AJAX_SPIDER 제거 지원되지 않음
DAST_XML_REPORT 제거 지원되지 않음
DAST_WEBSITE 이름 변경 DAST_TARGET_URL
GitLab Self-Managed: DAST_WEBSITE를 제거하기 전에 인스턴스를 17.0 이상 버전으로 업그레이드합니다. 이 변수는 17.0 이전 GitLab 버전에 포함된 DAST.gitlab-ci.yml 파일을 사용하는 경우 필요합니다.
DAST_ZAP_CLI_OPTIONS 제거 지원되지 않음
DAST_ZAP_LOG_CONFIGURATION 제거 지원되지 않음
SECURE_ANALYZERS_PREFIX 없음 지원됨