Release beschikbaar LinuxBottlerocket 1.1.0 is een distributie die samen met Amazon is ontwikkeld voor het efficiënt en veilig opstarten van geïsoleerde containers. De tools en besturingscomponenten van de distributie zijn geschreven in Rust en vallen onder de MIT- en Apache 2.0-licenties. Bottlerocket draait op Amazon ECS- en AWS EKS Kubernetes-clusters en ondersteunt aangepaste builds en edities die het gebruik van diverse containerorkestratie- en runtimetools ondersteunen.
De distributie biedt een atomisch en automatisch bijgewerkt, ondeelbaar systeemimage, inclusief de kernel. Linux en een minimale systeemomgeving, die alleen de componenten bevat die nodig zijn voor het uitvoeren van containers. Deze omgeving omvat de systemd-systeemmanager, de Glibc-bibliotheek, de Buildroot-buildtoolchain, de GRUB-bootloader, de wicked-netwerkconfigurator, de containerd-runtime voor geïsoleerde containers, het Kubernetes-containerorkestratieplatform, de aws-iam-authenticator-authenticator en de Amazon ECS-agent.
De tools voor containerorkestratie worden geleverd in een aparte beheercontainer, die standaard is ingeschakeld en wordt beheerd via de API en de AWS SSM Agent. De basisimage bevat geen command shell. server SSH en geïnterpreteerde talen (bijv. geen Python of Perl) - beheer- en debugtools bevinden zich in een aparte servicecontainer, die standaard is uitgeschakeld.
Het belangrijkste verschil met vergelijkbare distributies zoals Fedora CoreOS is CentOSRed Hat Atomic Host is primair gericht op het bieden van maximale beveiliging door de systeembeveiliging tegen potentiële bedreigingen te verbeteren, het misbruiken van kwetsbaarheden in OS-componenten te bemoeilijken en de isolatie van containers te vergroten. Containers worden gemaakt met behulp van native kernelmechanismen. Linux — cgroups, namespaces en seccomp. Voor extra isolatie gebruikt de distributie SE.Linux in de "handhavingsmodus".
De rootpartitie wordt in alleen-lezen-modus aangekoppeld en de partitie met /etc-instellingen wordt in tmpfs aangekoppeld en na een herstart in de oorspronkelijke staat hersteld. Directe wijziging van bestanden in de map /etc, zoals /etc/resolv.conf en /etc/containerd/config.toml, wordt niet ondersteund - om instellingen permanent op te slaan, moet u de API gebruiken of de functionaliteit verplaatsen naar afzonderlijke containers. Voor cryptografische verificatie van de integriteit van de rootpartitie wordt de dm-verity-module gebruikt en als een poging wordt gedetecteerd om gegevens op blokapparaatniveau te wijzigen, wordt het systeem opnieuw opgestart.
De meeste systeemcomponenten zijn geschreven in Rust, dat geheugenveilige tools biedt om kwetsbaarheden te voorkomen die worden veroorzaakt door het adresseren van een geheugengebied nadat het is vrijgegeven, het verwijderen van verwijzingen naar null-pointers en bufferoverschrijdingen. Bij het bouwen worden standaard de compilatiemodi "--enable-default-pie" en "--enable-default-ssp" gebruikt om uitvoerbare adresruimte-randomisatie (PIE) en bescherming tegen stack-overflows door middel van canary-labelvervanging mogelijk te maken. Voor pakketten geschreven in C/C++ zijn de vlaggen "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" en "-fstack-clash" extra inbegrepen -bescherming.
In de nieuwe uitgave:
- Er zijn twee nieuwe distributievarianten uitgebracht, aws-k8s-1.20 en vmware-k8s-1.20, die Kubernetes 1.20 ondersteunen. Deze varianten, evenals de bijgewerkte aws-ecs-1-variant, maken gebruik van de nieuwe kernelversie. Linux 5.10. De standaard vergrendelingsmodus is gewijzigd naar "integriteit" (waardoor wijzigingen in de gebruikersruimte aan de draaiende kernel worden geblokkeerd). De ondersteuning voor de aws-k8s-1.15-variant op basis van Kubernetes 1.15 is stopgezet.
- Amazon ECS ondersteunt nu de netwerkmodus awsvpc, waarmee u individuele netwerkinterfaces en interne verbindingen kunt configureren. IP-adressen voor elke taak.
- Instellingen toegevoegd om verschillende Kubernetes-parameters te beheren, waaronder QPS, poollimieten en de mogelijkheid om verbinding te maken met andere cloudproviders dan AWS.
- De bootstrap-container biedt toegangsbeperkingen tot gebruikersgegevens met behulp van SE.Linux.
- Hulpprogramma resize2fs toegevoegd.
Bron: opennet.ru
