GitLab의 Compliance 관련 기능은 개발 및 배포 프로세스에서 규정 준수를 통합하도록 돕습니다. 이번에는 GitLab이 가지고 있는 Compliance 기능(이하 규정 준수)에 대해 설명합니다.
왜 GitLab 인스턴스의 보안과 규정 준수에 대해 알아야할까요?
리스크를 줄이고 비용을 절감하는 것 이외에도 고려해야 할 규정 및 준수 사항이 있습니다.
일반적으로 규제 및 감사는 기업이 규모화 됨에 따라 피할 수 없는 일이며, 관리되기까지 시간이 많이 걸리고 스트레스가 될 수 있습니다. GitLab은 조직의 규정 준수 사항을 만족하고, DevOps 툴의 운영 환경을 보다 안전하게 만들기 위한 몇가지 내장 기능을 가지고 있습니다. 우리가 매일 사용하는 기능들을 포함해서 대부분의 기능들이 무료인 프리티어로 사용할 수 있습니다.
참고: 프리 티어에서 사용할 수 없는 기능 옆에 별표(*)가 있습니다.
TL;DR 목록:
1. MFA 활성화
MFA를 활성화하는 것은 간단하며 계정에 액세스 하기가 더 어려워 공격의 위험을 줄입니다.
GitLab 인스턴스 admin 영역에서 모든 사용자에 대해 MFA를 시행할 수 있습니다. 또한 개별 계정에 대해 MFA를 구성할 수 있습니다.
GitLab Docs에서 MFA 활성화하는 방법을 알 수 있습니다.
MFA에 대한 규정 준수 표준 및 GitLab 제어
MFA는 다음 규정 준수 표준과 관련이 있습니다:
- AICPA TSC CC6.1
- ISO 27001 2013 A9.2.3, A9.2.4, A.9.3.1, A9.4.3
- NIST 800-53 IA-5, IA-5(1), IA-2(1), IA-2(2)
- IAC-02: GitLab은 조직 사용자를 대신하여 행동하는 조직 사용자 및 프로세스를 고유하게 식 별하고 인증하는 메커니즘을 구현했습니다.
- IAC-06: GitLab은 중요한 데이터를 저장, 전송 및/또는 처리하는 중요한 시스템 또는 시스템에 대한 콘솔 이외의 액세스 및 원격 네트워크 액세스에 대해 MFA를 강제하기 위한 자동화된 메커니즘을 구현했습니다.
2. 중요한 프로젝트에 대한 액세스 권한 검토
의심할 여지없이 환경에 대한 가장 큰 위험 중 하나는 논리적 접근입니다. 위험을 줄이기 위해 최소 권한 원칙에 따라 액세스를 제한할 것을 권장합니다. 대부분의 조직에서 액세스 변경이 매일 여러 번 발생할 수 있으므로 액세스를 지속적으로 모니터링해야 합니다. GitLab 인스턴스에서 액세스를 적절하게 검토하려면 먼저 GitLab 내의 액세스 보안 구조를 이해하는 것이 중요합니다.
액세스 보안 구조 분석
GitLab에서는 “Guest”, “Reporter”, “Developer”, “Maintainer”, “Owner” and “Administrator” 6가지 역활을 사용자에게 할당할 수 있습니다. GitLab 내에서 권한 있는 액세스는 “Administrator”, “Owners”, “Maintainers” 입니다.
GitLab 관리자는 모든 권한을 받습니다
Owner 및 Maintainer는 이러한 역할에 다음을 포함하되 이에 국한되지 않는 매우 민감한 작업을 수행할 수 있는 권한이 있기 때문에 관리자로 간주됩니다. merge 설정 관리, branch 보호 설정, project 접근 관리, managing access tokens, project 내보내기, issues · merge requests · projects 삭제하기.
권한 있는 액세스는 환경에 대한 가장 높은 위험이므로 이러한 역할을 엄격하게 제어해야 합니다.
최소 권한 원칙에 따라 액세스를 제한하는 것과 관련된 몇 가지 모범 사례는 다음과 같습니다.:
- 권한 있는 액세스가 요청되면 액세스가 프로비저닝 되기 전에 적절한 승인을 받았는지 확인합니다. 가장 좋은 방법은 데이터 소유자와 액세스 권한을 받는 사용자의 관리자로부터 승인을 받는 것입니다.
- 사용자가 직무를 변경하거나 조직을 떠날 때 액세스가 적시에 프로비저닝 해제되고 공유 암호 또는 토큰을 확인하십시오 가장 좋은 방법은 72시간 이내에 이 작업을 수행하는 것입니다.
- 정기적으로 액세스를 검토하여 액세스가 사용자의 업무 책임에 적절하게 맞춰져 있는지 확인하십시오. 가장 좋은 방법은 분기별로 이 작업을 수행하고 데이터 소유자가 액세스 권한을 검토하도록 하는 것입니다.