- 1단계: 스캔에 대해 알아보기
- 2단계: 테스트할 프로젝트 선택
- 3단계: 스캔 활성화
- 4단계: 스캔 결과 검토
- 5단계: 향후 스캔 작업 예약
- 6단계: 새로운 취약점 제한
- 7단계: 새로운 취약점 스캔 계속하기
당신의 애플리케이션을 보호하는 방법 시작하기
애플리케이션의 소스 코드에서 취약점을 식별하고 수정합니다.
소프트웨어 개발 라이프사이클에 보안 테스트를 통합하여
자동으로 코드를 스캔하여 잠재적인 보안 문제를 찾습니다.
다양한 프로그래밍 언어와 프레임워크를 스캔할 수 있으며,
SQL 인젝션, 크로스 사이트 스크립팅(XSS), 및 불안전한 의존성과 같은 취약점을 감지합니다.
보안 스캔의 결과는 GitLab UI에 표시되며,
검토하고 대응할 수 있습니다.
이 기능들은 병합 요청 및 파이프라인과 같은 다른 GitLab 기능과 통합될 수 있어,
개발 프로세스 전반에 걸쳐 보안이 우선 순위가 되도록 합니다.
개요는 GitLab 애플리케이션 보안 채택하기를 참조하세요.
이 프로세스는 더 큰 작업 흐름의 일부입니다:
1단계: 스캔에 대해 알아보기
비밀 감지는 비밀이 유출되지 않도록 도와주기 위해 리포지토리를 스캔합니다.
모든 프로그래밍 언어와 함께 작동합니다.
의존성 스캔은 애플리케이션의 의존성을 검토하여 알려진 취약점을 분석합니다. 모든
의존성이 스캔되며, 전이적 의존성과 같은 중첩된 의존성도 포함됩니다.
추가 정보는 다음을 참조하세요:
2단계: 테스트할 프로젝트 선택
GitLab 보안 스캔을 처음 설정하는 경우, 단일 프로젝트로 시작해야 합니다.
프로젝트는 다음과 같아야 합니다:
-
조직의 전형적인 프로그래밍 언어와 기술을 사용해야 하며,
일부 스캔 기능은 다른 언어에 대해 다르게 작동하기 때문입니다.
-
팀의 일상적인 작업을 방해하지 않으면서 필수 승인과 같은 새로운 설정을
시도할 수 있어야 합니다.
고트래픽 프로젝트의 복사본을 만들거나, 덜 바쁜 프로젝트를 선택할 수 있습니다.
3단계: 스캔 활성화
프로젝트에서 유출된 비밀과 취약한 패키지를 식별하기 위해,
비밀 감지 및 의존성 스캔을 활성화하는 병합 요청을 생성하세요.
이 병합 요청은 스캔이
프로젝트의 CI/CD 파이프라인의 일환으로 실행될 수 있도록 .gitlab-ci.yml
파일을 업데이트합니다.
이 MR의 일환으로, 프로젝트의 레이아웃이나 구성에 맞게 설정을 변경할 수 있습니다.
예를 들어 타사 코드 디렉터리를 제외할 수 있습니다.
이 MR을 기본 브랜치에 병합한 후, 시스템은 기준 스캔을 생성합니다.
이 스캔은 기본 브랜치에 이미 존재하는 취약점을 식별합니다.
그런 다음, 병합 요청은 새로 도입된 문제를 강조합니다.
기준 스캔이 없으면, 병합 요청은 브랜치의 모든 취약점을 표시합니다.
기본 브랜치에 이미 존재하는 취약점이라 하더라도 말입니다.
추가 정보는 다음을 참조하세요:
4단계: 스캔 결과 검토
팀이 병합 요청 및 취약점 보고서에서 보안 결과를 편안하게 볼 수 있게 하세요.
취약점 triage 작업 흐름을 설정하세요. 취약점에서 생성된 문제를 관리하는 데 도움을 주기 위해 레이블 및
이슈 보드를 만드는 것을 고려하세요. 이슈 보드를 통해 모든 이해관계자는 모든 문제를 공통적으로 보고
수정 진행 상황을 추적할 수 있습니다.
보안 대시보드의 추세를 모니터링하여 기존 취약점을 수정하고
새로운 취약점의 도입을 방지하는 데 성공하는지 평가하세요.
추가 정보는 다음을 참조하세요:
5단계: 향후 스캔 작업 예약
스캔 실행 정책을 사용하여 예약된 보안 스캔 작업을 시행합니다.
이 예약된 작업은 준수 프레임워크 파이프라인이나 프로젝트의 .gitlab-ci.yml
파일에서 정의한 다른 보안 스캔과 독립적으로 실행됩니다.
예약된 스캔은 개발 활동이 적고 파이프라인 스캔이 드문 프로젝트나 중요한 브랜치에 가장 유용합니다.
자세한 내용은 다음을 참조하세요:
6단계: 새로운 취약점 제한
필수 스캔 유형을 시행하고 보안과 엔지니어링 간의 업무 분리 를 보장하려면 스캔 실행 정책을 사용하세요.
기본 브랜치에 새로운 취약점이 병합되지 않도록 하려면 병합 요청 승인 정책을 만드세요.
스캔 작동 방식을 익힌 후에는 다음을 선택할 수 있습니다:
- 동일한 단계를 따라 더 많은 프로젝트에서 스캔을 활성화하세요.
- 한 번에 더 많은 프로젝트에서 스캔을 시행하세요.
자세한 내용은 다음을 참조하세요:
7단계: 새로운 취약점 스캔 계속하기
시간이 지나면서 새로운 취약점이 도입되지 않도록 하고 싶습니다.
-
이미 리포지토리에 존재하는 새로 발견된 취약점을 드러내려면, 정기적인 의존성 및 컨테이너 스캔을 실행하세요.
-
보안 취약점에 대해 프로덕션 클러스터의 컨테이너 이미지를 스캔하려면 운영 컨테이너 스캐닝을 활성화하세요.
-
SAST, DAST 또는 퍼즈 테스트와 같은 다른 스캔 유형을 활성화하세요.
-
일시적인 테스트 환경에서 DAST 및 웹 API 퍼징을 허용하려면 검토 앱을 활성화하는 것을 고려하세요.
자세한 내용은 다음을 참조하세요: