- 오프라인 DAST 지원 요구 사항
- 로컬 Docker 레지스트리에 GitLab DAST 분석기 이미지를 사용 가능하게 만들기
- 지역 DAST 분석기 사용을 위해 DAST CI/CD 작업 변수 설정
오프라인 환경에서 DAST 실행하기
제한된, 제한적인 또는 가끔 인터넷을 통한 외부 리소스에 제한적인 환경에 있는 Self-managed GitLab 인스턴스의 경우, DAST 작업이 성공적으로 실행되려면 일부 조정이 필요합니다. 자세한 내용은 오프라인 환경을 참조하세요.
오프라인 DAST 지원 요구 사항
오프라인 환경에서 DAST를 사용하려면 다음이 필요합니다:
-
docker
또는kubernetes
executor가 있는 GitLab Runner. - DAST 컨테이너 이미지의 로컬로 사용 가능한 사본을 포함하는 Docker 컨테이너 레지스트리. 해당 이미지는 DAST 컨테이너 레지스트리에서 찾을 수 있습니다.
GitLab Runner에는 기본 pull policy
가 always
되어 있어서, 실행중인 Runner가 로컬 사본이 있는 경우에도 Docker 이미지를 GitLab 컨테이너 레지스트리에서 가져오려고 시도합니다. 오프라인 환경에서는 GitLab Runner의 pull_policy
를 if-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 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 분석기의 로컬 사본을 사용해야 합니다.
대안으로, SECURE_ANALYZERS_PREFIX
CI/CD 변수를 사용하여 dast
이미지의 기본 레지스트리 주소를 재정의할 수도 있습니다.