Deploy and use Falco to detect suspicious activity and runtime security events inside a Kubernetes cluster.
- Kubernetes cluster
kubectlconfigured- Helm installed
Add the Falco Helm repository:
helm repo add falcosecurity https://falcosecurity.github.io/charts
helm repo updateInstall Falco:
helm install --replace falco --namespace falco --create-namespace --set tty=true falcosecurity/falco✅ Falco daemonset is deployed to monitor syscalls on all cluster nodes.
kubectl get pods -n falco
kubectl logs -n falco -l app=falco✅ Falco should be logging system call events.
kubectl create deployment nginx --image=nginxkubectl exec -it $(kubectl get pods --selector=app=nginx -o name) -- cat /etc/shadow✅ Expected: Falco alerts on sensitive file access.
kubectl exec -it $(kubectl get pods --selector=app=nginx -o name) -- bash✅ Expected: Falco may alert on a shell being spawned in a container.
Inside the pod:
apt install wget
wget http://example.com✅ Expected: Falco alerts on wget.
Check Falco logs:
kubectl logs -l app.kubernetes.io/name=falco -n falco -c falco✅ You should see alerts for file access, shell execution or network activity.
kubectl delete deployment nginx
helm uninstall falco- ✅ Installed Falco with Helm
- ✅ Triggered multiple runtime security events
- ✅ Detected suspicious activity like file tampering, shell spawning, network access, and privilege escalation
- ✅ Practiced real-world runtime threat detection