GitLab 애플리케이션 보안 시작하기

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

개요는 GitLab 애플리케이션 보안 채택하기를 참조하세요. 인터랙티브 리딩 및 사용 방법 데모 플레이리스트는 GitLab 애플리케이션 보안 시작하기 플레이리스트를 참조하세요.

다음 단계는 GitLab 애플리케이션 보안 도구를 점진적으로 소개하는 데 도움이 됩니다. 특정 요구에 적용되지 않는 기능을 건너뛰거나 순서를 바꿀 수 있습니다. 다음으로 시작해야 할 단계는 다음과 같습니다:

  • Secret Detection, 모든 프로그래밍 언어와 호환되며 이해하기 쉬운 결과를 만듭니다.
  • Dependency Scanning, 코드가 사용하는 종속성에서 알려진 취약점을 찾습니다.

GitLab 보안 스캔을 처음 설정하는 경우 한 프로젝트로 시작해야 합니다. 스캔이 작동하는 방식에 익숙해지면 다음과 같은 것을 선택할 수 있습니다:

추천 단계

  1. 보안 기능을 활성화하고 테스트할 프로젝트를 선택합니다. 다음을 고려해 볼 수 있는 프로젝트:
    • 귀하의 조직의 전형적인 프로그래밍 언어와 기술을 사용하는 프로젝트입니다. 일부 스캔 기능은 언어별로 다르게 작동합니다.
    • 팀의 일상적인 작업을 방해하지 않고 필요한 승인과 같은 새로운 설정을 시험해 볼 수 있는 프로젝트입니다. 테스트를 위해 고트래픽 프로젝트의 사본을 만들거나 조용한 프로젝트를 선택할 수 있습니다.
  2. 비밀 감지를 활성화하고 의존성 스캔을 활성화하기 위한 병합 요청을 생성합니다. 그 프로젝트에서 누출된 비밀 및 취약한 패키지를 식별합니다.
    • 보안 스캐너는 프로젝트의 CI/CD 파이프라인에서 실행됩니다. 귀하의 프로젝트에서 스캐너가 어떻게 작동하는지 파악하기 위해 병합 요청을 생성하여 귀하의 프로젝트 레이아웃이나 구성에 맞게 비밀 감지 설정이나 의존성 스캔 설정을 변경할 수 있습니다. 예를 들어 스캔에서 써드파티 코드의 디렉터리를 제외할 수 있습니다.
    • 이 MR을 기본 브랜치에 병합하면 시스템에서 기준 스캔이 생성됩니다. 이 스캔은 기본 브랜치에 이미 존재하는 취약성을 식별하여 병합 요청이 새로 발생한 문제만 강조할 수 있도록 합니다. 기준 스캔이 없으면 병합 요청은 모든 취약성을 표시합니다. 심지어 해당 취약성이 기본 브랜치에 이미 존재하는 경우에도 말이죠.
  3. 팀원들이 병합 요청에서 보안 결과를 확인하고 취약점 보고서를 편하게 볼 수 있도록 합니다.
  4. 취약점 트리지 워크플로를 수립합니다.
    • 취약점에서 생성된 문제를 관리하기 위해 라벨이슈 보드를 만드는 것을 고려해 보세요. 이슈 보드를 사용하면 모든 이해관계자가 모든 문제를 공통으로 볼 수 있고 개선 진행 상황을 추적할 수 있습니다.
  5. 보안 대시보드 트렌드를 모니터링하여 기존의 취약성을 해결하고 새로운 취약점이 도입되는 것을 방지하는 성공을 평가합니다.
  6. 스캔 실행 정책을 사용하여 일정한 보안 스캔 작업을 강제로 실행합니다.
    • 이러한 예약된 작업은 귀하가 정의한 다른 보안 스캔과는 별도로 실행됩니다. 예를 들어 규정 준수 프레임워크 파이프라인이나 프로젝트의 .gitlab-ci.yml 파일에 정의된 보안 스캔과는 별개입니다.
    • 정기적으로 실행되는 의존성 및 컨테이너 스캔은 귀하의 저장소에 이미 존재하는 새로 발견된 취약성을 찾아냅니다.
    • 예약된 스캔은 개발 활동이 적은 프로젝트나 중요한 브랜치에 가장 유용합니다.
  7. 병합 요청 승인 정책을 만들어 새로운 취약점이 기본 브랜치에 병합되는 것을 제한합니다.
  8. SAST, DAST, Fuzz 테스트 또는 컨테이너 스캔과 같은 다른 스캔 유형을 활성화합니다.
  9. 컴플라이언스 파이프라인이나 스캔 실행 정책을 사용하여 필수 스캔 유형을 강제함으로써 보안과 엔지니어링 간의 권한 분리를 보장합니다.
  10. 리뷰 앱을 활성화하여 일회용 테스트 환경에서 DAST 및 웹 API fuzzing을 수행할 수 있도록 합니다.
  11. 운영용 컨테이너 스캔을 활성화하여 프로덕션 클러스터의 컨테이너 이미지를 보안 취약점을 스캔합니다.