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

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

개요는 GitLab 애플리케이션 보안 채택을 참조하십시오. 대화형 독해 및 사용 방법 데모 재생 디렉터리은 GitLab 애플리케이션 보안 시작하기 재생 디렉터리을 참조하십시오.

다음 단계는 GitLab 애플리케이션 보안 도구를 점진적으로 소개하는 데 도움이 됩니다. 특정한 필요에 적용되지 않는 경우 기능을 다른 순서로 활성화하거나 건너뛸 수 있습니다. 다음 단계로 시작해야 합니다:

  • 모든 프로그래밍 언어와 함께 작동하며 이해하기 쉬운 결과를 생성하는 시크릿 검색.
  • 코드가 사용하는 의존성에서 알려진 취약점을 찾는 의존성 스캐닝.

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

추천 단계

  1. 보안 기능을 활성화하고 테스트할 프로젝트를 선택합니다. 다음 사항을 고려해 보십시오:
    • 일반적인 프로그래밍 언어와 기술을 사용하는 프로젝트를 선택하십시오. 왜냐하면 언어별로 스캔 기능이 다르게 작동하기 때문입니다.
    • 팀의 일상 업무를 방해하지 않고 필수 승인과 같은 새로운 설정을 시도할 수 있는 곳을 선택하십시오. 테스트용으로 더 활발한 프로젝트를 복사하거나 활기차지 않은 프로젝트를 선택할 수 있습니다.
  2. 시크릿 검색을 활성화하고 의존성 스캐닝을 활성화하기 위해 Merge Request을 생성합니다. 이를 통해 프로젝트에서 노출된 시크릿과 취약한 패키지를 식별할 수 있습니다.
    • 보안 스캐너는 프로젝트의 CI/CD 파이프라인에서 실행됩니다. .gitlab-ci.yml 파일을 업데이트하기 위해 Merge Request을 생성하면 스캐너가 파이프라인에서 어떻게 작동하는지 확인할 수 있습니다. Merge Request에서 프로젝트의 레이아웃이나 설정에 맞추기 위해 관련 시크릿 검색 설정이나 의존성 스캐닝 설정을 변경할 수 있습니다. 예를 들어, 스캐닝에서 써드파티 코드가 포함된 디렉터리를 제외할 수 있습니다.
    • 이 Merge Request을 기본 브랜치에 Merge하면 시스템이 기준 스캔을 생성합니다. 이 스캔은 기본 브랜치에 이미 존재하는 취약성을 식별하여 Merge Request이 새롭게 도입된 문제만 강조할 수 있게 합니다. 기준 스캔이 없으면 Merge Request은 기본 브랜치에 있는 모든 취약성을 표시하게 됩니다. 새롭게 소개된 문제일지라도 말입니다.
  3. 팀원들에게 Merge Request에서 보안 검색 정보취약성 보고서를 편하게 보도록 합니다.
  4. 취약점 처리 워크플로우를 확립하십시오.
    • 취약점에서 생성된 이슈를 관리하는 데 도움이 되는 라벨이슈 보드를 생성해보십시오. 이슈 보드를 통해 모든 이해관계자가 모든 문제를 공통으로 보고 개선 상황을 추적할 수 있습니다.
  5. 보안 대시보드 트렌드를 모니터링하여 기존 취약점의 개선과 신규 취약점의 도입을 평가합니다.
  6. 스캔 실행 정책을 사용하여 예정된 보안 스캔 작업을 강제로 실행합니다.
    • 이러한 예정된 작업은 규정 프레임워크 파이프라인이나 프로젝트의 .gitlab-ci.yml 파일에 정의한 다른 보안 스캔과는 독립적으로 실행됩니다.
    • 정기적인 의존성 및 컨테이너 스캔은 리포지터리에 이미 존재하는 새로 발견된 취약점을 확인하는 데 유용합니다.
    • 예정된 스캔은 파이프라인 스캔 주기가 적은 낮은 개발 활동을 가진 프로젝트나 중요한 브랜치에 가장 유용합니다.
  7. Merge Request 승인 정책을 생성하여 기본 브랜치로의 신규 취약점 Merge을 제한합니다.
  8. SAST, DAST, Fuzz 테스트, 또는 컨테이너 스캔과 같은 다른 스캔 유형을 활성화합니다.
  9. 필수 스캔 유형을 강제로 실행하고 보안 및 엔지니어링 간의 권한을 분리할 수 있도록 컴플라이언스 파이프라인 또는 스캔 실행 정책을 사용합니다.
  10. 리뷰 앱 사용을 고려하여 일회용 테스트 환경에서 DAST 및 웹 API 퍼징을 실행할 수 있도록 합니다.
  11. 운영 컨테이너 스캔을 활성화하여 프로덕션 클러스터에서 컨테이너 이미지를 보안 취약점을 스캔할 수 있도록 합니다.