ISMS를 위한 GitLab 조치 방안

오늘날 비즈니스 환경에서 IT는 필수 요소로 자리매김했는데요. 기업이 조직에 IT 도입을 확대하면서 내부 정보보안을 강화해야 할 필요성도 날로 높아지고 있습니다. 정보보안을 철저하게 지키려면 정보보호 관리체계도 잘 알아야 하는데요. 글로벌 정보보호 관리체계의 표준인 PCI-DSS, ISO-27001 등을 들어본 분이 많으실 겁니다.
그러나 국내 기업이라면 우리나라 정보보호 관리체계(ISMS)도 꼭 알아야 하는데요. 우리나라에서는 정보통신서비스 부문 전년도 매출액이 100억원 이상인 자라면 ISMS 인증을 취득해야 합니다. 기업이 이를 획득하면 ‘고객 정보를 철저하게 보호하는 회사’라는 이미지를 보여줄 수 있죠. 이는 기업 이미지를 제고하고, 고객 신뢰도를 높이는 데 도움이 됩니다.
기업이 ISMS 인증 기준을 충족하려면 사용자 계정 관리, 사용자 인증, 네트워크 접근 등과 관련해 다양한 조치를 취해야 하는데요. DevOps 플랫폼인 GitLab은 ISMS에 인증범위에 필수로 포함되는 주요 정보시스템으로, ISMS 인증 기준을 준수하도록 조치가 필요합니다.
특히 ISMS의 소스 데이터 관련 항목은 GitLab의 기능을 사용하면 주도적으로 대응이 가능합니다.
이 글에서는 ISMS 개념과 GitLab과 관련된 인증 기준을 알아보고, ISMS 인증 항목에 따른 GitLab 조치 방안을 자세히 살펴보려 합니다.
해당 글은 ISMS의 인증 범위중 하나인 GitLab에 한정된 대응 방안을 다루는 글입니다.
즉, GitLab에서의 조치로 해당 ISMS 인증 항목이 모두 충족되는것이 아닌, 인증범위에 포함된 다른 시스템에도 ISMS 인증 기준에 맞춰 조치를 해야합니다.
ISMS란

ISMS(Information Security Management System, 정보보호 관리체계)는 ‘정보통신망의 안전성을 확보하기 위해 수립, 운영하는 기술적·물리적 보호조치 등 종합 관리체계가 인증기준에 적합함’을 인터넷진흥원 또는 인증기관이 증명하는 제도입니다. 즉, 기업이 주요 정보자산을 보호하기 위해 구축·운영하는 ISMS가 인증 기준에 적합한지 심사해 인증을 부여하는데요. ISMS는 정보보안 위험을 평가하고, 적절한 보안 조치를 취해 그 위험을 관리하며, 조직의 정보 자산을 보호하는 데 목적이 있죠.
우리나라에서는 정보통신망법 제47조 2항에 따라 ISMS인증 의무대상자 기준을 다음과 같이 규정하는데요. 인증 의무대상자는 ‘「전기통신사업법」 제2조제8호에 따른 전기통신사업자와 전기통신사업자의 전기통신역무를 이용해 정보를 제공하거나 정보의 제공을 매개하는 자로서 위 표에서 기술한 의무대상자 기준에 하나라도 해당되는 자’입니다.
이 가운데 일반 기업에서 눈여겨볼 항목은 바로 ‘정보통신서비스 제공자’ 관련 내용인데요. 우리나라에서는 정보통신서비스 부문 전년도 매출액이 100억원 이상이거나 전년도 직전 3개월간 정보통신서비스 일일평균 이용자 수가 100만명 이상인 자는 ISMS인증 의무대상자가 됩니다. 의무대상자가 ISMS 인증을 이행하지 않으면 3000만원 이하의 과태료가 부과되죠.
한편, 의무대상자는 ISMS, ISMS-P 인증 가운데 선택해서 인증을 신청할 수 있는데요. 여기서 ISMS-P란 ‘정보보호 및 개인정보보호 관리체계 인증’으로, 정보보호 및 개인정보보호를 위한 일련의 조치와 활동이 인증기준에 적합함을 인터넷진흥원 또는 인증기관이 증명하는 제도입니다. 현재 국내에는 1200여 개 기업이 ISMS-P 인증을 취득, 유지하고 있고요.

