Sandboxing auf Linux mit Go-Landlock
Am 7.12.2022 hat ein spontaner Vortrag über “Go-Landlock” stattgefunden.
Landlock ist eine unprivilegierte Sandboxing-Technologie, die 2021 mit dem Linux-Kernel in Version 5.13 Einzug gehalten hat und inzwischen in vielen Linux-Distributionen nutzbar ist.
Landlock ist insbesondere für Software-Entwickler interessant, die die unbenötigten Zugriffsrechte ihrer eigenen Software einschränken wollen, (a) ohne dafür root-Rechte zu besitzen, und die sich (b) nicht darauf verlassen wollen, dass klassische Security-Lösungen wie AppArmor oder SELinux dort verfügbar sind, wo die Software später läuft.
Konzeptionell ist Landlock verwandt mit OpenBSD’s pledge()
und unveil()
, sowie Seccomp-BPF auf Linux.
Der Vortrag erklärt Landlock anhand der Go-Bibliothek Go-Landlock. Die Verwendung von Go-Landlock ist einfach und besteht aus einem einzigen Funktionsaufruf an einer strategisch geschickten Stelle während der Programminitialisierung.
- Slides: https://blog.gnoack.org/talks/go-landlock (Englisch)
- Zusammenfassung: https://blog.gnoack.org/post/go-landlock-talk (Englisch)
- Go-Landlock-Code: https://github.com/landlock-lsm/go-landlock
- Landlock-Projekt: https://landlock.io