Zapowiedziano wydanie nowej wersji dystrybucji Linuksa „Bottlerocket 1.3.0” , w której wprowadzono pewne zmiany i ulepszenia systemu. Najważniejsze z nich to dodane ograniczenia MCS do polityki SELinux , a także rozwiązanie kilku problemów polityki SELinux, obsługa protokołu IPv6 w kubelet i pluto, a także obsługa hybrydowego rozruchu dla architektury x86_64.
Dla tych, którzy nie znają Bottlerocket, to dystrybucja Linuksa opracowana we współpracy z Amazon, która umożliwia wydajne i bezpieczne uruchamianie izolowanych kontenerów. Ta nowa wersja to przede wszystkim aktualizacja pakietów, choć zawiera również kilka nowych funkcji.
Dystrybucja charakteryzuje się tym, że zapewnia automatycznie i atomowo aktualizowany, niepodzielny obraz systemu , który zawiera jądro Linux i minimalne środowisko systemowe, zawierające wyłącznie komponenty niezbędne do uruchamiania kontenerów.
O Bottlerocket
Środowisko korzysta z menedżera systemu systemd, biblioteki Glibc, Buildroot, menedżera rozruchu GRUB , konfiguratora sieci wicked, środowiska uruchomieniowego containerd do izolacji kontenerów, platformy Kubernetes, AWS-iam-authenticator i agenta Amazon ECS.
Narzędzia do orkiestracji kontenerów są dostarczane w oddzielnym kontenerze administracyjnym, który jest domyślnie włączony i zarządzany za pośrednictwem interfejsu API i agenta AWS SSM. Obraz bazowy nie zawiera powłoki poleceń, serwera SSH ani języków interpretowanych (na przykład Pythona lub Perla): narzędzia administracyjne i debugowania są przenoszone do oddzielnego kontenera usług, który jest domyślnie wyłączony.
Podstawową różnicą w porównaniu do podobnych dystrybucji, takich jak Fedora CoreOS, CentOS/Red Hat Atomic Host, jest główny nacisk na zapewnienie maksymalnego bezpieczeństwa w kontekście wzmocnienia systemu przed potencjalnymi zagrożeniami, utrudnienie wykorzystywania luk w zabezpieczeniach komponentów systemu operacyjnego oraz zwiększenie izolacji kontenerów.
Główne nowe funkcje Bottlerocket 1.3.0
W nowej wersji dystrybucji poprawiono luki w zabezpieczeniach Docker Toolkit i Runtime Container (CVE-2021-41089, CVE-2021-41091, CVE-2021-41092, CVE-2021-41103) związane z nieprawidłową konfiguracją uprawnień, która umożliwiała nieuprawnionym użytkownikom opuszczenie katalogu domowego i uruchamianie programów zewnętrznych.
Wśród wprowadzonych zmian możemy znaleźć dodanie obsługi protokołu IPv6 do systemów kubelet i pluto , a także zapewnienie możliwości ponownego uruchomienia kontenera po zmianie jego konfiguracji oraz dodanie obsługi instancji Amazon EC2 M6i do systemów eni-max-pods.
Na uwagę zasługują również nowe ograniczenia MCS dotyczące polityki SELinux, a także rozwiązanie kilku problemów z polityką SELinux. Dodatkowo, dla platformy x86_64 wdrożono hybrydowy tryb rozruchu (z obsługą EFI i BIOS-u), a Open-vm-tools dodaje obsługę filtrów urządzeń opartych na zestawie narzędzi Cilium.
Z drugiej strony, została wyeliminowana kompatybilność z wersją dystrybucji aws-k8s-1.17 opartą na Kubernetes 1.17, dlatego zaleca się stosowanie wariantu aws-k8s-1.21 z kompatybilnością z Kubernetes 1.21, oprócz Warianty k8s korzystające z ustawień cgroup runtime.slice i system.slice.
Spośród innych zmian, które wyróżniają się w nowej wersji:
- Dodano wskaźnik regionu do polecenia aws-iam-authenticator
- Uruchom ponownie zmodyfikowane kontenery hosta
- Zaktualizowano domyślny kontener kontrolny do wersji 0.5.2
- Eni-max-pods zaktualizowane o nowe typy instancji
- Dodano nowe filtry urządzeń rzęsek do open-vm-tools
- Dołącz pliki tar / var / log / kdumpen logdog
- Zaktualizuj pakiety innych firm
- Dodano definicję fali dla powolnej implementacji
- Dodano „infrasys”, aby utworzyć infra TUF na AWS
- Archiwizuj stare migracje
- Zmiany w dokumentacji
Jeśli chcesz dowiedzieć się więcej , szczegóły znajdziesz pod poniższym linkiem.