InfoGrab Docs

보안 구성 프로필 관리

요약

보안 구성 프로필은 프로젝트 전반에서 보안 스캐너가 실행되는 방법과 시기를 정의하는 중앙화된 설정입니다. 개요는 보안 구성 프로필 소개를 참조하세요. 프로필을 그룹에 적용하면 해당 그룹 내의 각 개별 프로젝트에 적용됩니다.

히스토리

보안 구성 프로필은 프로젝트 전반에서 보안 스캐너가 실행되는 방법과 시기를 정의하는 중앙화된 설정입니다. 보안 구성 프로필을 사용하여 조직 전반의 보안 스캐너를 효율적으로 관리합니다. 프로필 기반 접근 방식은 최소한의 수동 설정으로 모범 사례를 적용합니다.

개요는 보안 구성 프로필 소개를 참조하세요.

프로필을 그룹에 적용하면 해당 그룹 내의 각 개별 프로젝트에 적용됩니다. 프로필은 그룹 자체에 연결되지 않으며 프로필이나 서브그룹 간에 상속이 없습니다.

기본 프로필을 사용하면 최소한의 구성으로 몇 분 안에 사전 구성된 보안 스캐닝을 활성화할 수 있습니다.

보안 스캐너 구성#

프로필을 평가하고 관리하려면 그룹의 보안 인벤토리를 중앙 대시보드로 사용합니다.

테스트 커버리지 검토#

SAST, DAST, 시크릿 감지 등 그룹의 스캐너에 대한 높은 수준의 상태(Enabled, Not Enabled 또는 Failed)를 보려면:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. 보안 인벤토리에서 Test Coverage 열을 검토합니다.

개별 프로젝트 커버리지 변경#

특정 프로젝트를 구성하려면:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. 프로젝트 옆의 세로 줄임표(⋮)를 선택하고 Manage tool coverage를 선택합니다.
  4. 개별 스캐너를 켜거나 끕니다.

여러 프로젝트에 프로필 적용#

시간을 절약하려면 여러 프로젝트에 한 번에 보안 설정을 적용할 수 있습니다:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. 설정을 적용할 여러 프로젝트 또는 전체 서브그룹을 선택합니다.
  4. Bulk Action 드롭다운을 선택하고 Manage security scanners를 선택합니다.
  5. 선택 항목 전체에서 보안 상태를 표준화하려면 Apply default profile to all을 선택합니다.

