Microsoft opublikował dystrybucję Azure Linux 3.0

Firma Microsoft opublikowała pierwszą stabilną aktualizację nowej gałęzi dystrybucji Azure Linux 3.0, która wcześniej była znana jako CBL-Mariner. Dystrybucja rozwija się jako uniwersalna baza platformy dla środowisk Linux, wykorzystywanych w infrastrukturze chmurowej, systemach brzegowych i różnych usługach Microsoftu. Projekt ma na celu ujednolicenie rozwiązań Linux stosowanych w Microsoft oraz uproszczenie utrzymania systemów Linux o różnym przeznaczeniu w aktualnym stanie. Opracowania projektu są rozpowszechniane na licencji MIT. Pakiety są budowane dla architektur aarch64 i x86_64. Rozmiar obrazu instalacyjnego wynosi 740 MB.

Wśród zmian w nowej wersji:

  • Jądro Linux zostało zaktualizowane do wersji 6.6 (wcześniej używano jądra 5.15). Dodano wsparcie dla nakładania poprawek na działające jądro (live patching), co umożliwia usuwanie luk w jądrze bez ponownego uruchamiania.
  • Zaproponowano nowe wersje pakietów, w tym systemd 255, glibc 2.38, GCC 13.2, clang 18.1, OpenSSL 3.3, rpm 4.18.2, ruby 3.3.0, BIND 9.20, containerd 1.7.13, kunc 1.1.12, ostree 2024.5, rust 1.75, Perl 5.38, Python 3.12.3, QEMU 8.2.0.
  • System wymuszonej kontroli dostępu SELinux został domyślnie przełączony w tryb „enforcing”.
  • Domyślnie zastosowano zjednoczoną hierarchię cgroups v2. Kluczową różnicą między cgroups v2 a v1 jest zastosowanie wspólnej hierarchii cgroups dla wszystkich rodzajów zasobów, zamiast oddzielnych hierarchii do alokacji zasobów CPU, regulacji zużycia pamięci i operacji wejścia/wyjścia.
  • Dodano narzędzia do zastępowania innych dystrybucji (OSsku In-Place Migration) na węzłach w chmurze Microsoft Azure, na przykład można zastąpić zainstalowanego Ubuntu na Azure Linux.
  • Dodano wsparcie dla nowych GPU NVIDIA, takich jak NVIDIA A100 i H100, a także udostępniono NVIDIA GPU Operator do automatyzacji zarządzania sterownikami NVIDIA na węzłach z Azure Linux.

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.

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.

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).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster