Offcanvas

보안 / 애플리케이션 / 클라우드

리뷰 | 스택락스, '어려운' 컨테이너 보안의 '덜 어려운' 해법

2018.12.13 John Breeden II  |  CSO
클라우드 컴퓨팅과 데브옵스의 부상으로 컨테이너의 인기가 높아지고 있다. 그러나 사이버보안 분야만은 아직 이러한 트렌드를 완전히 따라잡지 못하고 있다. 클라우드용으로 제작된 보안 애플리케이션조차 컨테이너 환경을 보호하는 데 문제를 겪고 있다. 컨테이너 환경에서 인프라스트럭처는 상호 연결돼 있으면서도 서로 독립적인, 일련의 작은 클라우드의 모임을 구성한다. 이러한 정교하고 특수한 환경의 보안을 위해서는 여기에 맞게 개발된 방어툴이 필요하다. 

스택락스(StackRox)가 겨냥하는 것이 바로 이런 수요다. 스택락스는 쿠버네티스 오픈 소스 컨테이너 오케스트레이션 시스템을 통해 컨테이너화된 어떤 클라우드 환경과도 통합할 수 있다. 사실상 클라우드 컨테이너 인프라스트럭처의 일부라고 봐도 무방하다. 쿠버네티스를 써봤다면 이 시스템이 클라우드 컨테이너를 논리적 단위로 그룹화해 관리를 도와준다는 것을 잘 알 것이다. 스택락스와 쿠버네티스의 통합은 상당히 똑똑한 전략이다. 쿠버네티스는 컨테이너 배치를 단순화하는 데 필요한 여러 작업을 처리하고, 스택락스는 코드에 비주얼 레이어를 추가하는 역할을 한다. 이는 컨테이너를 보호하는 규칙을 자동으로 적용하는 손쉬운 방법이다.

스택락스 프로그램은 클라우드 내부에 있는 자체 서버에 있다. 물론 이는 대부분의 경우 프런트엔드 사용자 인터페이스를 구동하는 데 사용된다. 스택락스는 쿠버네티스와 완벽하게 통합돼 컨테이너 구축, 클라우드 인프라스트럭처 배포, 그리고 컨테이너의 본래 기능 수행 등 컨테이너 배포의 3단계를 모두 지원한다. 스택락스가 보호할 수 있는 컨테이너 수에는 제한이 없으며, 요금은 구동중인 노드 수에 따라 연간 이용권 방식으로 구매하면 된다.

스택락스 테스트
이번 테스트에서는 우선 일반적인 컨테이너형 클라우드 환경에서 스택락스를 실행했다. 새 컨테이너 생성을 시작으로, 스택락스는 우리가 무엇을 하는지 파악한 후 66개 보안 정책 리스트 중 몇 가지 모범 사례 보안 정책을 제안했다. 새로운 정책을 만들거나 기존 것을 수정하는 것은 간편했다. 그 후 새 컨테이너에 대해 벤치마크를 실행해 컨테이너 배치가 기존 네트워크 정책과 규정 준수 표준을 위반하는지 확인할 수 있었다. 

스택락스에서 수집한 모든 정보는 스택락스에서 사용할 수 있다. 스택락스가 쿠버네티스를 통해 실행되고 있기 때문이다. 이후 누가 클라우드를 생성했고, 어떤 정보가 그 안에 포함돼 있는지, 어떤 런타임 활동을 의도했는지와 운영 및 워크로드 컨텍스트 등을 쉽게 알 수 있다. 스택락스는 컨테이너가 생성될 때뿐 아니라 운영 과정에서 수상한 행동이나 보안상의 경고를 신속히 분석, 해결하도록 이러한 정보를 사용해 컨테이너를 안전하게 보호한다.

컨테이너 구성이 끝나면, 모든 보안 정책은 YAML 구성 파일에 통합되는데, 이는 클라우드 환경에서 새로운 컨테이너를 생성하는 것과 같다. 그러나 이것은 스택락스가 클라우드를 보호하는 첫 번째 단계일 뿐이다. 일단 배치되고 나면, 스택락스는 클라우드 환경에 대한 시각적 평가를 제공한다. 심지어 각 컨테이너가 서로, 그리고 외부와 상호작용하는 방식을 보여주기도 한다. 

스택락스는 전체 인프라스트럭처를 하나의 상호 운용 가능한 코드 시스템으로 취급하고, 이를 시각적으로 분류해 보안 실무자가 클라우드 전체를 하나의 물리적 자산처럼 볼 수 있도록 한다. 문제가 발생할 경우에도 보안 팀은 컨테이너에 미친 영향을 시각화하기 위해 애를 먹을 필요가 없다. 모든 요소의 상호작용을 나타내는 완전한 맵을 제공하기 때문이다.

일반적인 경우 컨테이너 클라우드를 시각화하는 것은 무척 어렵다. 하지만 스택락스는 컨테이너에 포함된 내용뿐 아니라 컨테이너와 상호작용하는 전체 생태계, 그리고 핵심 인프라스트럭처의 일부로 컨테이너를 통해 이동하는 프로세스까지 보여 준다. 

