Empresa Amazon el primer problema important d'especialització Linux-distribució , dissenyat per executar contenidors aïllats de manera eficient i segura. Les eines i els components de control de la distribució estan escrits en Rust i sota llicències MIT i Apache 2.0. El projecte s'està desenvolupant a GitHub i està disponible per a la participació dels membres de la comunitat. La imatge de desplegament del sistema es genera per a les arquitectures x86_64 i Aarch64. El sistema operatiu està adaptat per executar-se en clústers Amazon ECS i AWS EKS Kubernetes. eines per crear els vostres propis muntatges i edicions, que poden utilitzar altres eines d'orquestració, nuclis i temps d'execució per als contenidors.
La distribució proporciona el nucli Linux i un entorn de sistema mínim, que inclou només els components necessaris per executar contenidors. Els paquets utilitzats en el projecte inclouen el gestor de sistemes systemd, la biblioteca Glibc i eines de compilació.
Buildroot, carregador d'arrencada GRUB, configurador de xarxa , temps d'execució per a contenidors aïllats , plataforma d'orquestració de contenidors Kubernetes, aws-iam-authenticator i agent Amazon ECS.
La distribució s'actualitza atòmicament i es lliura en forma d'imatge indivisible del sistema. S'assignen dues particions de disc per al sistema, una de les quals conté el sistema actiu i l'actualització es copia a la segona. Després de desplegar l'actualització, la segona partició s'activa i, a la primera, fins que arribi la següent actualització, es desa la versió anterior del sistema, a la qual podeu tornar enrere si sorgeixen problemes. Les actualitzacions s'instal·len automàticament sense la intervenció de l'administrador.
La diferència clau respecte a distribucions similars com Fedora CoreOS és CentOS/Red Hat Atomic Host es centra principalment en proporcionar en el context de reforçar la protecció del sistema contra possibles amenaces, complicar l'explotació de vulnerabilitats en components del sistema operatiu i augmentar l'aïllament dels contenidors. Els contenidors es creen mitjançant mecanismes estàndard del nucli. Linux — grups de control, espais de noms i seccomp. Per a un aïllament addicional, la distribució utilitza SELinux en el mode "enforcing", i el mòdul s'utilitza per a la verificació criptogràfica de la integritat de la partició arrel . Si es detecta un intent de modificar dades a nivell de dispositiu de bloc, el sistema es reinicia.
La partició arrel es munta de només lectura i la partició de configuració /etc es munta en tmpfs i es restaura al seu estat original després d'un reinici. No s'admet la modificació directa dels fitxers del directori /etc, com ara /etc/resolv.conf i /etc/containerd/config.toml; per desar la configuració permanentment, heu d'utilitzar l'API o moure la funcionalitat a contenidors separats.
La majoria dels components del sistema estan escrits en Rust, que proporciona funcions segures per a la memòria per evitar vulnerabilitats causades per accessos a memòria posteriors lliures, desreferències de punter nul i desbordaments de memòria intermèdia. Quan es construeix per defecte, els modes de compilació "--enable-default-pie" i "--enable-default-ssp" s'utilitzen per habilitar l'aleatorització de l'espai d'adreces dels fitxers executables () i protecció de desbordament de la pila mitjançant substitució canària.
Per als paquets escrits en C/C++, s'inclouen senyals addicionals
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" i "-fstack-clash-protection".
Les eines d'orquestració de contenidors es subministren per separat , que està activat per defecte i controlat mitjançant i AWS SSM Agent. La imatge base no té un intèrpret d'ordres, un servidor SSH i llenguatges interpretats (per exemple, sense Python o Perl): les eines administratives i les eines de depuració es troben a , que està desactivat per defecte.
Font: opennet.ru