기본 프로필 {#default-profiles}#

GitLab은 최소한의 구성으로 보안 스캐닝을 활성화할 수 있도록 사전 구성된 스캐너 설정인 기본 프로필을 제공합니다.

시크릿 감지 프로필#

시크릿 감지 프로필을 적용하면 전체 개발 워크플로우에서 시크릿에 대한 권장 기준 보호를 활성화합니다. 프로필은 다음 스캔 트리거를 활성화합니다:

  • Push protection: 모든 Git push 이벤트를 스캔하고 시크릿이 감지된 push를 차단하여 시크릿이 코드베이스에 들어오는 것을 방지합니다.
  • Merge Request Pipelines: 열린 머지 리퀘스트가 있는 브랜치에 새 커밋이 push될 때마다 자동으로 스캔을 실행합니다. 결과는 머지 리퀘스트에서 도입된 새로운 취약점으로 범위가 지정됩니다. 대상: 모든 브랜치.
  • Branch Pipelines (default only): 변경 사항이 기본 브랜치에 머지되거나 push될 때 자동으로 실행되어 기본 브랜치의 시크릿 감지 상태에 대한 전체적인 그림을 제공합니다. 대상: 기본 브랜치.

SAST 프로필#

SAST 프로필을 적용하면 권장 구성을 사용하여 프로젝트 전반에서 정적 애플리케이션 보안 테스팅을 활성화합니다. 프로필은 다음 스캔 트리거를 활성화합니다:

  • Merge Request Pipelines: 열린 머지 리퀘스트가 있는 브랜치에 새 커밋이 push될 때마다 자동으로 SAST 스캔을 실행합니다. 결과에는 머지 리퀘스트에서 도입된 새로운 취약점만 포함됩니다. 대상: 모든 브랜치.
  • Branch Pipelines (default only): 변경 사항이 기본 브랜치에 머지되거나 push될 때 자동으로 실행되어 기본 브랜치의 SAST 상태에 대한 전체적인 그림을 제공합니다. 대상: 기본 브랜치.

프로필 세부 정보 보기#

시크릿 감지 프로필에 대한 기술적 세부 정보를 보려면:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. Secret Detection 프로필을 선택합니다.
  4. 다음 정보를 검토합니다:
    • Analyzer type: 프로필 유형(예: Secret Detection, SAST).
    • Scan triggers: 프로필이 지원하는 트리거(예: Push Protection, Merge Request Pipelines, Branch Pipelines).
    • Status: 커버리지 상태 표시기를 사용하여 프로필이 현재 컨텍스트에서 Active 또는 Disabled인지 표시합니다.

커버리지 상태 표시기#

시스템은 인벤토리에서 시각적 신호를 사용하여 프로젝트가 보호되고 있는지 나타냅니다:

  • 초록색 실선 바: 스캐너가 완전히 활성화되어 있습니다.
  • 회색/빈 바: 스캐너가 아직 구성되거나 활성화되지 않았습니다.
  • 부분 바: 일부 보호가 활성화되어 있습니다(예: 프로필에서 사용 가능한 일부 트리거는 활성화되어 있지만 다른 트리거는 활성화되어 있지 않습니다).
  • 툴팁: 커버리지 바 위에 마우스를 올리면 파이프라인 기반 스캔의 마지막 스캔 날짜와 특정 파이프라인 상태를 볼 수 있습니다.

파이프라인 기반 스캔과 달리 push 보호는 push 프로세스 중에 실시간으로 실행되기 때문에 마지막 스캔 날짜가 없습니다.

문제 해결#

보안 구성 프로필로 작업할 때 다음 문제가 발생할 수 있습니다.

push 보호에 마지막 스캔 날짜가 나타나지 않음#

push 보호는 일정 기반이 아닌 이벤트 기반입니다. git push 프로세스 중에 실시간으로 시크릿을 가로챕니다. push 명령 시점에 활성화되기 때문에 파이프라인 기반 스캐너에서 예상하는 것과 같은 마지막 스캔 날짜가 없습니다.

스캐너 상태가 대시보드에서는 활성이지만 인벤토리 툴팁에서 활성화되지 않음#

이는 프로젝트가 새 프로필이 할당되어 있으면서 레거시 설정을 사용할 때 발생할 수 있습니다.

이 문제를 해결하려면:

  1. 현재 프로필 상태에 대한 가장 정확한 정보를 위해 Security Configuration 페이지를 확인합니다.
  2. 필요한 경우 .gitlab-ci.yml 파일에서 레거시 스캐너 구성을 제거하여 프로필 기반 구성에만 의존합니다.
Note

인벤토리 툴팁은 레거시 설정과 프로필 기반 설정의 결합된 상태를 반영하도록 개선 중입니다.

레거시 구성과 프로필 기반 구성의 차이#

레거시 스캐너 구성에서 프로필 기반 구성으로 마이그레이션하는 경우 다음 차이점에 유의하세요:

  • 레거시 구성: 스캐너를 활성화하려면 YAML 파일이나 개별 프로젝트 설정을 수동으로 편집해야 합니다.
  • 프로필 기반 구성: 코드를 수정하지 않고도 여러 프로젝트에 한 번에 기본 프로필을 적용할 수 있는 중앙화된 시스템을 사용합니다.

프로필 기반 구성은 더 쉬운 관리와 프로젝트 전반의 일관성을 위해 권장됩니다.

보안 구성 프로필 관리

Tier: Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

보안 구성 프로필은 프로젝트 전반에서 보안 스캐너가 실행되는 방법과 시기를 정의하는 중앙화된 설정입니다. 개요는 보안 구성 프로필 소개를 참조하세요. 프로필을 그룹에 적용하면 해당 그룹 내의 각 개별 프로젝트에 적용됩니다.

히스토리

보안 구성 프로필은 프로젝트 전반에서 보안 스캐너가 실행되는 방법과 시기를 정의하는 중앙화된 설정입니다. 보안 구성 프로필을 사용하여 조직 전반의 보안 스캐너를 효율적으로 관리합니다. 프로필 기반 접근 방식은 최소한의 수동 설정으로 모범 사례를 적용합니다.

개요는 보안 구성 프로필 소개를 참조하세요.

프로필을 그룹에 적용하면 해당 그룹 내의 각 개별 프로젝트에 적용됩니다. 프로필은 그룹 자체에 연결되지 않으며 프로필이나 서브그룹 간에 상속이 없습니다.

기본 프로필을 사용하면 최소한의 구성으로 몇 분 안에 사전 구성된 보안 스캐닝을 활성화할 수 있습니다.

보안 스캐너 구성#

프로필을 평가하고 관리하려면 그룹의 보안 인벤토리를 중앙 대시보드로 사용합니다.

테스트 커버리지 검토#

SAST, DAST, 시크릿 감지 등 그룹의 스캐너에 대한 높은 수준의 상태(Enabled, Not Enabled 또는 Failed)를 보려면:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. 보안 인벤토리에서 Test Coverage 열을 검토합니다.

개별 프로젝트 커버리지 변경#

특정 프로젝트를 구성하려면:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. 프로젝트 옆의 세로 줄임표(⋮)를 선택하고 Manage tool coverage를 선택합니다.
  4. 개별 스캐너를 켜거나 끕니다.

여러 프로젝트에 프로필 적용#

시간을 절약하려면 여러 프로젝트에 한 번에 보안 설정을 적용할 수 있습니다:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. 설정을 적용할 여러 프로젝트 또는 전체 서브그룹을 선택합니다.
  4. Bulk Action 드롭다운을 선택하고 Manage security scanners를 선택합니다.
  5. 선택 항목 전체에서 보안 상태를 표준화하려면 Apply default profile to all을 선택합니다.

기본 프로필 {#default-profiles}#

GitLab은 최소한의 구성으로 보안 스캐닝을 활성화할 수 있도록 사전 구성된 스캐너 설정인 기본 프로필을 제공합니다.

시크릿 감지 프로필#

시크릿 감지 프로필을 적용하면 전체 개발 워크플로우에서 시크릿에 대한 권장 기준 보호를 활성화합니다. 프로필은 다음 스캔 트리거를 활성화합니다:

  • Push protection: 모든 Git push 이벤트를 스캔하고 시크릿이 감지된 push를 차단하여 시크릿이 코드베이스에 들어오는 것을 방지합니다.
  • Merge Request Pipelines: 열린 머지 리퀘스트가 있는 브랜치에 새 커밋이 push될 때마다 자동으로 스캔을 실행합니다. 결과는 머지 리퀘스트에서 도입된 새로운 취약점으로 범위가 지정됩니다. 대상: 모든 브랜치.
  • Branch Pipelines (default only): 변경 사항이 기본 브랜치에 머지되거나 push될 때 자동으로 실행되어 기본 브랜치의 시크릿 감지 상태에 대한 전체적인 그림을 제공합니다. 대상: 기본 브랜치.

SAST 프로필#

SAST 프로필을 적용하면 권장 구성을 사용하여 프로젝트 전반에서 정적 애플리케이션 보안 테스팅을 활성화합니다. 프로필은 다음 스캔 트리거를 활성화합니다:

  • Merge Request Pipelines: 열린 머지 리퀘스트가 있는 브랜치에 새 커밋이 push될 때마다 자동으로 SAST 스캔을 실행합니다. 결과에는 머지 리퀘스트에서 도입된 새로운 취약점만 포함됩니다. 대상: 모든 브랜치.
  • Branch Pipelines (default only): 변경 사항이 기본 브랜치에 머지되거나 push될 때 자동으로 실행되어 기본 브랜치의 SAST 상태에 대한 전체적인 그림을 제공합니다. 대상: 기본 브랜치.

프로필 세부 정보 보기#

시크릿 감지 프로필에 대한 기술적 세부 정보를 보려면:

  1. 상단 바에서 Search or go to를 선택하고 그룹을 찾습니다.
  2. 왼쪽 사이드바에서 Secure > Security inventory를 선택합니다.
  3. Secret Detection 프로필을 선택합니다.
  4. 다음 정보를 검토합니다:
    • Analyzer type: 프로필 유형(예: Secret Detection, SAST).
    • Scan triggers: 프로필이 지원하는 트리거(예: Push Protection, Merge Request Pipelines, Branch Pipelines).
    • Status: 커버리지 상태 표시기를 사용하여 프로필이 현재 컨텍스트에서 Active 또는 Disabled인지 표시합니다.

커버리지 상태 표시기#

시스템은 인벤토리에서 시각적 신호를 사용하여 프로젝트가 보호되고 있는지 나타냅니다:

  • 초록색 실선 바: 스캐너가 완전히 활성화되어 있습니다.
  • 회색/빈 바: 스캐너가 아직 구성되거나 활성화되지 않았습니다.
  • 부분 바: 일부 보호가 활성화되어 있습니다(예: 프로필에서 사용 가능한 일부 트리거는 활성화되어 있지만 다른 트리거는 활성화되어 있지 않습니다).
  • 툴팁: 커버리지 바 위에 마우스를 올리면 파이프라인 기반 스캔의 마지막 스캔 날짜와 특정 파이프라인 상태를 볼 수 있습니다.

파이프라인 기반 스캔과 달리 push 보호는 push 프로세스 중에 실시간으로 실행되기 때문에 마지막 스캔 날짜가 없습니다.

문제 해결#

보안 구성 프로필로 작업할 때 다음 문제가 발생할 수 있습니다.

push 보호에 마지막 스캔 날짜가 나타나지 않음#

push 보호는 일정 기반이 아닌 이벤트 기반입니다. git push 프로세스 중에 실시간으로 시크릿을 가로챕니다. push 명령 시점에 활성화되기 때문에 파이프라인 기반 스캐너에서 예상하는 것과 같은 마지막 스캔 날짜가 없습니다.

스캐너 상태가 대시보드에서는 활성이지만 인벤토리 툴팁에서 활성화되지 않음#

이는 프로젝트가 새 프로필이 할당되어 있으면서 레거시 설정을 사용할 때 발생할 수 있습니다.

이 문제를 해결하려면:

  1. 현재 프로필 상태에 대한 가장 정확한 정보를 위해 Security Configuration 페이지를 확인합니다.
  2. 필요한 경우 .gitlab-ci.yml 파일에서 레거시 스캐너 구성을 제거하여 프로필 기반 구성에만 의존합니다.
Note

인벤토리 툴팁은 레거시 설정과 프로필 기반 설정의 결합된 상태를 반영하도록 개선 중입니다.

레거시 구성과 프로필 기반 구성의 차이#

레거시 스캐너 구성에서 프로필 기반 구성으로 마이그레이션하는 경우 다음 차이점에 유의하세요:

  • 레거시 구성: 스캐너를 활성화하려면 YAML 파일이나 개별 프로젝트 설정을 수동으로 편집해야 합니다.
  • 프로필 기반 구성: 코드를 수정하지 않고도 여러 프로젝트에 한 번에 기본 프로필을 적용할 수 있는 중앙화된 시스템을 사용합니다.

프로필 기반 구성은 더 쉬운 관리와 프로젝트 전반의 일관성을 위해 권장됩니다.