Kompania Microsoft publikoi një përmirësim të shpërndarjes CBL-Mariner 1.0.20210901 (Common Base Linux Mariner), e cila zhvillohet si një platformë themelore universale për ambientet Linux që përdoren në infrastrukturën cloud, sistemet edge dhe shërbime të ndryshme të Microsoft. Projekt është fokusuar në unifikimin e zgjidhjeve Linux që përdoren në Microsoft dhe thjeshtimin e mbajtjes në gjendje të përditësuar të sistemeve Linux për qëllime të ndryshme. Puna e projektit shpërndahet nën licencën MIT.
Në lëshimin e ri:
- Ka filluar formimi i imazhit bazë iso (700 MB). Në lëshimin e parë, imazhet ISO të gatshme nuk u ofruan, duke nënkuptuar se përdoruesi mund të krijojë vetë imazhin me përmbajtjen e nevojshme (instruksionet e ndërtimit janë përgatitur për Ubuntu 18.04).
- është realizuar mbështetje për përditësimin automatik të paketave, për të cilin është përfshirë aplikacioni Dnf-Automatic.
- Kernel-i Linux është përditësuar në versionin 5.10.60.1. Versionet e programeve janë përditësuar, duke përfshirë openvswitch 2.15.1, golang 1.16.7, logrus 1.8.1, tcell 1.4.0, gonum 0.9.3, testify 1.7.0, crunchy 0.4.0, xz 0.5.10, swig 4.0.2, squashfs-tools 4.4, mysql 8.0.26.
- Në OpenSSL është ofruar mundësia e rikthimit të mbështetjes për TLS 1 dhe TLS 1.1.
- Për verifikimin e kodit burimor të mjetit, është përdorur utilita sha256sum.
- Janë përfshirë paketa të reja: etcd-tools, cockpit, aide, fipscheck, tini.
- Janë fshirë paketat brp-strip-debug-symbols, brp-strip-unneeded dhe ca-legacy. Janë fshirë skedarët SPEC për paketat Dotnet dhe aspnetcore, të cilat tani ndihmohen nga ekipi kryesor i zhvilluesve .NET dhe janë vendosur në një depo të veçantë.
- Janë transferuar përmirësimet e vulnerabilitetit në versionet e përdorura të paketave.
Kujtojmë se shpërndarja CBL-Mariner ofron një grup të vogël tipik të paketave themelore, që shërbejnë si një bazë universale për krijimin e përmbajtjeve të kontejnerëve, ambienteve host dhe shërbimeve që funksionojnë në infrastrukturen cloud dhe në pajisjet edge. Zgjidhje më komplekse dhe të specializuara mund të krijohen duke shtuar paketa shtesë mbi CBL-Mariner, por baza për të gjitha sistemet e tilla mbetet e pandryshueshme, duke thjeshtuar mbështetje dhe përgatitjen e përditësimeve. Për shembull, CBL-Mariner përdoret si bazë e mini-shpërndarjes WSLg, e cila ofron komponentët e shtresës grafike për organizimin e ekzekutimit të aplikacioneve GUI Linux në ambientet e bazuara në nën-sistemin WSL2 (Windows Subsystem for Linux). Funksionaliteti i zgjeruar në WSLg realizohet përmes përfshirjes së paketimeve shtesë me kompozitë. serverin Weston, XWayland, PulseAudio dhe FreeRDP.
Sistemi i ndërtimit CBL-Mariner mundëson gjenerimin si të paketave individuale RPM mbi bazën e skedarëve SPEC dhe teksteve burimore, ashtu dhe të imazheve monolitike të sistemit, të cilat formohen me ndihmën e instrumenteve rpm-ostree dhe përditësohen në mënyrë atomike pa u ndarë në paketa të veçanta. Përkatësisht, mbështeten dy modele të shpërndarjes së përditësimeve: përmes përditësimit të paketimeve individuale dhe përmes rindërtimit dhe përditësimit të gjithë imazhit të sistemit. Një depo është në dispozicion, që përfshin rreth 3000 paketa RPM të ndërtuara tashmë, të cilat mund të përdoren për përbërjen e imazheve të vetat mbi bazën e skedës së konfigurimit.
Shpërndarja përfshin vetëm komponentet më të nevojshme dhe është optimizuar për konsum minimal të memories dhe hapësirës disk, si dhe për shpejtësi të lartë ngarkimi. Shpërndarja gjithashtu është e njohur për përfshirjen e mekanizmave të ndryshëm shtesë për rritjen e sigurisë. Në projekt aplikohet qasja "siguri maksimale premtuese". Ofron mundësinë e filtrimit të thirrjeve sistemore përmes mekanizmit seccomp, enkriptimin e ndarjeve të diskut, dhe verifikimin e paketave përmes nënshkrimit digjital.
Janë aktivizuar modet e mbështetura në kernelin Linux për randomizimin e hapësirës së adresave, si dhe mekanizmat për mbrojtjen nga sulmet të lidhura me lidhjet simbolike, mmap, /dev/mem dhe /dev/kmem. Për zonat e memories, në të cilat vendosen segmentet me të dhënat e kernelit dhe moduleve, është vendosur një modalitet vetëm për lexim dhe është ndaluar ekzekutimi i kodit. Opcionalisht, është e mundshme të ndalohet ngarkimi i moduleve të kernelit pas infrastrukturës së sistemit. Për filtrimin e paketave të rrjetit, është përdorur instrumenti iptables. Në fazën e ndërtimit, modalitetet e mbrojtjes nga mbushja e stack-ut, mbushjet e buffer-it dhe problemet me formatimin e vargjeve (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro) përfshihen si parazgjedhje.
Për menaxhimin e shërbimeve dhe ngarkesës përdoret menaxheri sistemik systemd. Për menaxhimin e paketave ofrohen menaxhuesit e pakos RPM dhe DNF (varianti tdnf nga vmWare). Serveri SSH nuk aktivizohet si parazgjedhje. Për të instaluar shpërndarjen ofrohet një instalues që mund të funksionojë në mënyra tekstuale dhe grafike. Në instalues, ofrohet mundësia e instalimit me një grup paketash të plota ose themelore, përshtatet një ndërfaqe për zgjedhjen e ndarjes së diskut, zgjedhjen e emrit të hostit dhe krijimin e përdoruesve.
Burimi: opennet.ru
