Uscita di Bottlerocket 1.1, una distribuzione basata su container isolati

Disponibile il rilascio della distribuzione Linux Bottlerocket 1.1.0, sviluppata con la partecipazione di Amazon per l'esecuzione efficace e sicura di contenitori isolati. Gli strumenti e i componenti di gestione della distribuzione sono scritti in Rust e distribuiti con licenze MIT e Apache 2.0. Supporta l'esecuzione di Bottlerocket nei cluster Amazon ECS e AWS EKS Kubernetes, oltre alla creazione di build e versioni personalizzate che consentono l'uso di vari strumenti di orchestrazione e runtime per i contenitori.

La distribuzione fornisce un'immagine di sistema atomica, indissolubile e automaticamente aggiornata, che include il kernel Linux e un ambiente di sistema minimale, contenente solo i componenti necessari per l'avvio dei container. Nel suo ambiente sono coinvolti il manager 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 contenitori sono forniti in un contenitore di gestione separato, che è abilitato per impostazione predefinita e gestito tramite API e AWS SSM Agent. L'immagine di base non include una shell di comando, un 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 contenitore di servizio separato, che è disabilitato per impostazione predefinita.

La principale differenza rispetto a distribuzioni simili come Fedora CoreOS e CentOS/Red Hat Atomic Host è l'orientamento primario verso la massima sicurezza, in un contesto di potenziamento della protezione del sistema da potenziali minacce, complicando l'exploitation delle vulnerabilità nei componenti del sistema operativo e aumentando l'isolamento dei contenitori. I contenitori vengono creati utilizzando i meccanismi standard del kernel Linux — cgroups, namespace e seccomp. Per un'ulteriore isolamento, il supporto SELinux è abilitato in modalità 'enforcing'.

La partizione principale viene montata in modalità di sola lettura, mentre la partizione delle impostazioni /etc viene montata in tmpfs e ripristina lo stato originale dopo il riavvio. Le modifiche dirette ai file nella cartella /etc, come /etc/resolv.conf e /etc/containerd/config.toml, non sono supportate: per il salvataggio permanente delle impostazioni è necessario utilizzare l'API o trasferire la funzionalità in contenitori separati. Per la verifica crittografica dell'integrità della partizione principale è attivato il modulo dm-verity, e in caso venga rilevato un tentativo di modifica dei dati a livello di dispositivo a blocchi, il sistema si riavvia.

La maggior parte dei componenti di sistema sono scritti in Rust, un linguaggio che fornisce strumenti per una gestione della memoria sicura, evitando così vulnerabilità dovute all'accesso a memoria liberata, dereferenziazione di puntatori nulli e overflow del buffer. Durante la compilazione predefinita, vengono applicati i flag di compilazione «—enable-default-pie» e «—enable-default-ssp» per attivare la randomizzazione dello spazio degli indirizzi dei file eseguibili (PIE) e per fornire protezione contro l'overflow dello stack tramite la sostituzione di etichette canarie. Per i pacchetti scritti in C/C++, vengono inclusi ulteriori flag «-Wall», «-Werror=format-security», «-Wp,-D_FORTIFY_SOURCE=2», «-Wp,-D_GLIBCXX_ASSERTIONS» e «-fstack-clash-protection».

Nel nuovo rilascio:

  • Sono state proposte due nuove versioni della distribuzione aws-k8s-1.20 e vmware-k8s-1.20 con supporto per Kubernetes 1.20. In queste versioni, così come nella versione aggiornata aws-ecs-1, è stato utilizzato il nuovo rilascio del kernel Linux 5.10. La modalità lockdown per impostazione predefinita è cambiata in «integrity» (vengono bloccate le funzionalità che consentono di apportare modifiche al kernel in esecuzione dallo spazio utente). È stata interrotta la supporto per la versione aws-k8s-1.15 basata su Kubernetes 1.15.
  • Per Amazon ECS è stata implementata la supporto per la modalità di rete awsvpc, che consente di allocare interfacce di rete separate e interne Indirizzi IP per ciascun compito.
  • Sono state aggiunte impostazioni per gestire vari parametri di Kubernetes, inclusi QPS, limiti sui pool e la possibilità di connettersi a fornitori di cloud diversi da AWS.
  • Nel contenitore bootstrap è stato implementato un limite di accesso ai dati dell'utente tramite SELinux.
  • È stato aggiunto lo strumento resize2fs.

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