오프라인 구성
Offering: GitLab Self-Managed
인터넷을 통한 외부 리소스 접근이 제한되거나, 제한적이거나, 간헐적인 환경의 인스턴스에서는 DAST job이 성공적으로 실행되려면 일부 설정이 필요합니다. 오프라인 환경에서 어떤 버전의 DAST든 사용할 수 있습니다.
인터넷을 통한 외부 리소스 접근이 제한되거나, 제한적이거나, 간헐적인 환경의 인스턴스에서는 DAST job이 성공적으로 실행되려면 일부 설정이 필요합니다. 자세한 내용은 오프라인 환경을 참조하세요.
오프라인 DAST 지원을 위한 요구사항#
오프라인 환경에서 어떤 버전의 DAST든 사용할 수 있습니다. 이를 위해 다음이 필요합니다:
docker또는kubernetesexecutor가 있는 GitLab Runner. runner는 대상 애플리케이션에 대한 네트워크 접근이 있어야 합니다.- DAST 컨테이너 이미지의 로컬 복사본이 있는 Docker 컨테이너 레지스트리. DAST 컨테이너 레지스트리에서 확인할 수 있습니다. 오프라인 호스트에 Docker 이미지 로드를 참조하세요.
GitLab Runner는 기본 pull policy가 always로 설정되어 있어, 로컬 복사본이 있는 경우에도 GitLab 컨테이너 레지스트리에서 Docker 이미지를 가져오려고 시도합니다. 로컬에서 사용 가능한 Docker 이미지만 사용하려는 경우 오프라인 환경에서 GitLab Runner pull_policy를 if-not-present로 설정할 수 있습니다. 그러나 오프라인 환경이 아닌 경우에는 pull policy 설정을 always로 유지해야 합니다. 이 설정을 통해 CI/CD 파이프라인에서 업데이트된 스캐너를 사용할 수 있습니다.
GitLab DAST 분석기 이미지를 Docker 레지스트리에서 사용 가능하게 하기#
DAST의 경우 registry.gitlab.com에서 다음 기본 DAST 분석기 이미지를 로컬 Docker 컨테이너 레지스트리로 가져옵니다:
registry.gitlab.com/security-products/dast:latest
Docker 이미지를 로컬 오프라인 Docker 레지스트리로 가져오는 과정은 네트워크 보안 정책에 따라 다릅니다. IT 담당자에게 문의하여 외부 리소스를 가져오거나 일시적으로 접근할 수 있는 승인된 프로세스를 확인하세요. 이 스캐너들은 새로운 정의로 주기적으로 업데이트되며, 경우에 따라 직접 업데이트할 수도 있습니다.
Docker 이미지를 파일로 저장하고 전송하는 방법에 대한 자세한 내용은 docker save, docker load, docker export, docker import에 대한 Docker 문서를 참조하세요.
로컬 DAST 분석기를 사용하도록 DAST CI/CD job 변수 설정#
.gitlab-ci.yml 파일에 다음 구성을 추가합니다. 로컬 Docker 컨테이너 레지스트리에 호스팅된 DAST Docker 이미지를 참조하도록 image를 교체해야 합니다:
include:
- template: DAST.gitlab-ci.yml
dast:
image: registry.example.com/namespace/dast:latest
이제 DAST job이 인터넷 접근 없이 로컬 DAST 분석기 복사본을 사용하여 코드를 스캔하고 보안 보고서를 생성해야 합니다.
또는 CI/CD 변수 SECURE_ANALYZERS_PREFIX를 사용하여 dast 이미지의 기본 레지스트리 주소를 재정의할 수 있습니다.
