Un program obișnuit nu ar trebui să poată citi orice fișier din contul tău doar pentru că l-ai pornit. Aici intră în discuție Landlock, un mecanism din kernelul Linux care permite unei aplicații să își reducă singură accesul la fișiere, directoare și, în funcție de ABI-ul disponibil, anumite acțiuni de rețea. Ideea este utilă mai ales pentru cei care învață Linux pentru securitate defensivă: nu înlocuiește drepturile clasice, dar adaugă un strat practic de izolare.
Ce este Landlock, pe scurt
Landlock este un Linux Security Module, adică face parte din familia mecanismelor prin care kernelul aplică politici de acces. Documentația kernelului îl descrie ca pe un sistem de control al accesului neprivilegiat: procesele pot să se restricționeze pe ele însele și pe procesele-copil pe care le pornesc ulterior.
Diferența importantă este direcția. Landlock nu dă drepturi noi și nu relaxează regulile existente. Dacă utilizatorul nu are acces la un fișier prin permisiunile normale Linux, Landlock nu poate schimba asta. El poate doar să reducă accesul deja existent. Pentru bază, merită recitit și ghidul despre fișiere, permisiuni și procese în Linux, fiindcă Landlock lucrează peste aceste reguli, nu în locul lor.
De ce contează pentru aplicații obișnuite
În practică, multe aplicații desktop sau unelte de linie de comandă au mai mult acces decât le trebuie. Un editor de imagini nu are nevoie să vadă documentele fiscale. Un convertor de fișiere nu are nevoie să modifice directorul cu chei SSH. O unealtă de test nu ar trebui să scrie în zone care nu țin de proiectul curent.
Landlock ajută în scenariul în care aplicația este scrisă sau lansată astfel încât să intre într-un sandbox propriu. Politica se definește prin reguli: ce ierarhii de fișiere pot fi citite, unde se poate scrie, ce tipuri de acțiuni sunt gestionate. Manualul landlock(7) menționează trei apeluri principale folosite de dezvoltatori: landlock_create_ruleset(), landlock_add_rule() și landlock_restrict_self(). Pentru cititorul non-programator, mesajul simplu este acesta: aplicația își pregătește o listă de limite, apoi cere kernelului să le aplice.
Fără root nu înseamnă fără reguli
Partea interesantă este că Landlock poate fi folosit de procese neprivilegiate. Asta nu înseamnă că orice utilizator poate forța alte aplicații să intre într-o cușcă arbitrară. Înseamnă că un proces își poate limita propriul acces într-un mod acceptat de kernel.
Pentru aplicarea unui ruleset, manualul landlock_restrict_self(2) arată că apelantul trebuie fie să aibă CAP_SYS_ADMIN, fie thread-ul să aibă bitul no_new_privs setat. Documentația kernelului explică no_new_privs ca mecanism prin care un proces promite că execve() nu îi va aduce privilegii suplimentare. Odată setat, bitul este moștenit și nu poate fi dezactivat.
Această logică este importantă pentru securitate: un sandbox neprivilegiat trebuie să reducă riscul, nu să devină o metodă de a schimba comportamentul unor programe privilegiate.
Unde se potrivește în hardening
Landlock nu este înlocuitor pentru AppArmor, SELinux, permisiuni corecte, actualizări sau audit. Este mai degrabă un strat suplimentar, util când aplicația sau wrapperul ei știe să îl folosească. Într-un server real, izolarea aplicațiilor trebuie privită împreună cu serviciile active, utilizatorii, grupurile, permisiunile și logurile. Pentru partea de sistem, vezi și ghidul despre hardening de bază pe Ubuntu Server și analiza despre servicii active care nu ar trebui să ruleze.
Landlock este util și ca piesă de învățare pentru cariera cyber: te obligă să gândești în termeni de drepturi minime. Ce trebuie să citească aplicația? Unde are voie să scrie? Ce rămâne blocat dacă apare un bug? Aceste întrebări sunt mai valoroase decât memorarea unei comenzi.
Limite pe care trebuie să le știi
Există câteva capcane. Manualul precizează că fișierele sau directoarele deschise înainte de sandbox nu sunt supuse acelorași restricții Landlock. De asemenea, capabilitățile disponibile trebuie verificate după versiunea ABI Landlock, nu doar după versiunea kernelului, deoarece distribuțiile pot aduce backporturi.
Regulile de rețea apar în documentația man7 ca disponibile din ABI v4, dar asta nu înseamnă că orice sistem le are active sau că toate aplicațiile le folosesc. Abordarea sigură este „best effort”: detectezi ce suport oferă sistemul și aplici doar subsetul disponibil.
Pentru cine lucrează defensiv, concluzia practică este simplă: Landlock nu repară o aplicație vulnerabilă, dar poate reduce ce poate atinge acea aplicație dacă ceva merge prost. În combinație cu permisiuni corecte, pachete validate și monitorizare, devine un strat mic, dar foarte sănătos, în modelul de apărare Linux. Pentru lanțul de încredere al pachetelor, un pas complementar este validarea pachetelor Linux prin provenance și semnături.
Întrebări frecvente
Landlock îmi permite să rulez aplicații nesigure fără risc?
Nu. Landlock poate reduce accesul unei aplicații, dar nu repară vulnerabilități și nu înlocuiește actualizările, permisiunile corecte sau alte politici de securitate.
Am nevoie de administrator ca să folosesc Landlock?
Landlock este proiectat pentru procese neprivilegiate care se restricționează singure. Pentru aplicarea ruleset-ului, documentația cere fie CAP_SYS_ADMIN, fie no_new_privs setat.
Landlock înlocuiește AppArmor sau SELinux?
Nu. Landlock adaugă restricții peste controalele existente și nu relaxează politicile DAC sau LSM deja aplicate pe sistem.
De ce trebuie verificată versiunea ABI Landlock?
Funcțiile disponibile depind de ABI-ul Landlock oferit de sistem. Manualul recomandă folosirea versiunii ABI, nu doar a versiunii kernelului, deoarece unele distribuții pot avea backporturi.

















































