Lock down applications with fine-grained security controls. Define what files they can access, which network connections they can make, and what programs they can run - all without modifying the application itself.
/ demo
Watch how BpfJailer sandboxes a process and blocks unauthorized file access, network connections, and program execution in real-time.
/ what it does
Decide which files and directories an application can read or write. Block access to sensitive system files automatically.
Restrict which ports and protocols an application can use. Allow only the connections your app actually needs.
Prevent applications from spawning shells or running other programs. Stop attackers from executing malicious code.
/ use cases
Lock down your web servers to only serve content on ports 80/443. Even if an attacker finds a vulnerability, they can't access your database or make outbound connections.
Add an extra layer of security to Docker containers. BpfJailer enforces policies at the kernel level, providing defense-in-depth for containerized apps.
Give each service only the permissions it needs. Your API gateway can accept connections, but your background workers stay isolated from the network.
Running third-party scripts or plugins? Sandbox them so they can't access files or network resources outside their designated area.
/ protection
Block attackers from reading sensitive files like passwords, configs, or customer data.
Stop attackers from establishing connections back to their servers to control your system.
Prevent malware from downloading and running crypto mining software on your servers.
Block applications from being tricked into accessing internal services or cloud metadata endpoints.
Prevent attackers from reading password files or modifying system configuration.
Stop attackers from exploiting input fields to run shell commands on your server.
/ security profiles
Choose from ready-to-use profiles or create custom ones. Each role defines what the application can and cannot do.
| Role | File Access | Network | Run Programs |
|---|---|---|---|
| restricted | Blocked | Blocked | Blocked |
| permissive | Allowed | Allowed | Allowed |
| webserver | Allowed | HTTP/HTTPS only | Blocked |
| database | Allowed | DB ports only | Blocked |
| isolated | Allowed | Blocked | Blocked |
| web_with_db | Allowed | Web + DB ports | Blocked |
| worker | Allowed | HTTPS + queues | Allowed |
/ comparison
Traditional MAC solutions like SELinux are powerful but complex. BpfJailer offers a simpler, more flexible approach.
| Feature | BpfJailer | SELinux |
|---|---|---|
| Setup Complexity | Simple JSON policies | Complex policy language |
| Learning Curve | Minutes to start | Weeks to master |
| Per-Process Control | Easy enrollment API | Requires policy contexts |
| Dynamic Policies | Runtime changes | Requires recompilation |
| Network Filtering | Per-port rules built-in | Limited, needs iptables |
| Container Support | Works alongside Docker | Often disabled in containers |
| Kernel Module | No compilation needed | Built into kernel |
/ how it works
Run the BpfJailer daemon on your server. It loads security policies and monitors all processes.
Enroll your application with a security role. The role determines what the app can access.
Your app is now sandboxed. Any action outside its role permissions is automatically blocked.
Add an extra layer of security to any Linux application. No code changes required.