본문 바로가기
개발/클라우드

클라우드 보안 - 대표적 보안 기술 : Container

by 컴쏘 2023. 7. 24.

Container

애플리케이션과 애플리케이션을 실행하는데 필요한 환경을 별도로 모듈화하여 격리한 공간

 

기존의 가상 서버 vs Container

출처 : 국가정보자원관리원

  • 기존의 가상 서버 : 운영체제를 필요하기 때문에, 전체적인 부팅과 사용하지 않는 리소스도 동작하는 시간이 필요
  • Container : 모듈화된 프로그램 패키지로써 프로세스 수준으로 동작하기 때문에 가볍고 빠르게 동작 가능
항목  가상서버 컨테이너
가상화 레벨 하드웨어 가상화 OS 레벨 가상화
가상화 OS 독립적인 OS 가상화 지원 (Host OS와 다른 OS에서 동작 가능) 여러 컨테이너가 호스트 OS 공유
Isolation(독립성) OS 레벨의 격리 프로세스 레벨의 격리
보안 수준 높은 보안성 가상 서버 대비 낮은 보안성
장점 하드웨어 가동률의 향상, 다양한 OS 적용 가능 적은 HW 오버헤드로 높은 가용성 제공, 플랫폼에 상관 없이 실행
단점 자원 소비율이 높고 가동 시간 필요 컨테이너 수가 많아지면 관리와 운영이 어려움

 

Container의 장점

  • 큰 애플리케이션을 작은 서비스 단위로 나누어 개발함으로써 구동 환경이 달라 발생하는 특정한 서비스 이슈가 전체 서비스로 확산하는 것을 줄일 수 있음
  • container로 수요의 증가나 감소에 따라 서비스 확대/축소를 자유롭게 수행 가능

 

Container image 무결성 보장 기술

Container image에 대한 서명 값 생성과 사용 전 검증 수행

 

[참고 글] : 컨테이너 인스턴스에 대한 보안 고려 사항 - Azure Container Instances

 

  • 취약성이 있는 이미지는 그 취약성이 사소하더라도 프로덕션 환경에서 실행되지 않도록 함
  • 공개적으로 사용 가능한 컨테이너 이미지에서 소프트웨어의 출처를 찾아내는 것은 어렵기 때문에 원본에서 이미지를 빌드하여 레이어의 출처를 알 수 있도록 함
  • 최신 상태가 아니거나 잠시 동안 업데이트되지 않은 이미지를 식별하기 위해 프로덕션 환경에 배포된 이미지를 주기적으로 확인
  • 보안 검색 스캔이 통합된 CI(연속 통합) 파이프라인을 사용하여 보안 이미지를 빌드한 후 프라이빗 레지스트리로 push

 

+) 추가 지식 : 골드 환경(골드 이미지)

사전에 보안 설정을 적용하여 직접 구축한 이미지 또는 생성 스크립트

따라서, 해당 이미지를 통해 별도의 보안 요소를 추가로 정의하지 않고 보안 정책이 적용된 개별 자원을 바로 생성할 수 있음

 

Container 수준의 isolation(격리) 기술

[참고 글] : [보안동향] 성공적인 ‘컨테이너 플랫폼’ 운영을 위한 5가지 보안Tip! - LG CNS

 

컨테이너형 서버

물리적인 서버 위에 서버운영체제(OS), 그 위에 도커 엔진 또는 컨테이너 런타임이 설치되며,그 위에 여러 개의 컨테이너가 동작하는 형태

  • CPU, 메모리, 디스크, 네트워크와 같은 운영체제의 자원을 필요한 만큼 격리해 컨테이너에 할당
  • 컨테이너 : 일종의 격리된 공간 → 별도의 게스트OS 없이 런타임과 바이너리, 데이터만으로 애플리케이션이 구동

마이크로서비스 아키텍처

  • 컨테이너 방식의 플랫폼을 활용해 거대한 애플리케이션을 기능별로 쪼개고, 개별 컨테이너에 경량화된 단위 서비스를 배포
  • 컨테이너별 변경 사항이 다른 서비스에 영향 미치지 않아서, 전체 서비스를 하면서도 독립적으로 구성 가능

위협 : 호스트OS에 대한 보안 위협

컨테이너는 프로세스가 격리되는 구조이지만, 호스트OS의 공유 커널을 사용하게 되면 하이퍼바이저보다 공격 범위가 커질 수 있으므로, 호스트OS상의 취약점은 실행되는 모든 컨테이너에 영향을 줌. 따라서, 불필요한 서비스와 계정의 제거 등 호스트OS 취약점을 제거해야 함


황치하, 양지언, 『클라우드X보안 실무 가이드』 (부천:프리렉, 2020)
책의 내용을 공부하고 정리한 글입니다.