GitLab 애플리케이션 보안 시작하기
Tier: Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
개요는 GitLab 애플리케이션 보안 채택하기를 참조하세요. 인터랙티브 리딩 및 사용 방법 데모 플레이리스트는 GitLab 애플리케이션 보안 시작하기 플레이리스트를 참조하세요.
다음 단계는 GitLab 애플리케이션 보안 도구를 점진적으로 소개하는 데 도움이 됩니다. 특정 요구에 적용되지 않는 기능을 건너뛰거나 순서를 바꿀 수 있습니다. 다음으로 시작해야 할 단계는 다음과 같습니다:
- Secret Detection, 모든 프로그래밍 언어와 호환되며 이해하기 쉬운 결과를 만듭니다.
- Dependency Scanning, 코드가 사용하는 종속성에서 알려진 취약점을 찾습니다.
GitLab 보안 스캔을 처음 설정하는 경우 한 프로젝트로 시작해야 합니다. 스캔이 작동하는 방식에 익숙해지면 다음과 같은 것을 선택할 수 있습니다:
- 추천 단계를 따라 더 많은 프로젝트에서 스캔을 활성화합니다.
- 한 번에 여러 프로젝트에서 스캔을 강제로 실행합니다.
추천 단계
- 보안 기능을 활성화하고 테스트할 프로젝트를 선택합니다. 다음을 고려해 볼 수 있는 프로젝트:
- 귀하의 조직의 전형적인 프로그래밍 언어와 기술을 사용하는 프로젝트입니다. 일부 스캔 기능은 언어별로 다르게 작동합니다.
- 팀의 일상적인 작업을 방해하지 않고 필요한 승인과 같은 새로운 설정을 시험해 볼 수 있는 프로젝트입니다. 테스트를 위해 고트래픽 프로젝트의 사본을 만들거나 조용한 프로젝트를 선택할 수 있습니다.
-
비밀 감지를 활성화하고 의존성 스캔을 활성화하기 위한 병합 요청을 생성합니다. 그 프로젝트에서 누출된 비밀 및 취약한 패키지를 식별합니다.
- 보안 스캐너는 프로젝트의 CI/CD 파이프라인에서 실행됩니다. 귀하의 프로젝트에서 스캐너가 어떻게 작동하는지 파악하기 위해 병합 요청을 생성하여 귀하의 프로젝트 레이아웃이나 구성에 맞게 비밀 감지 설정이나 의존성 스캔 설정을 변경할 수 있습니다. 예를 들어 스캔에서 써드파티 코드의 디렉터리를 제외할 수 있습니다.
- 이 MR을 기본 브랜치에 병합하면 시스템에서 기준 스캔이 생성됩니다. 이 스캔은 기본 브랜치에 이미 존재하는 취약성을 식별하여 병합 요청이 새로 발생한 문제만 강조할 수 있도록 합니다. 기준 스캔이 없으면 병합 요청은 모든 취약성을 표시합니다. 심지어 해당 취약성이 기본 브랜치에 이미 존재하는 경우에도 말이죠.
- 팀원들이 병합 요청에서 보안 결과를 확인하고 취약점 보고서를 편하게 볼 수 있도록 합니다.
- 취약점 트리지 워크플로를 수립합니다.
- 보안 대시보드 트렌드를 모니터링하여 기존의 취약성을 해결하고 새로운 취약점이 도입되는 것을 방지하는 성공을 평가합니다.
-
스캔 실행 정책을 사용하여 일정한 보안 스캔 작업을 강제로 실행합니다.
- 이러한 예약된 작업은 귀하가 정의한 다른 보안 스캔과는 별도로 실행됩니다. 예를 들어 규정 준수 프레임워크 파이프라인이나 프로젝트의
.gitlab-ci.yml
파일에 정의된 보안 스캔과는 별개입니다. - 정기적으로 실행되는 의존성 및 컨테이너 스캔은 귀하의 저장소에 이미 존재하는 새로 발견된 취약성을 찾아냅니다.
- 예약된 스캔은 개발 활동이 적은 프로젝트나 중요한 브랜치에 가장 유용합니다.
- 이러한 예약된 작업은 귀하가 정의한 다른 보안 스캔과는 별도로 실행됩니다. 예를 들어 규정 준수 프레임워크 파이프라인이나 프로젝트의
- 병합 요청 승인 정책을 만들어 새로운 취약점이 기본 브랜치에 병합되는 것을 제한합니다.
- SAST, DAST, Fuzz 테스트 또는 컨테이너 스캔과 같은 다른 스캔 유형을 활성화합니다.
- 컴플라이언스 파이프라인이나 스캔 실행 정책을 사용하여 필수 스캔 유형을 강제함으로써 보안과 엔지니어링 간의 권한 분리를 보장합니다.
- 리뷰 앱을 활성화하여 일회용 테스트 환경에서 DAST 및 웹 API fuzzing을 수행할 수 있도록 합니다.
- 운영용 컨테이너 스캔을 활성화하여 프로덕션 클러스터의 컨테이너 이미지를 보안 취약점을 스캔합니다.