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 |
π Application Behavior 𧬠Process execs, File System accesses π§ Service binds, Ingress, Egress connections π¬ Sensitive system call profiling |
βοΈ Deployment Models βΈοΈ Kubernetes Deployment π Containerized Deployment π₯οΈ VM/Bare-Metal Deployment |
Architecture Overview
Documentation π
- π Getting Started
- π― Use Cases
- βοΈ KubeArmor Support Matrix
- π How is KubeArmor different?
- π Security Policy for Pods/Containers [Spec] [Examples]
- π Security Policy for Hosts/Nodes [Spec] [Examples]
Contributors π₯
- Contribution Guide
- π§βπ» Development Guide, Testing Guide
- πββοΈ Join KubeArmor Slack
- β FAQs
Biweekly Meetup
- π£οΈ Zoom Link
- π Minutes: Document
- π Calendar invite: Google Calendar, ICS file
Notice/Credits π€
- KubeArmor uses Tracee's system call utility functions.
CNCF
KubeArmor is Sandbox Project of the Cloud Native Computing Foundation.