- 오프라인 DAST 지원 요구 사항
- GitLab DAST 분석기 이미지를 로컬 Docker 레지스트리에 사용 가능하게 만듭니다
- DAST CI/CD 작업 변수 설정하여 로컬 DAST 분석기 사용
오프라인 환경에서 DAST 실행하기
제한적이거나 제한된 외부 리소스 또는 가끔한 인터넷 액세스가 있는 환경에서 self-managed GitLab 인스턴스를 위해 DAST 작업이 성공적으로 실행되려면 일부 조정이 필요합니다. 자세한 정보는 오프라인 환경을 참조하세요.
오프라인 DAST 지원 요구 사항
오프라인 환경에서 DAST를 사용하려면 다음이 필요합니다:
-
docker
또는kubernetes
executor를 사용하는 GitLab Runner. - DAST 컨테이너 이미지의 로컬로 사용 가능한 사본이 있는 Docker 컨테이너 레지스트리, DAST 컨테이너 레지스트리에서 찾을 수 있습니다.
GitLab Runner는 기본 pull policy
가 always
이기 때문에, 러너는 로컬 사본이 있는 경우에도 Docker 이미지를 GitLab 컨테이너 레지스트리에서 가져오려고 시도합니다. 오프라인 환경에서는 GitLab Runner의 pull_policy
를 if-not-present
로 설정할 수 있으며, 이는 로컬로 사용 가능한 Docker 이미지만 사용하는 것을 선호하는 경우입니다. 그러나 CI/CD 파이프라인에서 업데이트된 스캐너를 사용하기 위해 오프라인 환경이 아닌 경우 always
로 pull policy 설정을 유지하는 것을 권장합니다.
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 CI/CD 작업 변수 설정하여 로컬 DAST 분석기 사용
.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
이미지의 기본 레지스트리 주소를 덮어쓸 수도 있습니다.