Projekt Landrun zahájil vývoj nového systému pro izolované spouštění jednotlivých aplikací. Pro izolaci se využívá LSM-modul jádra Linux Landlock, který umožňuje obejít se bez provádění privilegovaných operací při vytváření sandboxového prostředí. Svými úkoly je Landrun blízký utilitě Firejail, ale liší se jednodušší implementací, lehkostí a možností práce pod běžným neprivilegovaným uživatelem bez dodání s příznakem suid. Kód projektu je napsán v jazyce Go a šíří se pod licencí GPLv2.
Mechanismus Landlock umožňuje neprivilegovaným programům omezit použití objektů jádra Linux, jako jsou hierarchie souborů, síťové sockety a ioctl. Na rozdíl od prostorů názvů a filtrování systémových volání je izolované prostředí vytvářeno jádrem Linux ve formě další vrstvy nad existujícími mechanismy správy přístupu. Pro interakci se subsystémem Landlock se v utilitě landrun používá knihovna go-landlock od vývojářů LandLock.
Landrun umožňuje snížit riziko kompromitace hlavního systému při spouštění nedůvěryhodných nebo potenciálně zranitelných programů. Z funkcí se uvádí podpora výběrového omezení přístupu na úrovni jednotlivých adresářů, vazba oprávnění na cesty k souborům (povolení nebo zákaz čtení, zápisu a provádění) a kontrola nad iniciací a příjmem TCP spojení.
Například pomocí Landrun lze procesu zakázat spouštění spustitelných souborů, povolit zápis pouze do konkrétního podsložky s daty, zakázat vytváření naslouchajících socketů pro příjem síťových spojení a povolit zasílání síťových požadavků pouze na určené TCP porty. V nejjednodušším případě pro zákaz zápisu, spouštění a síťových možností lze program spustit příkazem „landrun —ro /“, a pro izolaci nginx lze použít: landrun —rox /usr/bin —ro /lib,/lib64,/var/www —rwx /var/log —bind-tcp 80,443 /usr/bin/nginx
V plánech do budoucna se zmiňuje rozšířené řízení přístupu k souborovému systému, podpora UDP a správa systémových zdrojů procesů. Pro omezení přístupu na úrovni souborového systému je vyžadováno alespoň jádro Linux 5.13, a pro síťová omezení pak 6.8.
Dále lze zmínit, že do kódu Firejail byly již přijaty změny, které umožňují využití pod systému jádra Landlock pro izolaci bez suid-bitů a zvyšování privilegií, ale vydání s touto podporou ještě nebylo publikováno.
Zdroj: opennet.ru
