NixOS a implementat suport pentru construcții repetabile pentru imaginea iso

Dezvoltatorii distribuției NixOS au anunțat implementarea suportului pentru verificarea integrității imaginii ISO minime (iso_minimal.x86_64-linux) prin intermediul mecanismului de construcții repetabile. Anterior, construcțiile repetabile erau disponibile la nivelul pachetelor individuale, iar acum acestea au fost extinse și pentru întreaga imagine ISO. Orice utilizator poate genera o imagine ISO complet identică cu cea oferită pentru descărcare și se poate asigura că aceasta este construită din codurile sursă furnizate și că nu conține modificări ascunse. Pentru automatizarea verificării imaginii ISO NixOS prin intermediul construcțiilor repetabile, a fost pregătit un script special. În următoarea etapă, se intenționează sprijinirea construcțiilor repetabile pentru imaginea ISO completă cu desktop GNOME.

Construcțiile repetabile sunt un element important al securității, deoarece oferă posibilitatea de a verifica în mod independent că imaginile oferite de distribuție coincid byte cu byte cu cele construite personal din codurile sursă. Fără posibilitatea de a verifica identitatea unei construcții binare, utilizatorului nu-i rămâne decât să aibă încredere în infrastructura de construcție a altora, compromisuri ale compilatorului sau ale instrumentelor de construcție putând duce la introducerea de backdoor-uri ascunse. Pentru a asigura construcții repetabile, este necesar să se reproducă componentele și parametrii mediu de construcție, să se utilizeze versiuni identice ale programelor, dependențelor și componentelor de boot, să se excludă introducerea de date variabile (timestamp-uri, completări aleatorii etc.), precum și să se păstreze ordinea construcției fișierelor și livrării pachetelor în imaginea ISO.

Reamintim că distribuția NixOS se bazează pe managerul de pachete Nix și oferă o serie de dezvoltări proprii care simplifică configurarea și întreținerea sistemului. De exemplu, în NixOS este utilizat un singur fișier de configurare a sistemului (configuration.nix), se oferă posibilitatea de a reveni rapid la actualizări, există suport pentru comutarea între diverse stări ale sistemului, se susține instalarea de pachete individuale de către utilizatori (pachetul este instalat în directorul personal) și este posibilă instalarea simultană a mai multor versiuni ale aceleași aplicații. Când se folosește Nix, pachetele sunt instalate într-un arbore de directoare separat /nix/store sau într-un subdirector din directorul utilizatorului. De exemplu, un pachet este instalat ca /nix/store/f2b5…8a563-firefox-89.0.1/, unde „f2b5…” este un identificator unic al pachetului, folosit pentru controlul dependențelor.

Pachetele sunt structurate sub formă de containere care conțin componentele necesare pentru funcționarea aplicațiilor. Există posibilitatea de a defini dependențe între pachete, iar pentru a verifica existența dependențelor deja instalate se folosește scanarea hash-urilor identificatorilor în directorul pachetelor instalate. Este posibilă atât descărcarea pachetelor binare gata din repository (atunci când se instalează actualizări la pachetele binare, se descarcă doar modificările delta), cât și compilarea din sursele originare cu toate dependențele. Colecția de pachete este disponibilă într-un repository special Nixpkgs.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster