/KubeArmor

Cloud-native Runtime Security Enforcement System. [CNCF Sandbox Project]

Primary LanguageGoApache License 2.0Apache-2.0

KubeArmor Logo

Build Status CII Best Practices Slack Discussions

KubeArmor is a cloud-native runtime security enforcement system that restricts the behavior (such as process execution, file access, and networking operations) of pods, containers, and nodes (VMs) at the system level.

KubeArmor leverages Linux security modules (LSMs) such as AppArmor, SELinux, or BPF-LSM to enforce the user-specified policies. KubeArmor generates rich alerts/telemetry events with container/pod/namespace identities by leveraging eBPF.

πŸ’ͺ Harden Infrastructure
πŸ”Ή Protect critical paths such as cert bundles ⛓️
πŸ”Ή MITRE, STIGs, CIS based rules πŸ—œοΈ
πŸ”Ή Restrict access to raw DB table πŸ›…
πŸ’ Least Permissive Access
πŸ”Ή Process Whitelisting πŸš₯
πŸ”Ή Network Whitelisting πŸš₯
πŸ”Ή Control access to sensitive assets πŸŽ›οΈ
❄️ Network Segmentation
πŸ”Ή Communication Graph between services/pods πŸ•ΈοΈ
πŸ”Ή Generate k8s network policies πŸͺ„
πŸ”Ή Keep policies in sync with app updates πŸ“₯
πŸ”­ Application Behavior
πŸ”Ή Process execs, File System accesses 🧬
πŸ”Ή Service binds, Ingress, Egress connections 🧭
πŸ”Ή Sensitive system call profiling πŸ”¬

Architecture Overview

KubeArmor High Level Design

Documentation πŸ““

Contributors πŸ‘₯

Biweekly Meetup

Notice/Credits 🀝

  • KubeArmor uses Tracee's system call utility functions.

CNCF

KubeArmor is Sandbox Project of the Cloud Native Computing Foundation. CNCF SandBox Project