오프라인 환경에서 DAST 실행

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

제한된, 제한된 또는 가끔 인터넷을 통한 외부 리소스에 액세스할 수 있는 환경에 있는 자체 관리형 GitLab 인스턴스의 경우 DAST 작업이 성공적으로 실행되려면 몇 가지 조정이 필요합니다. 자세한 내용은 오프라인 환경을 참조하세요.

오프라인 DAST 지원 요구 사항

오프라인 환경에서 DAST를 사용하려면 다음이 필요합니다:

GitLab Runner는 기본 pull policy가 항상 입니다 라는 Docker이미지를 가져오려고 시도하므로 반드시 로컬 사본이 있는 경우에도 이를 찾을 수 있습니다.GitLab Runner [pull_policyif-not-present로 설정할 수 있습니다](https://docs.gitlab.com/runner/executors/docker.html#using-the-if-not-present-pull-policy) 오프라인 환경에서만 사용하려면 Docker이미지. 그러나, CI/CD 파이프라인에서 업데이트된 스캐너를 사용하려는 경우를 제외하고 항상 위에 설정하는 것을 권장합니다.`

로컬 Docker 레지스트리에 GitLab DAST analyzer 이미지를 사용 가능하게 하기

DAST를 위해 다음 기본 DAST analyzer 이미지를 registry.gitlab.com에서 로컬 Docker 컨테이너 레지스트리로 가져오세요:

  • registry.gitlab.com/security-products/dast:latest

오프라인 Docker 레지스트리로 Docker 이미지를 가져오는 프로세스는 네트워크 보안 정책에 따라 달라집니다. 외부 리소스를 가져오거나 일시적으로 액세스 할 수있는 승인된 및 승인된 프로세스를 찾기 위해 IT 직원에게 상담하십시오. 이러한 스캐너는 주기적으로 업데이트됩니다 새로운 정의가 추가되며 무작위로 업데이트 할 수 있습니다.

Docker 이미지를 파일로 저장하고 전송하는 세부 정보는 Docker 문서에 docker save, docker load, docker exportdocker import에서 확인할 수 있습니다.

로컬 DAST analyzer 사용을 위한 DAST CI/CD 작업 변수 설정

.gitlab-ci.yml 파일에 다음 구성을 추가하세요. image는 로컬 Docker 컨테이너 레지스트리에 호스팅 된 DAST Docker 이미지를 참조하도록 바꿔야 합니다:

include:
  - template: DAST.gitlab-ci.yml
dast:
  image: registry.example.com/namespace/dast:latest

이제 DAST 작업은 인터넷 액세스를 필요로 하지 않고 코드를 스캔하고 보안 보고서를 생성하기 위해 DAST 분석기의 로컬 사본을 사용해야 합니다.

또는, SECURE_ANALYZERS_PREFIX CI/CD 변수를 사용하여 dast 이미지의 기본 레지스트리 주소를 재정의할 수 있습니다.