InfoGrab Docs

분석기 활성화

요약

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 생성#

히스토리
  • GitLab 16.0에서 이 템플릿이 DAST_VERSION: 4로 업데이트됨.
  • GitLab 17.0에서 이 템플릿이 DAST_VERSION: 5로 업데이트됨.
  • GitLab 18.0에서 이 템플릿이 DAST_VERSION: 6으로 업데이트됨.

애플리케이션에 DAST 스캐닝을 추가하려면 GitLab DAST CI/CD 템플릿 파일에 정의된 DAST job을 사용합니다. 템플릿 업데이트는 GitLab 업그레이드와 함께 제공되어 개선 사항과 추가 사항의 이점을 얻을 수 있습니다.

사전 요구사항:

  • 프로젝트의 Developer, Maintainer 또는 Owner 역할.

CI/CD job을 생성하려면:

  1. 상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

  2. 왼쪽 사이드바에서 빌드 > 파이프라인 편집기를 선택합니다.

    .gitlab-ci.yml 파일이 없는 경우 파이프라인 구성을 선택한 다음 예시 내용을 삭제합니다.

  3. 적절한 CI/CD 템플릿을 포함합니다:

    [!warning] 최신 버전의 템플릿에는 호환성을 깨는 변경 사항이 포함될 수 있습니다. 최신 템플릿에서만 제공되는 기능이 필요하지 않으면 안정 템플릿을 사용합니다.

  4. GitLab CI/CD Stage 구성에 dast Stage를 추가합니다.

  5. 다음 방법 중 하나를 사용하여 DAST가 스캔할 URL을 정의합니다:

    • DAST_TARGET_URL CI/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은:

  1. 애플리케이션에 연결합니다.
  2. Chromium 브라우저를 실행하여 사이트를 크롤링합니다.
  3. 발견된 페이지에서 보안 검사를 수행합니다.

인증 구성#

애플리케이션에서 사용자 로그인이 필요한 경우 스캔 전에 DAST가 인증하도록 구성합니다. 인증 없이 DAST는 공개적으로 액세스 가능한 페이지만 스캔할 수 있습니다.

인증을 구성하려면 인증을 참조하세요.

크롤 범위 확인#

첫 번째 스캔이 완료된 후 DAST가 애플리케이션 페이지를 올바르게 발견하고 있는지 확인합니다.

크롤 결과를 시각화하려면:

  • DAST_CRAWL_GRAPH 변수를 사용하여 크롤 그래프를 활성화합니다.
  • 그래프를 검토하여 누락된 페이지나 탐색 경로를 식별합니다.
  • 페이지가 누락된 경우 스캔 범위를 조정합니다.

문제 해결#

문제가 발생하는 경우:

분석기 활성화

원문 보기
요약

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 생성#

히스토리
  • GitLab 16.0에서 이 템플릿이 DAST_VERSION: 4로 업데이트됨.
  • GitLab 17.0에서 이 템플릿이 DAST_VERSION: 5로 업데이트됨.
  • GitLab 18.0에서 이 템플릿이 DAST_VERSION: 6으로 업데이트됨.

애플리케이션에 DAST 스캐닝을 추가하려면 GitLab DAST CI/CD 템플릿 파일에 정의된 DAST job을 사용합니다. 템플릿 업데이트는 GitLab 업그레이드와 함께 제공되어 개선 사항과 추가 사항의 이점을 얻을 수 있습니다.

사전 요구사항:

  • 프로젝트의 Developer, Maintainer 또는 Owner 역할.

CI/CD job을 생성하려면:

  1. 상단 바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.

  2. 왼쪽 사이드바에서 빌드 > 파이프라인 편집기를 선택합니다.

    .gitlab-ci.yml 파일이 없는 경우 파이프라인 구성을 선택한 다음 예시 내용을 삭제합니다.

  3. 적절한 CI/CD 템플릿을 포함합니다:

    [!warning] 최신 버전의 템플릿에는 호환성을 깨는 변경 사항이 포함될 수 있습니다. 최신 템플릿에서만 제공되는 기능이 필요하지 않으면 안정 템플릿을 사용합니다.

  4. GitLab CI/CD Stage 구성에 dast Stage를 추가합니다.

  5. 다음 방법 중 하나를 사용하여 DAST가 스캔할 URL을 정의합니다:

    • DAST_TARGET_URL CI/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은:

  1. 애플리케이션에 연결합니다.
  2. Chromium 브라우저를 실행하여 사이트를 크롤링합니다.
  3. 발견된 페이지에서 보안 검사를 수행합니다.

인증 구성#

애플리케이션에서 사용자 로그인이 필요한 경우 스캔 전에 DAST가 인증하도록 구성합니다. 인증 없이 DAST는 공개적으로 액세스 가능한 페이지만 스캔할 수 있습니다.

인증을 구성하려면 인증을 참조하세요.

크롤 범위 확인#

첫 번째 스캔이 완료된 후 DAST가 애플리케이션 페이지를 올바르게 발견하고 있는지 확인합니다.

크롤 결과를 시각화하려면:

  • DAST_CRAWL_GRAPH 변수를 사용하여 크롤 그래프를 활성화합니다.
  • 그래프를 검토하여 누락된 페이지나 탐색 경로를 식별합니다.
  • 페이지가 누락된 경우 스캔 범위를 조정합니다.

문제 해결#

문제가 발생하는 경우: