Rilascio di Bottlerocket 1.7, una distribuzione basata su contenitori isolati

È stato pubblicato il rilascio della distribuzione Linux Bottlerocket 1.7.0, sviluppata con la partecipazione di Amazon per l'esecuzione efficiente e sicura di contenitori isolati. Gli strumenti e i componenti di gestione della distribuzione sono scritti in Rust e distribuiti sotto le licenze MIT e Apache 2.0. È supportato il funzionamento di Bottlerocket in cluster Amazon ECS, VMware e AWS EKS Kubernetes, nonché la creazione di build e versioni personalizzate che consentono l'uso di vari strumenti di orchestrazione e runtime per contenitori.

La distribuzione fornisce un'immagine di sistema atomica e automaticamente aggiornabile, che include il kernel Linux e un ambiente di sistema minimo, comprensivo solo dei componenti necessari per l'esecuzione dei container. Nell'ambiente sono coinvolti il gestore di sistema systemd, la libreria Glibc, l'ambiente di build Buildroot, il bootloader GRUB, il configuratore di rete wicked, il runtime per container isolati containerd, la piattaforma di orchestrazione dei container Kubernetes, l'autenticatore aws-iam-authenticator e l'agente Amazon ECS.

Gli strumenti per l'orchestrazione dei container sono forniti in un container di gestione separato, attivato di default e gestito tramite API e AWS SSM Agent. Nell'immagine di base non è presente una shell. server SSH e linguaggi interpretati (ad esempio, non ci sono Python o Perl) — gli strumenti per l'amministratore e gli strumenti di debug sono stati spostati in un container di servizio separato, che per impostazione predefinita è disattivato.

La principale differenza rispetto a distribuzioni simili, come Fedora CoreOS, CentOS/Red Hat Atomic Host, è l'orientamento primario a fornire la massima sicurezza nel contesto del rafforzamento della protezione del sistema contro potenziali minacce, complicando l'esploitazione di vulnerabilità nei componenti del sistema operativo e aumentando l'isolamento dei container. I container sono creati utilizzando i meccanismi standard del kernel Linux — cgroups, spazi dei nomi e seccomp. Per ulteriore isolamento, nella distribuzione viene utilizzato SELinux in modalità "enforcing".

La partizione di root è montata in modalità di sola lettura, mentre la partizione di configurazione /etc è montata in tmpfs e ripristina lo stato originale dopo il riavvio. La modifica diretta dei file nella directory /etc, come /etc/resolv.conf e /etc/containerd/config.toml, non è supportata: per la conservazione permanente delle impostazioni è necessario utilizzare l'API o spostare la funzionalità in contenitori separati. Per la verifica crittografica dell'integrità della partizione di root è coinvolto il modulo dm-verity, e in caso di tentativi di modifica dei dati a livello di dispositivo blocco, il sistema viene riavviato.

La maggior parte dei componenti di sistema è scritta in linguaggio Rust, che fornisce strumenti per un'attività sicura in memoria, evitando vulnerabilità causate da accessi a aree di memoria dopo il loro rilascio, dereferenziazione di puntatori nulli e fuoriuscita dai limiti del buffer. Durante la compilazione, per impostazione predefinita vengono applicati i flag di compilazione "--enable-default-pie" e "--enable-default-ssp" per attivare la randomizzazione degli spazi di indirizzi dei file eseguibili (PIE) e la protezione da overflow dello stack attraverso l'inserimento di marcatori di canarini. Per i pacchetti scritti in C/C++, vengono attivati anche i flag "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" e "-fstack-clash-protection."

Nel nuovo rilascio:

  • L'installazione dei pacchetti RPM prevede la generazione di un elenco di programmi in formato JSON e il montaggio di quest'ultimo nel contenitore host come file /var/lib/bottlerocket/inventory/application.json per ottenere informazioni sui pacchetti disponibili.
  • Aggiornati i contenitori «admin» e «control».
  • Aggiornate le versioni dei pacchetti e le dipendenze per i linguaggi Go e Rust.
  • Aggiornate le versioni dei pacchetti con programmi di terze parti.
  • Risolti problemi con la configurazione di tmpfilesd per kmod-5.10-nvidia.
  • Nell'installazione di tuftool è stata garantita l'associazione delle versioni delle dipendenze.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster