개발자 / 보안

CI/CD 파이프라인을 보호하는 모범 사례 5가지

Isaac Sacolick | InfoWorld 2022.09.22
엔지니어의 사고는 문제 이해하기, 해결책 만들기, 그리고 프로덕션 환경에 견고하고 안전한 구현을 배포할 방법 알아내기 순서로 흐른다.
 
일단 해결책이 구현된 이후 보안 모범 사례를 집어넣으면 복잡하고 자원이 많이 든다.  또한 혁신을 빠르게 내놔야 한다는 압박으로 인해 데브옵스 팀이 보안 부채를 떠안고 릴리즈하는 사례가 빈번하게 발생한다. 최선의 데브섹옵스 모범 사례는 지식, 권장 사항, 보안을 개발 프로세스의 “왼쪽으로 옮겨(shift left)” 애자일 개발 팀이 마이크로서비스, 애플리케이션 또는 데이터베이스에 바로 보안을 구현해 넣도록 하는 것이다.
 
그러나 지속적 통합, 지속적 제공(CI/CD) 파이프라인은 어떻게 해야 할까? 코드를 빌드, 통합, 패키징해서 환경에 제공하기까지의 수작업 단계가 CI/CD 도구에 스크립팅되어 있을 때 이 자동화는 배포의 안정성을 높여준다. 견고한 CI/CD 구현을 갖춘 데브옵스 팀은 그 다음 단계로 프로덕션 환경을 위한 지속적 배포까지 고려하는 경우가 많다. 따르는 위험은 더 높지만 더 자주 배포할 수 있게 된다.
 
ⓒ Getty Images Bank

안전하고 견고한 CI/CD 파이프라인을 구축할 때 필요한 권장 사항과 모범 사례를 확인해 보자.
 

1. 모범적인 보안 개발 방법 구축

캡제미니(Capgemini)의 애자일 및 데브옵스 리더인 쿨비르 라이나는 가장 중요한 일을 가장 먼저 해야 한다면서 “CI/CD 파이프라인에서 자동화를 다룰 때 보안과 품질은 코드에 내장해야 하며 품질 관리 단계로 미루면 안 된다. 개발자가 적절히 코드를 린팅하기 위해서는 개발자의 통합 개발 환경에 통합된 보안 도구가 필요하다”라고 말했다.
 
린팅은 코딩 스타일 편차와 안전하지 않은 관행을 식별하는 도구에서 수행하는 프로세스다. 고급 정적 애플리케이션 보안 테스트(SAST) 도구는 버퍼 오버플로우, SQL 주입 결함을 비롯한 여러 문제점을 찾을 수 있다. 라이나는 SAST를 지속적 통합에 통합할 것을 권장한다.
 
레드게이트 소프트웨어(Redgate Software)의 데브옵스     지지자인 스티브 존스는 “도구도 중요하지만 다른 모든 데브옵스 프로세스와 마찬가지로 계속 배우고 성장해야 한다. 개발자를 대상으로 안전한 코딩 관행에 대한 교육을 주기적으로 실시해서 SQL 주입과 같은 단순한 취약점을 방치하지 않도록 해야 한다”라고 권했다. 
 
빌드카이트(Buildkite)의 공동 창업자, 공동 CEO인 팀 루카스는 다른 여러 모범 사례를 공유했다. 루카스는 오픈 소스와 써드 파티의 종속 항목에서 일반적인 취약점 및 노출(CVE)을 검토해야 한다면서 “취약한 소프트웨어를 프로덕션에 넣어서는 안 된다. 벤더 소프트웨어에 대해 검증 가능한 서명을 사용해서 벤더가 침해될 때 보안 공급망도 함께 침해되는 일이 없도록 해야 한다”라고 조언했다.
 
소나타입(Sonatype) 필드 CTO인 이카 투루넨도 “모범 사례 중 하나는 오픈 소스 소프트웨어 프로젝트를 찾을 때 깐깐한 기준을 두는 것이다. 전통적인 제조 분야와 마찬가지로 모든 부품이 똑같이 만들어지지는 않는다”면서 “적극적이고 책임감 있는 개발자 그룹이 유지하는 프로젝트를 찾으면 소프트웨어 공급망의 정비성을 높이면서 기술 부채, 재작업, 보안 위험을 줄일 수 있다”라고 설명했다.
 
소프트웨어 개발 수명 주기에 보안 모범 사례를 적용할 때 권장 사항은 극히 일부분에 지나지 않지만, 동시에 안전한 전달 파이프라인을 개발하기 위한 중요한 필수 요건이다.
 

2. CI/CD 파이프라인 안에 지속적 테스트 구축

코드 제공이 CI/CD의 전부가 아님을 인식하는 것이 중요하다. CI/CD는 시프트 레프트 테스트를 도입하고 지속적 테스트 전략을 개선할 기회이기도 하다. 테스트를 핵심 원칙으로 채택하는 팀은 릴리즈를 환경에 배포하기 위해 CI/CD 파이프라인을 트리거하기에 앞서 보안을 검증할 기회를 확보할 수 있다. SAST 보안 테스트를 통합하는 것 외에 팀이 초점을 맞춰야 할 점은 다음과 같다.
 
  • 침투 테스트를 트리거해서 백도어 및 기타 진입점 취약점 찾기
  • 보안 컨트롤 검증과 권한 부여 테스트
  • 동적 애플리케이션 보안 테스트(DAST)를 사용하여 OWASP 상위 10개 고심각도 문제 테스트
 
