Firejail – Linux namespaces sandbox program
Firejail ist ein SUID (Set owner User ID up on execution) Sandbox-Programm, welches das Risiko von Sicherheitsverletzungen minimiert indem die Laufzeitumgebung von nicht vertrauenswürdigen Anwendungen mit „Linux-Namespaces“ beschränkt wird. Es erlaubt einen Prozess und all seine Nachkommen (child processes), ihren eigenen privaten Blick auf die gemeinsamen globalen Kernel-Ressourcen, wie beispielsweise den Netzwerk-Stack , die Prozesstabelle und die Mount-Tabelle zu haben.
Firejail kann jegliche Art von Prozesseen in einer Sandbox laufen lassen: Server, grafische Anwendungen und sogar User-Login-Sessions.
Firejail ist in C geschrieben und hat praktisch keine Abhängigkeiten und sollte somit auf nahezu jedem Linux-Computer mit einem 3.x Kernel laufen. Ein Arch-Linux-Paket ist im AUR gehalten.
Beispiele:
$ firejail
start a regular /bin/bash session in sandbox
$ firejail firefox
start Mozilla Firefox
$ firejail –debug firefox
debug Firefox sandbox
$ firejail –private
start a /bin/bash session with a new tmpfs home directory
$ firejail –net=br0 ip=10.10.20.10
start a /bin/bash session in a new network namespace; the session is
connected to the main network using br0 bridge device, an IP address
of 10.10.20.10 is assigned to the sandbox
$ firejail –net=br0 –net=br1 –net=br2
start a /bin/bash session in a new network namespace and connect it
to br0, br1, and br2 host bridge devices
$ firejail –list
list all running sandboxes