Firma Microsoft zmieniła nazwę dystrybucji CBL-Mariner na Azure Linux. Wcześniej nazwa Azure Linux była używana dla specjalistycznej wersji instalowanej w Azure Kubernetes Service (AKS), natomiast ogólna platforma do tworzenia dystrybucji rozwijała się pod nazwą CBL-Mariner (Common Base Linux Mariner). Kilka dni temu Microsoft zmienił nazwę repozytorium CBL-Mariner na azurelinux, zmienił nazwy narzędzi i zastąpił wzmianki o CBL-Mariner w dokumentacji nazwą Azure Linux. Następnie opracowano pierwsze wydanie platformy pod nową nazwą — Azure Linux 2.0.20240301, w którym naprawione zostały istniejące błędy i luki w aplikacjach.
Projekt ma na celu ujednolicenie rozwiązań Linux w Microsoft oraz uproszczenie utrzymywania systemów Linux różnego przeznaczenia w aktualnym stanie. Między innymi dystrybucja jest używana w chmurze, systemach brzegowych oraz różnych usługach Microsoftu. Dorobek projektu jest rozpowszechniany na licencji MIT. Pakiety są tworzone dla architektur aarch64 i x86_64. Przygotowano obraz ISO (860 MB) dla architektury x86_64.
Dystrybucja Azure Linux dostarcza mały zestaw podstawowych pakietów, które stanowią uniwersalną podstawę do tworzenia środowisk kontenerowych, hostingu i usług uruchamianych w infrastrukturze chmurowej oraz na urządzeniach brzegowych. Bardziej złożone i specjalistyczne rozwiązania mogą być tworzone poprzez dodawanie dodatkowych pakietów do Azure Linux, ale podstawa dla wszystkich takich systemów pozostaje niezmieniona, co ułatwia konserwację i przygotowanie aktualizacji.
Na przykład Azure Linux jest używane jako podstawa mini-dystrybucji WSLg, w której udostępniane są komponenty stosu graficznego do uruchamiania aplikacji GUI Linux w środowiskach opartych na subsystemie WSL2 (Windows Subsystem for Linux). Rozszerzona funkcjonalność w WSLg jest realizowana poprzez włączenie dodatkowych pakietów z kompozytem serwerem Weston, XWayland, PulseAudio i FreeRDP.
System budowania Azure Linux umożliwia generowanie zarówno pojedynczych pakietów RPM na podstawie plików SPEC i kodu źródłowego, jak i monolitycznych obrazów systemowych, które są tworzone za pomocą narzędzi rpm-ostree i aktualizowane atomowo bez rozdzielania na osobne pakiety. Odpowiednio, obsługiwane są dwa modele dostarczania aktualizacji: poprzez aktualizację pojedynczych pakietów oraz poprzez przebudowę i aktualizację całego obrazu systemowego. Dostępne jest repozytorium zawierające około 3000 już zbudowanych pakietów RPM, które można wykorzystać do tworzenia własnych obrazów na podstawie pliku konfiguracyjnego.
Podstawowa platforma zawiera jedynie najpotrzebniejsze komponenty i jest zoptymalizowana pod kątem minimalnego zużycia pamięci oraz przestrzeni dyskowej, a także szybkiego uruchamiania. W projekcie zastosowano podejście „maksymalne bezpieczeństwo domyślnie”, co oznacza włączenie różnych dodatkowych mechanizmów w celu zwiększenia ochrony:
- Filtrowanie wywołań systemowych za pomocą mechanizmu seccomp.
- Szyfrowanie partycji dyskowych.
- Weryfikacja pakietów na podstawie podpisu cyfrowego.
- Randomizacja przestrzeni adresowej.
- Ochrona przed atakami związanymi z dowiązaniami symbolicznymi, mmap, /dev/mem oraz /dev/kmem.
- Tryb tylko do odczytu oraz zakaz wykonywania kodu w obszarach pamięci, w których znajdują się segmenty z danymi jądra i modułów.
- Opcja zakazu ładowania modułów jądra po inicjalizacji systemu.
- Zastosowanie iptables do filtrowania pakietów sieciowych.
- Włączenie podczas budowy trybów ochrony przed przepełnieniem stosu, przepełnieniem bufora oraz problemami z formatowaniem ciągów (_FORTIFY_SOURCE, -fstack-protector, -Wformat-security, relro).
Do zarządzania usługami i uruchamianiem używany jest menedżer systemowy systemd. Do zarządzania pakietami dostarczane są menedżery pakietów RPM i DNF. Serwer SSH domyślnie nie jest włączany. Do instalacji dystrybucji dostępny jest instalator, który może działać zarówno w trybie tekstowym, jak i graficznym. W instalatorze dostępna jest opcja instalacji w pełnym lub podstawowym zestawie pakietów, oferowany jest interfejs do wyboru partycji dyskowej, wyboru nazwy hosta oraz tworzenia użytkowników.
Oprócz zmian związanych z CBL-Mariner i Azure Linux, firma Microsoft zaprezentowała nową wersję platformy Azure Sphere 24.03, opartej na jądrze Linux, przeznaczonej do tworzenia urządzeń Internetu Rzeczy opartych na energooszczędnych mikrokontrolerach (MCU, microcontroller unit) z zintegrowanymi systemami peryferyjnymi. Jedną z cech platformy jest podsystem Pluton, stworzony do zapewnienia sprzętowych środków do szyfrowania, przechowywania kluczy prywatnych oraz realizacji zaawansowanych operacji kryptograficznych. Pluton zawiera oddzielny, wyspecjalizowany procesor, silnik kryptograficzny, sprzętowy generator liczb losowych oraz izolowane miejsce przechowywania kluczy.
Źródło: opennet.ru
