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 :small_blue_diamond: Protect critical paths such as cert bundles :chains: :small_blue_diamond: MITRE, STIGs, CIS based rules :clamp: :small_blue_diamond: Restrict access to raw DB table :left_luggage: |
π Least Permissive Access :small_blue_diamond: Process Whitelisting :traffic_light: :small_blue_diamond: Network Whitelisting :traffic_light: :small_blue_diamond: Control access to sensitive assets :control_knobs: |
βοΈ Network Segmentation :small_blue_diamond: Communication Graph between services/pods :spider_web: :small_blue_diamond: Generate k8s network policies :magic_wand: :small_blue_diamond: Keep policies in sync with app updates :inbox_tray: |
π Application Behavior :small_blue_diamond: Process execs, File System accesses :dna: :small_blue_diamond: Service binds, Ingress, Egress connections :compass: :small_blue_diamond: Sensitive system call profiling :microscope: |
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
- :page_facing_up: Minutes: Document
- :calendar: 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.