ISMS 인증기준과 GitLab 활용 방안
기업이 ISMS 인증기준을 충족하려면 사용자 계정 관리, 사용자 인증, 네트워크 접근 등과 관련해 취해야 할 조치가 많은데요. 앞서 말씀드린것처럼 조직의 ISMS 인증범위중 GitLab에서의 대응방안이 고민이 될 수 있는데, GitLab은 ISMS 인증기준을 충족하는 기능을 다수 제공합니다. 형상 관리, 소스 코드의 보안, 협업, 관리 기능이 그 예죠. 그렇다면 GitLab이 ISMS 인증기준을 충족하려면 어떤 조치를 취할 수 있을까요? 지금부터 권한과 감사로그, 인증, 운영 환경, 운영 관리, 승인 절차와 보안 검사를 중심으로 ISMS 인증기준 세부 항목, 이와 관련된 GitLab 기능을 하나씩 살펴보겠습니다(이 글에서는 2023년 11월 23일 한국인터넷진흥원 홈페이지에 수정 게시된 ISMS-P 인증기준 안내서를 참조했습니다).
1. 권한과 감사로그
| 항목 | 인증기준 | 관련 GitLab 기능 |
|---|---|---|
| 2.5.1 사용자 계정 관리 | 정보시스템과 개인정보 및 중요정보에 대한 비인가 접근을 통제하고 업무 목적에 따른 접근권한을 최소한으로 부여할 수 있도록 사용자 등록·해지 및 접근권한 부여·변경·말소 절차를 수립·이행하고, 사용자 등록 및 권한부여 시 사용자에게 보안책임이 있음을 규정화하고 인식시켜야 한다. | Permissions and roles, Custom roles |
| 2.5.5 특수 계정 및 권한 관리 | 정보시스템 관리, 개인정보 및 중요정보 관리 등 특수 목적을 위하여 사용하는 계정(Admin 등) 및 권한은 최소한으로 부여하고 별도로 식별하여 통제하여야 한다. | Permissions and roles, Custom roles |
| 2.5.6 접근권한 검토 | 정보시스템과 개인정보 및 중요정보에 접근하는 사용자 계정의 등록·이용·삭제 및 접근권한의 부여·변경·삭제 이력을 남기고 주기적으로 검토하여 적정성 여부를 점검하여야 한다. | Audit events |
| 2.6.3 응용프로그램 접근 | 사용자별 업무 및 접근 정보의 중요도 등에 따라 응용프로그램 접근권한을 제한하고, 불필요한 정보 또는 중요정보 노출을 최소화할 수 있도록 기준을 수립하여 적용하여야 한다. | Permissions and roles, Custom roles |
*관련 GitLab 기능: Permissions and roles, Custom roles, Audit events
권한과 감사로그와 관련된 ISMS 인증기준은 위 표에서 확인할 수 있습니다. 사용자 계정 관리, 특수 계정 및 권한 관리, 접근권한 검토, 응용프로그램 접근 관련 내용인데요. GitLab에서는 그룹/프로젝트별로 권한을 할당해 중요 정보, 즉 GitLab에서 관리 중인 소스 데이터에 접근하는 걸 통제할 수 있습니다.
예를 들어, GitLab에서는 Guest, Reporter, Developer, Maintainer, Owner 이렇게 5가지 단계로 나눠 사용자 역할에 맞게 권한을 할당할 수 있는데요. 이로써 업무 목적에 따라 최소한으로 권한을 할당할 수 있습니다. 아울러 GitLab에서는 Custom roles를 사용해 필요에 따라 권한을 만들 수 있죠.
이러한 기능들은 사용자 계정 관리, 특수 계정 및 권한 관리, 응용프로그램 접근 항목에 대한 조치가 가능합니다.
또 GitLab은 특수 권한자를 포함한 모든 사용자 계정의 감사 로그를 Audit events에서 확인할 수 있는데요. 이는 접근권한 검토 항목을 준수하는 데 활용할 수 있는 기능입니다.

