오프라인 환경에서 DAST 실행하기

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

제한되거나 제한된, 또는 간헐적으로 외부 리소스에 대한 인터넷 접속이 가능한 환경에서
자체 관리되는 GitLab 인스턴스의 경우, DAST 작업이 성공적으로 실행되기 위해 몇 가지 조정이 필요합니다.
자세한 내용은 오프라인 환경을 참조하세요.

오프라인 DAST 지원을 위한 요구 사항

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

GitLab Runner는 기본 pull policyalways로 설정되어 있어,
런너는 로컬 복사본이 있을 경우에도 GitLab 컨테이너 레지스트리에서 Docker 이미지를 끌어오려고 합니다.
오프라인 환경에서는 로컬에서 사용 가능한 Docker 이미지만 사용하려는 경우, GitLab Runner의 pull_policyif-not-present로 설정할 수 있습니다.
그러나 오프라인 환경이 아닐 경우에는 끌어오기 정책 설정을 always로 유지하는 것을 권장합니다. 이는 CI/CD 파이프라인에서 업데이트된 스캐너를 사용할 수 있게 해줍니다.

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

DAST의 경우, 기본 DAST 분석기 이미지를 registry.gitlab.com에서 귀하의 로컬 Docker 컨테이너 레지스트리로 가져옵니다:

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

Docker 이미지를 로컬 오프라인 Docker 레지스트리에 가져오는 과정은
귀하의 네트워크 보안 정책에 따라 다릅니다. 외부 리소스를 가져오거나 일시적으로 접근할 수 있는
수용되고 승인된 절차를 찾기 위해 귀하의 IT 담당자와 상담하십시오.
이 스캐너들은 주기적으로 업데이트되며, 귀하 스스로 가끔 업데이트를 할 수 있습니다.

Docker 이미지를 파일로 저장하고 전송하는 방법에 대한 자세한 내용은 Docker 문서의
docker save,
docker load,
docker export, 및
docker import를 참조하세요.

로컬 DAST 분석기를 사용하기 위한 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 분석기의 로컬 복사본을 사용해야 합니다.

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