오프라인 구성

한정된, 제한된 또는 가끔씩 외부 리소스에 제한된 환경에서 Self-Managed형 GitLab 인스턴스를 위한 일부 조정이 필요하여 DAST 작업이 성공적으로 실행되도록 해야 합니다. 자세한 내용은 오프라인 환경을 참조하세요.

오프라인 DAST 지원 요구 사항

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

GitLab Runner는 기본 pull policyalways되어 있어 로컬 사본이 있더라도 GitLab 컨테이너 레지스트리에서 Docker 이미지를 가져오려고 합니다. 의사 결정에 따라 오프라인 환경에서는 GitLab Runner의 pull_policyif-not-present로 설정할 수 있으며, 이렇게 하면 로컬로 사용 가능한 Docker 이미지만 사용합니다. 그러나 CI/CD 파이프라인에서 업데이트된 스캐너를 사용하도록 하려는 경우 오프라인 환경이 아닌 경우 always로 설정된 pull policy를 유지하는 것이 좋습니다.

로컬 Docker 레지스트리 내에서 GitLab DAST 분석기 이미지를 사용 가능하도록 설정

DAST를 위해 다음 기본 DAST 분석기 이미지를 registry.gitlab.com에서 로컬 Docker 컨테이너 레지스트리로 가져옵니다:

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

로컬 오프라인 Docker 레지스트리에 Docker 이미지를 가져오는 프로세스는 귀하의 네트워크 보안 정책에 따라 달라집니다. 외부 리소스를 가져오거나 일시적으로 접근하는 데 수락되고 승인된 방법을 찾기 위해 IT 직원과 협의하세요. 이러한 스캐너는 주기적으로 업데이트됩니다새로운 정의로, 때로는 업데이트를 직접 수행할 수도 있습니다.

Docker 이미지를 파일로 저장하고 전송하기 위한 자세한 내용은 Docker 문서의 docker save, docker load, docker exportdocker import을 참조하세요.

로컬 DAST 분석기를 사용하도록 DAST CI/CD 작업 변수 설정

.gitlab-ci.yml 파일에 다음 구성을 추가하세요. DAST Docker 이미지를 참조하도록 image를 교체해야 합니다:

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

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

대안으로, SECURE_ANALYZERS_PREFIX CI/CD 변수를 사용하여 dast 이미지의 기본 레지스트리 주소를 덮어쓸 수도 있습니다.