2. 인증
| 항목 | 인증기준 | 관련 GitLab 기능 |
|---|---|---|
| 2.5.2 사용자 식별 | 사용자 계정은 사용자별로 유일하게 구분할 수 있도록 식별자를 할당하고 추측 가능한 식별자 사용을 제한하여야 하며, 동일한 식별자를 공유하여 사용하는 경우 그 사유와 타당성을 검토하여 책임자의 승인 및 책임추적성 확보 등 보완대책을 수립·이행하여야 한다. | Audit Event |
| 2.5.3 사용자 인증 | 정보시스템과 개인정보 및 중요정보에 대한 사용자의 접근은 안전한 인증절차와 필요에 따라 강화된 인증방식을 적용하여야 한다. 또한 로그인 횟수 제한, 불법 로그인 시도 경고 등 비인가자 접근 통제방안을 수립·이행하여야 한다. | OmniAuth, Two-factor authentication |
| 2.5.4 비밀번호 관리 | 법적 요구사항, 외부 위협요인 등을 고려하여 정보시스템 사용자 및 고객, 회원 등 정보주체 (이용자)가 사용하는 비밀번호 관리절차를 수립·이행하여야 한다. | OmniAuth, Two-factor authentication |
관련 GitLab 기능*:** Audit Event, OmniAuth, Two-factor authentication
인증과 관련된 ISMS 인증기준은 위 표에서 확인할 수 있습니다. 사용자 식별, 사용자 인증, 비밀번호 관리 관련 내용인데요. 특수한 상황으로 공용 계정이 필요할 때, GitLab에서 Audit Event를 사용하면 계정별 로그인 IP로 사용자를 추적할 수 있습니다. 이러한 기능을 활용하면 ISMS 인증기준인 사용자 식별 항목에 대응이 가능하죠.
아울러 GitLab에서 OmniAuth를 이용하면 다른 서비스의 자격 증명으로 GitLab에 로그인 할 수 있고요. 또 GitLab에서 Two-factor authentication을 적용하면, 추가 인증 수단을 활용해야 GitLab에 로그인할 수 있죠.
이는 사용자 인증, 비밀번호 관리 항목에 해당되는 조치입니다.
3. 운영 환경
| 항목 | 인증기준 | 관련 GitLab 기능 |
|---|---|---|
| 2.6.1 네트워크 접근 | 네트워크에 대한 비인가 접근을 통제하기 위하여 IP관리, 단말인증 등 관리절차를 수립·이행하고, 업무목적 및 중요도에 따라 네트워크 분리(DMZ, 서버팜, DB존, 개발존 등)와 접근통제를 적용하여야 한다. | Omnibus |
| 2.8.3 시험과 운영 환경 분리 | 개발 및 시험 시스템은 운영시스템에 대한 비인가 접근 및 변경의 위험을 감소시키기 위하여 원칙적으로 분리하여야 한다. | CI/CD pipeline |
| 2.8.5 소스 프로그램 관리 | 소스 프로그램은 인가된 사용자만이 접근할 수 있도록 관리하고, 운영환경에 보관하지 않는 것을 원칙으로 하여야 한다. | Omnibus |
관련 GitLab 기능*:** Omnibus, CI/CD pipeline
운영 환경과 관련된 ISMS 인증기준은 위 표에서 확인할 수 있습니다. 네트워크 접근, 시험과 운영 환경 분리, 소스 프로그램 관리 관련 내용인데요. GitLab에서 ‘설치형 Omnibus’를 사용하면 ‘온프레미스의 중요 데이터(소스)에 접근하는 걸 통제하는’ 네트워크에 GitLab을 설치할 수 있습니다. GitLab의 Free 티어를 이용하면 스타트업, 중소기업도 이 기능을 무료로 사용할 수 있죠. 이러한 기능을 활용하면 네트워크 접근, 소스 프로그램 관리 항목에 대한 조치를 취할 수 있습니다.
또 GitLab의 CI/CD pipeline을 이용하면 개발, 운영 시스템에 CI/CD를 자동화할 수 있는데요. 이를 적용하면 GitLab에서 CI/CD를 처리하고, 개발자는 개발, 운영 시스템에 접근할 필요가 없죠. 이로써 개발, 운영 시스템에 불필요한 접근을 최소화하고 보안을 지킬 수 있는데요.
이는 시험과 운영 환경 분리 항목을 충족하는 조치입니다.

