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