The Landrun project develops a non-privileged application isolation system.

Projektet Landrun har startet udviklingen af et nyt system til isoleret udførelse af individuelle applikationer. Til isoleringen anvendes LSM-modulet i Linux-kernen Landlock, som gør det muligt at undgå udførelse af privilegerede operationer under oprettelsen af et sandbox-miljø. I forhold til sine funktioner ligner Landrun værktøjet Firejail, men adskiller sig ved en lettere implementering, lav vægt og muligheden for at arbejde under en almindelig ikke-privilegeret bruger uden at skulle køre med suid-flaget. Projektets kode er skrevet i Go og distribueres under GPLv2-licensen.

Landlock-mekanismen gør det muligt for ikke-privilegerede programmer at begrænse brugen af Linux-kernelobjekter, såsom filhierarkier, netværkssokler og ioctl. I modsætning til navnerum og filtrering af systemopkald dannes det isolerede miljø af Linux-kernen i form af et ekstra lag over de eksisterende systemmekanismer til adgangskontrol. For at interagere med Landlock-subsystemet anvendes go-landlock-biblioteket fra udviklerne af LandLock i landrun-værktøjet.

Landrun reducerer risikoen for kompromittering af det primære system, når der køres upålidelige eller potentielt sårbare programmer. Blandt funktionerne bemærkes understøttelse af selektiv begrænsning af adgang på niveau med enkelte kataloger, binding af rettigheder til filstier (tilladelse eller forbud mod læsning, skrivning og udførelse) samt kontrol over initiationen og modtagelse af TCP-forbindelser.

For eksempel kan Landrun forbyde en proces at køre eksekverbare filer, tillade skrivning kun i et bestemt underkatalog med data, forbyde oprettelse af lytte-sokler til modtagelse af netværksforbindelser og tillade udsendelse af netværksanmodninger kun til angivne TCP-porte. I det simpleste tilfælde kan man forbyde skrivning, kørsel og netværksmuligheder ved at køre programmet med kommandoen «landrun —ro /», mens man til isolering af nginx kan bruge: landrun —rox /usr/bin —ro /lib,/lib64,/var/www —rwx /var/log —bind-tcp 80,443 /usr/bin/nginx.

I fremtidsplanerne nævnes udvidet adgangskontrol til filsystemet, support for UDP og procesressourcestyring. For at begrænse adgangen på filsystemniveau kræves mindst Linux-kernen 5.13, og for netværksbegrænsninger er det 6.8.

Det kan desuden nævnes, at der allerede er blevet foretaget ændringer i Firejail's kodebase, der muliggør brugen af Landlock-kernens under-system til isolation uden suid-bit og forhøjede privilegier, men udgivelsen med denne support er endnu ikke offentliggjort.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster