Microsoft heeft een update gepubliceerd voor de CBL-Mariner 1.0.20210901 distributie (Common Base Linux Mariner), die zich ontwikkelt als een algemene basisplatform voor Linux-omgevingen die in cloudinfrastructuren, edge-systemen en verschillende Microsoft-diensten worden gebruikt. Het project is gericht op het uniformeren van de Linux-oplossingen die bij Microsoft worden toegepast en het vereenvoudigen van het onderhoud van Linux-systemen voor verschillende doeleinden. De resultaten van het project worden verspreid onder de MIT-licentie.
In de nieuwe release:
- De basis ISO-afbeelding (700 MB) is begonnen te worden gevormd. In de eerste uitgave werden er geen kant-en-klare ISO-afbeeldingen geleverd, het was de bedoeling dat de gebruiker zelf een afbeelding kon maken met de benodigde inhoud (bouwinstructies zijn voorbereid voor Ubuntu 18.04).
- Ondersteuning voor automatische pakketupdates is geĆÆmplementeerd, waarvoor de applicatie Dnf-Automatic is opgenomen.
- De Linux-kernel is bijgewerkt naar versie 5.10.60.1. De versies van verschillende programma's zijn bijgewerkt, waaronder 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.
- In OpenSSL is de mogelijkheid toegevoegd om ondersteuning voor TLS 1 en TLS 1.1 terug te brengen.
- Voor het controleren van de bronbestanden van de tools is de utiliteit sha256sum gebruikt.
- Nieuwe pakketten zijn inbegrepen: etcd-tools, cockpit, aide, fipscheck, tini.
- De pakketten brp-strip-debug-symbols, brp-strip-unneeded en ca-legacy zijn verwijderd. SPEC-bestanden voor de pakketten Dotnet en aspnetcore zijn verwijderd, deze worden nu verzameld door het hoofdteam van ontwikkelaars .NET en geplaatst in een aparte repository.
- De patches voor kwetsbaarheden zijn overgebracht naar de gebruikte versies van de pakketten.
CBL-Mariner is een distributie die een standaardset van basispakketten biedt, die een universele basis vormen voor het creƫren van containers, hostomgevingen en services die draaien in cloudinfrastructuren en op edge-apparaten. Complexere en gespecialiseerde oplossingen kunnen worden gecreƫerd door extra pakketten bovenop CBL-Mariner toe te voegen, maar de basis voor al deze systemen blijft ongewijzigd, wat het onderhoud en de voorbereiding van updates vereenvoudigt. Bijvoorbeeld, CBL-Mariner wordt gebruikt als basis voor de mini-distributie WSLg, waarin de componenten van de grafische stack worden geleverd voor het uitvoeren van Linux GUI-applicaties in omgevingen gebaseerd op de WSL2 (Windows Subsystem for Linux). De uitgebreide functionaliteit in WSLg wordt gerealiseerd door het toevoegen van extra pakketten met samenstellingen. server Weston, XWayland, PulseAudio en FreeRDP.
Het CBL-Mariner build-systeem maakt het mogelijk om zowel afzonderlijke RPM-pakketten te genereren op basis van SPEC-bestanden en bronbestanden, als ook monolithische systeembestanden te creƫren met behulp van de rpm-ostree-tool en atomair te updaten zonder deze op te splitsen in afzonderlijke pakketten. Er worden twee modellen voor het leveren van updates ondersteund: via updates van individuele pakketten en door het opnieuw opbouwen en updaten van het gehele systeembestand. Er is een repository beschikbaar met ongeveer 3000 al gebouwde RPM-pakketten die gebruikt kunnen worden om eigen beelden te samenstellen op basis van een configuratiebestand.
De distributie bevat alleen de meest noodzakelijke componenten en is geoptimaliseerd voor minimaal geheugengebruik en schijfruimte, evenals voor hoge opstartsnelheid. De distributie is ook opmerkelijk door de toevoeging van verschillende extra mechanismen ter verbetering van de veiligheid. In het project wordt de 'maximum security by default'-benadering toegepast. Er is de mogelijkheid om systeemsystemen te filteren met het seccomp-mechanisme, het versleutelen van schijfpartities en de verificatie van pakketten via digitale handtekeningen.
Gesteunde randomization modes van de Linux-kernel zijn geactiveerd, evenals mechanismen ter bescherming tegen aanvallen gerelateerd aan symbolische links, mmap, /dev/mem en /dev/kmem. Voor geheugen gebieden waarin de segmenten met kernel- en modulegegevens zijn geplaatst, is de modus alleen-lezen ingesteld en is de uitvoering van code verboden. Optioneel is er de mogelijkheid om het laden van kernelmodules na systeeminitialisatie te verbieden. Voor het filteren van netwerkpakketten wordt het iptables-gereedschap gebruikt. Tijdens het bouwen zijn standaard de beschermingsmodi tegen stackoverflows, buffer overflows en format string issues ingeschakeld (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Voor het beheren van services en opstartprocedures wordt de systeemmanager systemd gebruikt. Voor pakketbeheer zijn de pakketmanagers RPM en DNF (een variant van tdnf van vmWare) beschikbaar. De SSH-server is standaard niet ingeschakeld. Voor de installatie van de distributie is er een installatietool die zowel in tekst- als grafische modus kan werken. In de installatietool is er een mogelijkheid voor installatie met een volledige of basisset van pakketten, en er is een interface voor het kiezen van een schijfdeel, het kiezen van een hostnaam en het aanmaken van gebruikers.
Bron: opennet.ru