또한 테스트 자동화에서는 일반적인 문제를 해결할 단계, 적절한 팀을 대상으로 한 알림, 롤백 절차도 고려해야 한다.
 

3. CI/CD 내의 데이터 보안 절차 자동화

코드 및 빌드 종속성이 있는 보안 절차를 자동화할 때도 CI/CD 파이프라인을 사용해야 한다. 집중해야 할 영역은 데이터 보안이다. 릴리즈에 새로운 데이터베이스, 업데이트된 데이터 모델 또는 새로운 데이터 집합이 포함될 수 있기 때문이다.
 
프로덕션 환경에서 가져온 데이터로 개발 및 테스트 환경을 업데이트하는 것을 간과하는 경우가 많다. 개발 팀은 최근에 가져온 데이터를 사용해 기능을 검증하고 경험을 테스트하고 데이터 마스킹을 채택해 개인식별정보 및 기타 데이터 규정 요건이 적용되는 데이터를 난독화해야 한다.
 
액셀라리오(Accelario)의 CTO이며 공동 창업자인 로만 골로드는 “데이터 마스킹은 CI/CD 중 보안 자동화의 핵심적인 부분이다. 개발 및 테스트 팀이 프로덕션에서 모든 부분이 원활하게 작동하도록 보장하기 위해서는 실제 데이터가 필요하지만 프로덕션 외 시스템은 일반적으로 충분히 안전하지 않다”라고 말했다.
 
그 외에 합성 데이터와 서비스 가상화를 사용하는 방법이 있다. 골로드는 “실제 데이터를 모조하기 위한 합성 데이터 집합을 사용하면 데이터베이스가 침해되더라도 공격자가 얻는 것이 아무것도 없으므로 보안이 더욱 강화된다”라고 말했다.
 
코파도(Copado)의 전략 서비스 부문 선임 부사장인 다니엘 리델은 데브옵스 팀을 위한 중요한 출발점으로 “데이터, 구체적으로 그 데이터를 규제하는 보안과 규정 정책을 파악하라. 그러한 정책을 이해하고 나면 충분히 테스트되고 정책에 설정된 규칙과 컨트롤을 다루는 우수한 보안 자동화 프레임워크를 신중히 구축해야 한다”라고 말했다.
 

4. 제로 트러스트 원칙을 적용한 CI/CD 파이프라인 보호

권한이 부여된 사람만 트리거할 수 있도록 파이프라인을 잠그려면 데브옵스 팀은 어떻게 해야 할까? 레드게이트 소프트웨어의 데브옵스 지지자 그랜드 프리치는 “데브옵스 파이프라인 내에서 보안을 자동화하기 위한 핵심은 전통적인 모범적 보안을 위한 핵심 요소와 똑같다. 바로 최소 권한 원칙”이라고 말했다. 프리치는 “파이프라인에 필요한 만큼의 권한만 부여하는 것이 확실하게 된다면 이 파이프라인 내에서, 또는 파이프라인 주변의 보안을 자동화하는 것은 간단하며 원하는 결과를 제공한다”라고 말했다.
 
기본적인 요소로는 API 키 숨기기, CI/CD 도구에서 프로젝트 및 역할 기반 보안 자격 증명 정의하기, 원격 데브옵스 팀원을 위한 액세스 보호하기 등이 있다.
 

5. CI/CD를 AI옵스 및 보안 자동화와 통합하여 배포 검증

데브옵스 팀의 책임은 코드가 프로덕션에 배포됐다고 해서 끝나지 않는다. 여기서는 관찰가능성과 모니터링에 대한 투자가 중요한 운영 피드백 도구가 된다. 데브옵스 팀은 운영 팀과의 협력과 도구를 통해 사고에 대응하고, 기술 부채가 운영 또는 보안 측면에서 우려 사항이 될 때를 인지해야 한다. 구체적으로 보면 다음과 같다.
 
  • AI옵스 도구는 운영 데이터를 중앙화하고 경보를 연계해 사고를 규정하고 성능 및 안정성 문제에 대한 사고 대응의 자동화를 지원한다.
  • 보안 자동화 프로젝트는 위협 및 공격으로부터 환경을 보호하면서 권한을 설정하고 시스템을 패치하고 보안 사고에 대응하는 자동화를 실현한다.
  • 많은 CI/CD도구가 AI옵스, 보안 자동화 및 기타 일반화된 IT 자동화 도구와의 양방향 통합을 제공한다. 데브옵스 팀은 CI/CD 파이프라인의 일부로 이러한 도구에 대한 알림을 트리거해서 운영 및 정보보안 담당자에게 코드 제공에 대한 정보를 제공해야 한다. 또한 IT 운영 및 정보보안 자동화 과정에서 운영과 보안에 대한 요구사항을 충족하려면 빌드나 롤백을 트리거할 수 있도록 허용해야 한다.
 
데브옵스 워크플로우는 팀이 시스템을 안정적으로 안전하게 계획, 제공, 릴리즈, 실행할 수 있도록 보장하기 위한 배포 계획부터 모니터링까지 이어지는 경로를 보여준다. CI/CD는 핵심적인 데브옵스 실행 방안 중 하나이므로 파이프라인의 전후와 내부에 보안을 내장하는 것이 중요하다.
editor@itworld.co.kr 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.