- 오프라인 DAST 지원을 위한 요구 사항
- GitLab DAST 분석기 이미지를 로컬 Docker 레지스트리에서 사용 가능하도록 설정하기
- 로컬 DAST 분석기를 사용하기 위한 DAST CI/CD 작업 변수 설정하기
오프라인 환경에서 DAST 실행하기
제한되거나 제한된, 또는 간헐적으로 외부 리소스에 대한 인터넷 접속이 가능한 환경에서
자체 관리되는 GitLab 인스턴스의 경우, DAST 작업이 성공적으로 실행되기 위해 몇 가지 조정이 필요합니다.
자세한 내용은 오프라인 환경을 참조하세요.
오프라인 DAST 지원을 위한 요구 사항
오프라인 환경에서 DAST를 사용하려면 다음이 필요합니다:
-
docker
또는kubernetes
실행기를 사용하는 GitLab Runner. - DAST 컨테이너 이미지의 로컬 복사본이 있는 Docker 컨테이너 레지스트리,
이는 DAST 컨테이너 레지스트리에서 찾을 수 있습니다.
GitLab Runner는 기본 pull policy
가 always
로 설정되어 있어,
런너는 로컬 복사본이 있을 경우에도 GitLab 컨테이너 레지스트리에서 Docker 이미지를 끌어오려고 합니다.
오프라인 환경에서는 로컬에서 사용 가능한 Docker 이미지만 사용하려는 경우, GitLab Runner의 pull_policy
를 if-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
이미지의 기본 레지스트리 주소를 덮어쓸 수 있습니다.