Falco Runtime Security
Falco for container runtime security with Sidekick for alerts.
Overview
Falco is an open-source runtime security tool originally developed by Sysdig and now maintained by the Cloud Native Computing Foundation (CNCF). It acts as a behavioral activity monitor designed to detect anomalous activity in applications by monitoring kernel system calls and alerting on suspicious behaviors based on configurable rules. Falco excels at identifying container escapes, privilege escalations, unauthorized file access, and network anomalies in real-time.
This stack combines Falco's core detection engine with Falcosidekick, which serves as an event forwarding hub that can route Falco alerts to over 50 different outputs including Slack, PagerDuty, Elasticsearch, and webhooks. The Falcosidekick UI provides a web-based dashboard for visualizing security events, viewing rule violations, and analyzing threat patterns over time. Together, these components create a comprehensive runtime security monitoring solution that not only detects threats but also ensures they reach the right people through appropriate channels.
Security teams at organizations running containerized workloads will find this stack invaluable for maintaining runtime visibility and compliance. Unlike static security scanning tools that only analyze images before deployment, this combination provides continuous monitoring of actual runtime behavior, making it essential for detecting zero-day exploits, insider threats, and sophisticated attacks that bypass traditional perimeter defenses. The multi-channel alerting ensures critical security events never go unnoticed.
Key Features
- Real-time kernel syscall monitoring with eBPF and kernel module drivers for comprehensive container behavior analysis
- Pre-built detection rules for MITRE ATT&CK techniques including container escapes, privilege escalation, and lateral movement
- Multi-output alert routing through Falcosidekick supporting Slack, Teams, PagerDuty, SIEM systems, and custom webhooks
- Web-based security dashboard with event visualization, rule violation statistics, and historical trend analysis
- Custom rule engine supporting Falco's domain-specific language for creating organization-specific security policies
- Integration with container orchestrators including Docker, Kubernetes, and containerd for runtime context enrichment
- JSON-formatted structured logging with detailed process genealogy and container metadata for forensic analysis
- High-performance event processing capable of monitoring thousands of containers with minimal performance impact
Common Use Cases
- 1Enterprise security teams implementing runtime threat detection for production Kubernetes clusters and container environments
- 2Financial institutions requiring real-time monitoring for regulatory compliance and detecting unauthorized access to sensitive data
- 3DevSecOps teams building security-first CI/CD pipelines with runtime behavioral analysis and automated incident response
- 4Cloud service providers offering managed container platforms with built-in security monitoring and tenant isolation verification
- 5Healthcare organizations protecting HIPAA-compliant containerized applications from insider threats and data exfiltration
- 6Government agencies monitoring classified workloads for advanced persistent threats and supply chain attacks
- 7Managed service providers delivering security operations center (SOC) services with centralized threat detection across multiple clients
Prerequisites
- Linux host with kernel headers installed and either eBPF support (kernel 4.14+) or ability to load kernel modules
- Docker Engine with privileged container support enabled for Falco's kernel-level system call monitoring
- Minimum 512MB RAM for Falco engine plus additional memory based on container density and event volume
- Understanding of Linux system calls, container security concepts, and familiarity with security incident response procedures
- Network access on ports 2801 (Falcosidekick API) and 2802 (Falcosidekick UI) with appropriate firewall configurations
- Administrative privileges to mount host filesystems and access Docker socket for comprehensive container visibility
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 falco: 3 image: falcosecurity/falco:latest4 container_name: falco5 restart: unless-stopped6 privileged: true7 volumes: 8 - /var/run/docker.sock:/host/var/run/docker.sock:ro9 - /dev:/host/dev:ro10 - /proc:/host/proc:ro11 - /boot:/host/boot:ro12 - /lib/modules:/host/lib/modules:ro13 - /usr:/host/usr:ro14 - /etc:/host/etc:ro15 networks: 16 - falco-network1718 falcosidekick: 19 image: falcosecurity/falcosidekick:latest20 container_name: falcosidekick21 restart: unless-stopped22 ports: 23 - "${SIDEKICK_PORT:-2801}:2801"24 environment: 25 - WEBUI_URL=http://falcosidekick-ui:280226 depends_on: 27 - falco28 networks: 29 - falco-network3031 falcosidekick-ui: 32 image: falcosecurity/falcosidekick-ui:latest33 container_name: falcosidekick-ui34 restart: unless-stopped35 ports: 36 - "${UI_PORT:-2802}:2802"37 depends_on: 38 - falcosidekick39 networks: 40 - falco-network4142networks: 43 falco-network: 44 driver: bridge.env Template
.env
1# Falco Runtime Security2SIDEKICK_PORT=28013UI_PORT=2802Usage Notes
- 1Sidekick UI at http://localhost:2802
- 2Requires privileged mode
- 3Monitors syscalls in real-time
- 4Configure alerting outputs in Sidekick
Individual Services(3 services)
Copy individual services to mix and match with your existing compose files.
falco
falco:
image: falcosecurity/falco:latest
container_name: falco
restart: unless-stopped
privileged: true
volumes:
- /var/run/docker.sock:/host/var/run/docker.sock:ro
- /dev:/host/dev:ro
- /proc:/host/proc:ro
- /boot:/host/boot:ro
- /lib/modules:/host/lib/modules:ro
- /usr:/host/usr:ro
- /etc:/host/etc:ro
networks:
- falco-network
falcosidekick
falcosidekick:
image: falcosecurity/falcosidekick:latest
container_name: falcosidekick
restart: unless-stopped
ports:
- ${SIDEKICK_PORT:-2801}:2801
environment:
- WEBUI_URL=http://falcosidekick-ui:2802
depends_on:
- falco
networks:
- falco-network
falcosidekick-ui
falcosidekick-ui:
image: falcosecurity/falcosidekick-ui:latest
container_name: falcosidekick-ui
restart: unless-stopped
ports:
- ${UI_PORT:-2802}:2802
depends_on:
- falcosidekick
networks:
- falco-network
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 falco:5 image: falcosecurity/falco:latest6 container_name: falco7 restart: unless-stopped8 privileged: true9 volumes:10 - /var/run/docker.sock:/host/var/run/docker.sock:ro11 - /dev:/host/dev:ro12 - /proc:/host/proc:ro13 - /boot:/host/boot:ro14 - /lib/modules:/host/lib/modules:ro15 - /usr:/host/usr:ro16 - /etc:/host/etc:ro17 networks:18 - falco-network1920 falcosidekick:21 image: falcosecurity/falcosidekick:latest22 container_name: falcosidekick23 restart: unless-stopped24 ports:25 - "${SIDEKICK_PORT:-2801}:2801"26 environment:27 - WEBUI_URL=http://falcosidekick-ui:280228 depends_on:29 - falco30 networks:31 - falco-network3233 falcosidekick-ui:34 image: falcosecurity/falcosidekick-ui:latest35 container_name: falcosidekick-ui36 restart: unless-stopped37 ports:38 - "${UI_PORT:-2802}:2802"39 depends_on:40 - falcosidekick41 networks:42 - falco-network4344networks:45 falco-network:46 driver: bridge47EOF4849# 2. Create the .env file50cat > .env << 'EOF'51# Falco Runtime Security52SIDEKICK_PORT=280153UI_PORT=280254EOF5556# 3. Start the services57docker compose up -d5859# 4. View logs60docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/falco-runtime-security/run | bashTroubleshooting
- Falco fails to start with 'unable to load kernel module': Install kernel headers matching your kernel version or enable eBPF support with FALCO_BPF_PROBE environment variable
- High CPU usage and performance degradation: Tune Falco rules to reduce noise by disabling overly verbose rules or adjusting syscall sampling rates in falco.yaml configuration
- Falcosidekick UI shows no events despite Falco running: Verify Falco is configured to send events to Falcosidekick by adding '--http_output.url=http://falcosidekick:2801' to Falco startup parameters
- Permission denied errors accessing /dev, /proc, or /sys: Ensure Falco container runs in privileged mode and all required host paths are mounted with appropriate read permissions
- Missing events from specific containers: Check that Docker socket is properly mounted and Falco has visibility into the container runtime by verifying /var/run/docker.sock accessibility
- Falcosidekick webhook delivery failures: Configure retry policies and verify target endpoint SSL certificates, network connectivity, and authentication credentials in Falcosidekick environment variables
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Components
falcofalcosidekickfalcosidekick-ui
Tags
#falco#runtime-security#container-security#monitoring#alerting
Category
Security & NetworkingAd Space
Shortcuts: C CopyF FavoriteD Download