[k8s] KubeArmor 1. 개요

Seunghyun Moon·2023년 5월 8일
0

KubeArmor

목록 보기
1/3


개요

KubeArmor는 샌드박스 프로젝트로, Kubernetes 및 기타 클라우드 워크로드에 대한 런타임 보호를 제공합니다.
KubeArmor는 eBPF 및 리눅스 보안 모듈(LSM)을 사용하여 런타임에 클라우드 네이티브 워크로드 상의 악의적인 동작을 제한하는 정책 기반 시스템을 제공합니다.

Architecture Overview

KubeArmor는 시스템 수준에서 포드, 컨테이너 및 노드(VM)의 동작(예: 프로세스 실행, 파일 액세스 및 네트워킹 작업)을 제한합니다.
KubeArmor는 LSM(AppArmor , SELinux 또는 BPF-LSM)을 활용해 사용자가 생성한 security policy를 enforce합니다.

Key Features

💪Harden Infr0astructure

KubeArmor는 사용자의 workload의 context를 분석하고 CIS, MITRE 같은 컴플라이언스나 attack framework 를 준수할 수 있는 hardening policy를 제공합니다.

사용자는 apply만 하면 됩니다.

💍Least Permissive Access

제로트러스트 보안을 실천하기 위해 리소스로의 액세스 정책은 관리 되어야 하고 계속해서 평가돼야합니다. 정책을 만족하지 않으면 바로 발견되고 조치돼야합니다.

allow-based policy를 사용해 쿠버네티스 클러스터의 보안 형상을 관리하고 비인가된 접근과 액티비티로부터 보호할 수 있습니다.

파드나 컨테이너가 실행할 수 있는 바이너리의 리스트만을 가진 정책을 적용하고 리스트에 없는 바이너리가 실행되면 거부하고 나중에 감사에 이용할 수 있습니다.

❄Network Segmentation

k8s network policy는 포드가 다른 포드와 통신하는 방법을 지정하는 쿠버네티스의 컴포넌트입니다.

KubeArmor의 discovery engine은 네트워크 연결을 감지하고 이를 기반으로 적절한 네트워크 정책을 만듭니다. 생성된 네트워크 정책은 k8s 네트워크 정책을 지원하는 모든 CNI를 사용하여 시행할 수 있습니다.(Cilium, Calico, AWS VPC CNI, Weeve 등)

🔭Application Behavior

KubeArmor는 application behavior를 summary 형태로 제공합니다.

Use Cases

  • 파드에 올라가있는 서비스 계정 토큰에 대한 액세스 차단
  • 디렉터리를 모니터링해 파일 무결성 확인
  • 프로세스 화이트리스팅
  • 포드에서 특정 바이너리 실행 거부
  • 특정 프로세스만 네트워킹 허용
profile
I live fullest

0개의 댓글