Background
CoreWeave reinforces network security and observability at multiple levels. These levels include programmable BlueField-3 data processing units (DPUs), container network interface (CNI) plugins such as Cilium with eBPF, and runtime tools such as Cilium Tetragon. This approach provides workload isolation, auditability, and real-time detection.Purpose
The configuration supports the following security goals:- Security observability: When you configure Tetragon with eBPF, you gain insight into security events and anomalies within your Kubernetes clusters. Tetragon provides runtime visibility into container behavior. It can track specific system calls, such as
execve, to create an auditable trail of process executions. - Auditing and compliance: This setup helps you assess compliance with security policies by showing which operations run within your cluster.
Prerequisites
Before you begin, make sure you have the following:- A CoreWeave Kubernetes Service (CKS) cluster is in place.
- Helm is installed to manage Kubernetes packages.
- The
jqcommand-line processor is installed to filter JSON event logs. - Linux kernel version 4.19 or later with BPF Type Format (BTF) support on your Nodes. For full functionality on Arm64, use kernel version 5.10 or later.
Configuration steps
Configure Tetragon and its audit policy in the following stages.Add and install Tetragon through Helm
Tetragon provides the eBPF-based runtime monitoring agent that runs as a DaemonSet on every Node. Add the Cilium Helm chart repository and install Tetragon in your cluster’skube-system namespace.
Verify the DaemonSet and logs
Before you apply policies, confirm Tetragon is running correctly.Enable audit policies
Audit policies specify which kernel events Tetragon observes. This example monitors process execution events so you can build an auditable trail of commands run inside your cluster.-
Create an example policy file (for example,
exec-policy.yaml):exec-policy.yaml -
Apply the policy:
View security events
After you apply the policy, Tetragon emits an event each time a matching syscall occurs. Tetragon runs on every Node, so read events from the Tetragon Pod on the same Node as the monitored workload.Test the policy
Confirm that theexec-audit policy emits an event for a command in a test Pod:
-
Create a test Pod and wait for it to become ready:
-
Identify the Node that runs the test Pod and the Tetragon Pod on that Node:
-
In the same terminal, stream events from the
export-stdoutcontainer and filter for events from theexec-auditpolicy and test Pod: -
In a second terminal, run a command in the test Pod:
The first terminal displays a
process_kprobeevent withpolicy_nameset toexec-audit. The event includes the command path, arguments, and Pod context. -
Stop the log stream, then delete the test Pod:
Customize policies
After the base policy works, you can scope monitoring to the events most relevant to your security posture. The exampleexec-policy.yaml monitors all process executions. You can create more targeted policies:
Tetragon loads eBPF programs into the Node kernel to provide runtime visibility into your workloads.