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 π¬ |
- π 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]
- Contribution Guide
- π§βπ» Development Guide, Testing Guide
- πββοΈ Join KubeArmor Slack
- β FAQs
- π£οΈ Zoom Link
- π Minutes: Document
- π Calendar invite: Google Calendar, ICS file
- KubeArmor uses Tracee's system call utility functions.
KubeArmor is Sandbox Project of the Cloud Native Computing Foundation.