클라우드 보안 관점에서 컨테이너 보안성 높이는 방법

기업들이 클라우드를 사용하면서 컨테이너 배포 방식을 많이 쓰기 시작했다. 시스템을 모듈별로 쪼개서 개발할 수 있는 이점이 있기 때문이다. 그러나, 이때 각 개발 단계에서 보안이 적용되지 않으면 개발 이후 보안 문제를 해결하는데 시간과 비용이 드는 문제가 생긴다. 따라서 기업들은 개발 단계별로 보안 요소를 적용해야 할 필요가 있다.

천종현 SK쉴더스 클라우드 사업담당 PL은 ‘진화된 클라우드 보안 방안과 제로트러스트 업무환경 구현’을 주제로 최근 개최된 클라우드 네이티브 보안 웹세미나에서 클라우드 보안 관점에서 컨테이너 보안 방안을 소개했다.

기존에는 개발 방법인 데브옵스(DevOps)를 통한 빠른 개발과 배포가 기업들의 주목적이었다면, 최근 보안을 결합한 개발 방법이 주목받고 있다. 이 개념을 ‘데브섹옵스(DevSecOps)’라고 한다. 각 업무단계에 보안 요소를 적용해 안전하게 소프트웨어를 개발하고 보안사고를 예방하는 것이 목적이다.

천종현 PL은 “개발 시점부터 각 단계에 보안을 적용해야 하는 이유는 개발 이후 보안 문제를 발견하고 해결하기까지 비용과 시간이 늘어나기 때문”이라며 “운영 단계에서 발견하지 못한 취약점은 서비스 거부, 주요 데이터 유출 사고에 직면할 수 있다”고 설명했다.

데브섹옵스 기술이 주목받게 된 것은 컨테이너 기반의 배포 방식이 확산되기 시작하면서다. 많은 기업이 신규 서비스를 기획할 때 컨테이너 기반을 고려하고 있다. 그러나 이 경우 보안 대응이 어려운 문제가 있다. 관리 대상 컨테이너가 증가할수록 수동으로 보안 분석이 불가능하기 때문이다. 또 설정관리, 운영, 배포파일 등의 관리가 어렵다.

무엇보다 숙련된 보안 인력이 부족한 것이 가장 큰 어려움이다. 따라서 개발 단계부터 보안 요소가 적용되는 데브섹옵스가 필요하다는 것이 천종현 PL의 주장이다.

컨테이너 보안 시 단계별로 점검해야 하는 요소

천종현 PL은 컨테이너 보안시 단계별로 점검해야 하는 요소를 소개했다. 먼저 개발 단계에서 신뢰하는 이미지를 사용해야 한다. 이미지 취약점과 악성코드를 점검해야 하며, 컨테이너 구성문제를 확인해야 한다. 패스워드 하드코딩 문제도 확인할 필요가 있다.

실제로 개발자들이 많이 쓰는 도커허브 리포지토리의 이미지를 분석한 결과 약 51%의 이미지에서 심각한 취약점이 발견됐다. 퍼블릭 리포지토리에서 컨테이너 이미지 사용 시, 엄격한 정책과 점검 프로세스를 적용해야 하는 이유다.

저장소 보안 단계에서는 레지스트리(Registry)가 안전하게 연결됐는지 확인해야 한다. 오래된 이미지의 취약점과 레지스트리의 권한이 안전한지 점검해야 한다. 또 레지스트리의 불충분한 인증 요소를 제거하는 것도 과제다.

운영 환경 단계에서는 접근권한, 컨테이너 간 통신을 관리할 필요가 있다. 클러스터의 중요도에 따른 관리 설정을 해야 하며, 노드 신뢰성과 불충분한 런타임 구성을 확인해야 한다.

SK쉴더스는 컨테이너 보안과 글로벌 보안 제품인 아쿠아 엔터프라이즈와 파트너십을 맺고 기업들에게 기술지원을 하고 있다.

SK쉴더스는 컨테이너 보안 글로벌 보안 제품인 아쿠아 엔터프라이즈 공급업체와 파트너십을 맺고 기업들에게 기술지원을 하고 있다. 젠킨스와 같은 CICD 툴과 연계해 소스코드, 이미지 취약점을 스캐닝하고 등록된 이미지를 주기적으로 살피면서 보안위협에 대응한다. 실제 운영 환경, 호스트 기반의 인프라에서는 주로 컴플라이언스 기준으로 점검을 수행한다.

아울러 천종현 PL은 보안 솔루션을 선정하기 위한 세 가지 기준을 소개했다. 첫 번째는 조직에서 사용되고 있는 도구의 연동성 확인이다. 요즘 기업들은 개발과 배포 과정에서 다양한 도구를 사용하는데, 이때 보안 솔루션이 도구와 연동해 보안위협을 탐지하는지 확인해야 한다.

두 번째는 컨테이너 환경이 CaaS(Cloud as-a-Service)도 지원하는지 여부다. 세 번째는 외부 시스템과 연동해 심화 분석, 통합 모니터링을 할 수 있는 환경을 제공하는 것도 점검 요소다.

가시화를 통해 관리자가 직관적으로 보안위협을 확인할 수 있는 점도 중요하다. 보이지 않는 위협에 대응하기 어려운 만큼 어떻게 서비스가 구성됐는지, 컨테이너 간 통신이 올바르게 이뤄지고 있는지 확인할 수 있어야 한다.

또 컨테이너 간 통신이 올바르게 수행하고 있는지 살필 수 있어야 한다. 예를 들어, 취약점이 발견된 컨테이너가 어떻게 동작하는지 직관적으로 알 수 있어야 한다. 가시성을 확보하면 빠른 대응을 할 수 있기 때문이다.

글. 바이라인네트워크
<홍하나 기자>0626hhn@byline.network

관련 글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다