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

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

개요는 GitLab 애플리케이션 보안 채택하기를 참조하세요. 대화형 독해 및 지침 데모 재생 디렉터리은 GitLab 애플리케이션 보안 시작하기 재생 디렉터리을 참조하세요.

다음 단계는 GitLab 애플리케이션 보안 도구를 점진적으로 소개하는 데 도움을 줍니다. 다른 순서로 기능을 활성화하거나 특정 필요에 적합하지 않은 기능을 건너뛸 수 있습니다. (Tier)(Offering)은 프로젝트가 작동하는 방식에 따라 다를 수 있습니다.

추천 단계

  1. 보안 기능을 활성화하고 테스트할 프로젝트를 선택합니다. 프로젝트를 선택할 때 고려할 사항:
    • 프로젝트가 조직의 전형적인 프로그래밍 언어 및 기술을 사용하는 경우, 몇 가지 스캐닝 기능이 언어별로 다르게 작동하기 때문입니다.
    • 팀의 일상 업무를 방해하지 않고 필요한 승인과 같은 새로운 설정을 시도할 수 있는 경우에 대한 고려입니다. 테스트를 위해 고트래픽 프로젝트의 사본을 만들거나 활발하지 않은 프로젝트를 선택할 수 있습니다.
  2. 비밀 감지로 시작하십시오. 이 기능은 모든 프로그래밍 언어와 함께 작동하며 이해하기 쉬운 결과를 생성합니다.
  3. 의존성 스캐닝은 코드가 사용하는 의존성에서 알려진 취약점을 찾습니다.

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

  1. 프로젝트에서 보안 스캔 정보를 Merge Request에서 확인하는 것에 익숙해지도록 팀에게 시간을 주세요.
  2. 취약점 우선 순위 작업 흐름을 설정합니다.
    • 취약점에서 생성된 문제를 관리하는 데 도움이 되도록 라벨이슈 보드를 만들어 고려하세요. 이슈 보드를 사용하면 모든 이해관계자가 모든 문제를 공동으로 보고 문제 해결 진행 상황을 추적할 수 있습니다.
  3. 보안 대시보드 트렌드를 모니터링하여 기존 취약점을 해결하고 새로운 취약점을 방지하는 데 성공했는지 확인합니다.
  4. 스캔 실행 정책을 사용하여 정기적인 보안 스캔 작업을 강제화합니다.
    • 이러한 예약된 작업은 프로젝트의 .gitlab-ci.yml 파일이나 규정 프레임워크 파이프라인에서 정의한 다른 보안 스캔과 독립적으로 실행됩니다.
    • 정기적인 의존성 및 컨테이너 스캔을 실행하면 리포지터리에 이미 존재하는 새로 발견된 취약점을 확인할 수 있습니다. 예약된 스캔은 개발 활동이 적은 프로젝트나 중요 브랜치에서 가장 유용합니다.
  5. Merge Request 승인 정책을 작성하여 새로운 취약점이 기본 브랜치로 Merge되는 것을 제한합니다.
  6. SAST, DAST, Fuzz 테스트 또는 컨테이너 스캔과 같은 다른 스캔 유형을 활성화합니다.
  7. 필수 스캔 유형을 강제화하고 보안 및 엔지니어링 간의 역할 분리를 보장하기 위해 규정 파이프라인 또는 스캔 실행 정책을 활용합니다.
  8. 리뷰 앱을 활성화하여 일회성 테스트 환경에서 DAST 및 웹 API 퍼징을 허용합니다.
  9. 운영 컨테이너 스캔을 활성화하여 프로덕션 클러스터에 있는 컨테이너 이미지를 보안 취약점을 스캔합니다.