4. 운영 관리
| 항목 | 인증기준 | 관련 GitLab/오픈소스 도구 기능 |
|---|---|---|
| 2.9.2 성능 및 장애관리 | 정보시스템의 가용성 보장을 위하여 성능 및 용량 요구사항을 정의하고 현황을 지속적으로 모니터링하여야 하며, 장애 발생 시 효과적으로 대응하기 위한 탐지·기록·분석·복구·보고 등의 절차를 수립·관리하여야 한다. | Grafana Stack |
| 2.9.4 로그 및 접속기록 관리 | 서버, 응용프로그램, 보안시스템, 네트워크시스템 등 정보시스템에 대한 사용자 접속기록, 시스템로그, 권한부여 내역 등의 로그유형, 보존기간, 보존방법 등을 정하고 위·변조, 도난, 분실되지 않도록 안전하게 보존·관리하여야 한다. | Audit Event, Audit Event Streaming |
*관련 GitLab 기능: Audit Event, Audit Event Streaming
*기타 도구: Grafana Stack
운영 관리와 관련된 ISMS 인증기준은 위 표에서 확인할 수 있습니다. 성능 및 장애관리, 로그 및 접속기록 관리 관련 내용인데요. 이때 GitLab과 다른 오픈소스 도구를 연동해 사용하는 것도 좋습니다. 예를 들어, 오픈소스 도구인 Grafana Stack은 GitLab과 연동할 수 있는데요. Grafana Stack을 이용하면 성능, 장애와 관련해 각종 지표를 수집하고, 이상 징후를 탐지하면 알림을 보내도록 설정할 수 있죠. 이러한 기능을 활용하면 GitLab에 대한 성능 및 장애관리에 대한 조치가 됩니다.
Grafana Stack은 GitLab에 대한 모니터링 뿐만 아니라, 다른 시스템에도 적용이 가능합니다.
아울러 GitLab에서 발생하는 감사 로그는 GitLab의 Audit Event로 관리할 수 있는데요. Audit Event Streaming을 사용하면 감사 이벤트를 실시간으로 다른 저장소에 전송할 수 있습니다. 이는 ISMS 인증기준인 로그 및 접속기록 관리 관련 내용을 충족하는 데 도움이 됩니다.

5. 승인 절차와 보안 검사
| 항목 | 인증 기준 | 관련 GitLab 기능 |
|---|---|---|
| 2.8.2 보안 요구사항 검토 및 시험 | 사전 정의된 보안 요구사항에 따라 정보시스템이 도입 또는 구현되었는지를 검토하기 위하여 법적 요구사항 준수, 최신 보안취약점 점검, 안전한 코딩 구현, 개인정보 영향평가 등의 검토 기준과 절차를 수립·이행하고, 발견된 문제점에 대한 개선조치를 수행하여야 한다. | Merge request approvals, Secure Scan(Secure your application), Security Dashboards, Security Reports, Scan result policies |
| 2.8.6 운영환경 이관 | 신규 도입·개발 또는 변경된 시스템을 운영환경으로 이관할 때는 통제된 절차를 따라야 하고, 실행코드는 시험 및 사용자 인수 절차에 따라 실행되어야 한다. | Merge request approvals |
| 2.11.2 취약점 점검 및 조치 | 정보시스템의 취약점이 노출되어 있는지를 확인하기 위하여 정기적으로 취약점 점검을 수행하고, 발견된 취약점에 대해서는 신속하게 조치하여야 한다. 또한 최신 보안취약점의 발생 여부를 지속적으로 파악하고, 정보시스템에 미치는 영향을 분석하여 조치하여야 한다. | Secure Scan(Secure your application), Security Dashboards, Security Reports, Scan result policies |
*관련 GitLab 기능: Merge request approvals, Secure Scan(Secure your application), Security Dashboards, Security Reports, Scan result policies
승인 절차, 보안 검사와 관련된 ISMS 인증기준은 위 표에서 확인할 수 있습니다. 보안 요구사항 검토 및 시험, 운영환경 이관, 취약점 점검 및 조치 관련 내용인데요. GitLab에서는 개발을 완료한 기능을 프로덕션에 배포하기 전에 Merge request approvals로 적절한 승인 절차를 수립할 수 있습니다. 이때 GitLab의 각종 Secure Scan 도구를 사용해 취약점을 자동 점검할 수 있는데요. 점검 결과는 Security Dashboard, Security Reports 등에서 대시보드, 보고서로 확인할 수 있죠.
점검 결과, 보안 규칙을 위반한 걸로 드러나면 Scan result policies 기능으로 승인 단계를 추가할 수 있는데요. 예를 들어, 만약 새로운 코드에 '중요' 수준의 취약점이 발견되면, 이 코드는 검토를 거쳐 승인받도록 설정할 수 있습니다. 이 과정을 거치면 취약한 코드가 실제 소프트웨어에 통합되기 전에 미리 검토되고 수정될 수 있죠.
또 서드 파티 보안 도구를 GitLab 파이프라인에 적용할 수도 있는데요. 예를 들어, 파이프라인 스크립트에 외부 보안 도구를 추가할 수 있습니다.
이러한 기능들을 활용하면 ISMS 인증기준인 보안 요구사항 검토 및 시험, 운영환경 이관, 취약점 점검 및 조치 관련 내용을 준수할 수 있습니다.