이번 테스트에서는 스택락스 보안의 런타임 단계와 배포를 테스트하기 위해 컨테이너에 몇 가지 취약성을 임의로 추가했다. 그러나 이러한 취약성이 대시보드에도 나타났고, 시각적 맵 상의 컨테이너 자체에서도 확인할 수 있었다. 우리가 의도적으로 도입한 취약성 요소 중에는 완전히 보호되지 않는 유출 기능도 있었다. 그러나 컨테이너 생성에 사용했던 YAML 파일을 가져와 이러한 취약성을 해결할 수 있었다. 스택락스가 제안한 수정안을 채택하자 스택락스는 컨테이너를 시뮬레이션된 환경에 배치했다. 이를 통해 제안한 수정안이 다른 컨테이너의 미친 영향과, 취약성을 가진 컨테이너와의 상호 작용에 결과 등을 볼 수 있었다.
  
스택락스는 무척 훌륭한 대시보드를 제공하지만 이를 사용하는 사람은 많지 않을 것이다. 대시보드가 전체 컨테이너 인프라를 코드처럼 취급하기 때문에 컨테이너 배치 전에 대부분 문제가 해결되고, 따라서 굳이 대시보드를 확인할 필요가 없기 때문이다. 어쨌든 컨테이너 운영을 한 눈에 빠르게 파악하고 싶다면 훌륭한 기능이다. 

이번 테스트에서는 중요 애플리케이션의 오염을 막기 위해 두 번째 컨테이너를 수정해야 했다. 이 모든 과정은 시뮬레이션 된 클라우드 환경에서 수행할 수 있었으며 실제 생산 환경에서 예상치 못한 일이 발생하는 것을 막을 수 있었다.

거듭 말하지만, 스택락스가 컨테이너에 대해 수집하고 유지하는 데이터양의 중요성은 아무리 강조해도 지나치지 않다. 또 다른 예에서 스택락스는 컨테이너 내부에서 악용될 수 있는 취약성을 발견했고, 심지어는 공격자가 사용하던 정확한 프로세스와 서비스, 그리고 왜 그러한 공격이 가능했는지까지 보여줬다. 또한 같은 취약성이 존재하는 다른 컨테이너와, 이들 중 실제로 공격받는 취약성이 있는지를 알려줬다.
  
스택락스는 컨테이너에 대해 거의 모든 것을 파악하고 있으므로 발견된 취약점 중 공격당하는 것이 있는지 빨리 알려주고, 공격 시도를 자동으로 차단한다.

실시간으로 발생하는 공격 상황에서 위험을 알리고 같은 취약성을 가진 다른 노드를 알려주는 이러한 기능은 컨테이너 보안에 있어서 매우 큰 가치가 있다. 관리자가 직접 정보를 수집할 경우 며칠씩 걸릴 수 있는 일인 데다, 모든 인스턴스를 다 탐지하리라는 보장도 없기 때문이다.

또한 스택락스가 각 컨테이너에서 파악할 정보가 있으므로, 전체 클라우드를 검색하기도 쉽다. 관리자는 예컨대 임금 대장 정보를 담고 있는 컨테이너나, 기타 특정 기능을 수행하는 컨테이너를 쉽게 찾을 수 있다. 스택락스는 거의 모든 인증 서비스와 쉽게 통합되므로 기능 또는 보안 수준에 따라 관리자를 구별해 접근하게 하는 것도 가능하다. 아마도 많은 경우 임금 대장 관리자는 그 기능을 가진 컨테이너에서만 작업하되 다른 컨테이너에 액세스하지 못하도록 설정하고 싶을 것이다. 아니면 특정 관리자에게는 읽기 전용 권한만을 부여하고 싶을 수도 있다. 스택락스에서는 이러한 설정이 모두 가능하므로 이로 인한 취약성이 발생하지 않는다.

결론
컨테이너 환경에서 클라우드 보안이 실패하는 이유는 문제 진단과 해결에 필요한 정보를 실무자가 빠르게 취합할 수 없기 때문이다. 스택락스는 클라우드 내부에서 중요 정보를 수집하는 쿠버네티스와 통합하고, 여기에 더 인간 친화적인 시각적 인터페이스를 더해 공격 발생 시 사건 분석 단계를 수일에서 수 분으로 줄인다. 무엇보다 스택락스는 컨테이너 빌드, 배치 및 런타임 프로세스 전체에 통합돼 컨테이너가 배치되기도 전에 대부분의 취약성을 제거할 수 있다. 

데브옵스 환경의 빠른 속도와 컨테이너 클라우드의 모호한 특성은 컨테이너 보안이 다른 보안과 다른 특수한 요건을 지니고 있음을 뜻한다. 스택락스는 이러한 수요를 간단하면서도 우아한 방식으로 충족시켜 복잡하고 어려운 컨테이너 보안을 사람의 눈에도 쉽게 이해하고 관리할 수 있도록 해준다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.