깃랩 컨테이너 스 (새 탭에서 열림)

GitLab은 컨테이너 라이프사이클 전반에서 발생할 수 있는 보안 위협에 대응하기 위해 파이프라인 기반 스캐닝부터 레지스트리 모니터링까지 다섯 가지 핵심 스캐닝 방식을 제공합니다. 이를 통해 개발자는 취약점을 조기에 발견하는 '시프트 레프트(Shift-left)' 보안을 실현하고, 프로덕션 환경에 배포된 이미지의 안전성을 지속적으로 확보할 수 있습니다. 결과적으로 GitLab의 컨테이너 스캐닝은 단순한 도구를 넘어 소프트웨어 구성 분석(SCA)의 필수 요소로서 통합적인 보안 관리 워크플로우를 구축하도록 돕습니다.

파이프라인 기반 컨테이너 스캐닝

  • 기능 및 목적: CI/CD 파이프라인 실행 단계에서 컨테이너 이미지를 검사하여 취약점이 포함된 이미지가 배포되는 것을 사전에 차단합니다.
  • 기술적 특징: 오픈 소스 보안 스캐너인 Trivy를 활용하며, Free부터 Ultimate 티어까지 폭넓게 사용할 수 있습니다.
  • 설정 방법: 프로젝트의 보안 구성 메뉴에서 머지 요청(MR)을 통해 자동 설정하거나, .gitlab-ci.yml 파일에 Jobs/Container-Scanning.gitlab-ci.yml 템플릿을 직접 추가하여 활성화합니다.
  • 사용자 정의: CS_IMAGE 변수를 통해 특정 이미지를 지정하거나, CS_SEVERITY_THRESHOLD 변수를 사용해 'High' 또는 'Critical' 등 특정 수준 이상의 취약점만 필터링하여 리포팅하도록 설정할 수 있습니다.

취약점 가시성 및 관리 통합

  • 머지 요청(MR) 위젯: 스캔 결과가 MR 페이지 내 보안 위젯에 즉시 노출되어, 개발자가 코드를 병합하기 전에 영향받는 패키지와 해결 가이드를 확인할 수 있습니다.
  • 중앙 집중식 취약점 보고서: 보안 팀은 'Vulnerability Report'를 통해 프로젝트 전체의 취약점을 통합 관리하며, 상태 관리(탐지됨, 확인됨, 해결됨 등) 및 담당자 할당이 가능합니다.
  • 의존성 목록(SBOM): 컨테이너 내부의 모든 운영체제 패키지와 애플리케이션 라이브러리를 카탈로그화하여 제공합니다. 이를 통해 소프트웨어 자재 명세서(SBOM)를 관리하고 공급망 보안을 강화할 수 있습니다.

레지스트리용 컨테이너 스캐닝

  • 자동 모니터링: GitLab 컨테이너 레지스트리에 푸시된 latest 태그 이미지를 대상으로 보안 정책 봇이 자동 스캔을 트리거합니다.
  • 지속적 취약점 탐지: Ultimate 티어에서 제공되는 이 기능은 수동 파이프라인 실행 없이도 최신 취약점 데이터베이스(Advisories)를 바탕으로 이미지를 지속적으로 감시합니다.
  • 활성화 조건: 프로젝트에 최소 하나 이상의 커밋이 있어야 하며, 컨테이너 레지스트리 알림 기능이 구성된 상태에서 '보안 구성' 메뉴의 토글 스위치를 통해 활성화할 수 있습니다.

성공적인 컨테이너 보안을 위한 제언

효과적인 보안 운영을 위해 먼저 파이프라인 기반 스캐닝을 도입하여 개발 초기 단계에서 취약점을 걸러내는 환경을 조성하는 것이 중요합니다. 이후 서비스 규모가 커지면 레지스트리용 스캐닝을 병행하여 배포된 이후에 새롭게 발견되는 제로데이 취약점 등에 실시간으로 대응하는 다층 방어 전략을 권장합니다.