Hallo Reiner,
On Mon, Feb 16, 2015 at 14:39:50 +0100, Reiner Lange wrote:
Jetzt habe ich https://l3net.wordpress.com/projects/firejail/ entdectk. Da gibt es auch debian Pakete. Kennt das jemand? Abgesehen von exploits die einem root geben, sollte das doch jegliche Spinoage auf die daten einschränken, die ich pro App freigebe…
Ich wollte es schon mal ausprobieren, hatte aber damals noch keinen 3er-Kernel. Hab es vorhin auf Debian Wheezy aus Sourcen gebaut und kurz angetestet. Der Wheezy-Kernel (3.2) hat einige Funktionen noch nicht, die firejail gerne nutzen will (z.B. seccomp). Die Namespaces funktionieren aber soweit. Private Mounts, Network- und PID-Namespaces usw. klappen. Im firefox-Profil hat der Browser die PID 1.
Etwas erstaunt war ich, dass trotz privatem /tmp-Verzeichis (und damit Wegfall der Socket-Datei /tmp/.X11-unix/X0) der X-Server trotzdem erreicht werden konnte. Liegt daran, dass der X-Socket auch als Abstract Socket (erstes Zeichen ist @) vom Server bereitgestellt wird.
Anscheinend macht firejail auch massiven Gebrauch von bind-mounts. Im firefox-Profil wird z.B. das /bin/mount-Binary durch einen privaten bind-mount ueber die Datei unzugaenglich gemacht. Das .ssh-Verzeichnis des Users wird durch einen privaten tmpfs-Mount ausgeblendet.
Was wären die Alternativen, mit denen ich ohne große Verränkungen im täglichen Betrieb Desktop Apps Sandboxen kann?
LXC (Linux Containers) nutzt auch Namespaces, CGroups usw., ist aber im Setup etwas aufwendiger. Kenne ich bisher aber auch nur theoretisch, noch keine Praxiserfahrung.
Gruss, Chris