본문 바로가기

CKS

[CKS] MMV - Container runtime sandboxes (gvisor, kata)

Minimize Microservice Vulnerabilities (20%)

 - Setup appropriate OS level security domains
 - Manage Kubernetes secrets
 - Use container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)
 - Implement pod to pod encryption by use of mTLS


Container Runtime Sandboxes

컨테이너화된 환경에서 프로세스를 격리하고 보안을 강화하기 위해 사용되는 기술

 

 

 

특징

  • 가상화를 통한 프로세스, 시스템 자원 격리
  • 보안강화 : 애플리케이션, 서비스가 격리된 환경에서 실행되므로 보안 취약점을 최소화함
  • 애플리케이션 실행 시 성능저하가 발생할 수 있음

 

종류

  • gVisor : 컨테이너와 호스트 운영체제 중간에 사용자 수준의 가상화를 통해 컨테이너가 gViosr의 가상 커널을 호출하도록 처리함. 
  • runsc : gVisor의 핵심 구성요소. gVisor와 Kubernetes간 interface를 담당.
  • Kata Containers : 컨테이너를 가상 머신에서 실행하여 추가적인 보안과 격리를 제공하는 오픈소스 프로젝트.

 

Building a Sandbox

1. Install gVisor Runtime

2. Configure containerd

3. Create a RuntimeClass

 - RuntimeClass : pod가 사용할 runtimeclass를 선택할 수 있게 함.

apiVersion: node.k8s.io/v1
kind: RuntimeClass
metadata:
  name: runsc-sandbox
  handler: runsc
apiVersion: v1
kind: Pod
metadata:
name: sandbox-pod
spec:
  runtimeClassName: runsc-sandbox  # define runtime name
  containers:
  - name: busybox
    image: busybox
    command: ['sh', '-c', 'while true; do echo "Running..."; sleep 5; done']

 

'CKS' 카테고리의 다른 글

[CKS] Supply Chain Security - Analyzing Dockerfile  (0) 2024.02.19
[CKS] MMV - mTLS  (0) 2024.02.02
[CKS] OPA Gatekeeper  (0) 2024.01.29
[CKS] System Hardening - AppArmor  (1) 2024.01.24
[CKS] System Hardening - Pod Security  (0) 2024.01.23