맺음말
지금까지 ISMS 개념과 ISMS 인증 기준을 충족하기 위한 GitLab에서의 대응방안을 살펴봤습니다. 앞서 말씀드렸다시피 GitLab은 사내 중요 데이터를 관리하는 데 유용한 기능을 다수 제공합니다. 특히 GitLab은 형상 관리 기능뿐만 아니라 DevSecOps에 필요한 각종 보안 기능을 하나의 플랫폼 안에서 지원하죠. 이로써 사용자가 여러 플랫폼을 넘나들며 컨텍스트 스위칭하지 않고 GitLab 안에서 다양한 보안 기능을 이용할 수 있다는 게 큰 장점입니다. 기업에서도 GitLab의 강력한 보안 기능을 적재적소에 잘 활용해 ISMS 인증 기준을 달성하고 보안 역량을 높이면 좋겠습니다.
참고자료
- 한국인터넷진흥원 ‘ISMS-P’ 제도 소개
- 한국인터넷진흥원 ‘ISMS-P’ 인증대상
- 한국인터넷진흥원 ‘ISMS-P’ 인증서 발급현황
- 한국인터넷진흥원 ‘ISMS-P 인증기준 안내서(2023.11)’
- Permissions and roles
- Custom roles
- Audit events
- OmniAuth
- Two-factor authentication
- Omnibus
- CI/CD pipelines
- Audit Event
- Audit Event Streaming
- Merge request approvals
- Secure Scan(Secure your application)
- Security Dashboards
- Security Reports
- Scan result policies
사전 동의 없이 2차 가공 및 영리적인 이용을 금하며, 온·오프라인에 무단 전재 또는 유포할 수 없습니다.
DevOps 도입이 필요하신가요?
인포그랩 전문가가 맞춤 을 도와드립니다.
관련 글

API 키·토큰 유출 방지! GitLab Secret Detection 활용법
GitLab의 Secret Detection을 활용하면 리포지터리에서 민감한 정보를 자동으로 탐지해 보안 위험에 빠르게 대응할 수 있습니다. 이 글에서는 GitLab Secret Detection의 동작 방식과 사용법을 다뤘습니다.
2025년 3월 19일

GitLab 주요 보안 패치 릴리즈 17.4.1, 17.3.4, 17.2.8
2024년 9월 26일 GitLab 주요 보안 패치 릴리즈 17.4.1, 17.3.4, 17.2.8을 안내합니다. 보안 릴리즈에는 버그 및 보안 수정사항을 포함하고 있습니다.
2024년 9월 26일

GitLab 주요 보안 패치 릴리즈 17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10
2024년 9월 19일 GitLab 주요 보안 패치 릴리즈 17.3.3, 17.2.7, 17.1.8, 17.0.8, 16.11.10을 안내합니다. 보안 릴리즈에는 버그 및 보안 수정사항을 포함하고 있습니다.
2024년 9월 19일