Pelepasan Bottlerocket 1.1, distribusi berdasarkan wadah terisolasi

Rilis distribusi Linux Bottlerocket 1.1.0 tersedia, dikembangkan dengan partisipasi Amazon untuk peluncuran kontainer terisolasi yang efisien dan aman. Alat distribusi dan komponen kontrol ditulis dalam Rust dan didistribusikan di bawah lisensi MIT dan Apache 2.0. Ini mendukung menjalankan Bottlerocket di klaster Kubernetes Amazon ECS dan AWS EKS, serta membuat build dan edisi khusus yang memungkinkan penggunaan berbagai alat orkestrasi dan runtime untuk container.

Distribusi ini menyediakan citra sistem tak terpisahkan yang diperbarui secara atom dan otomatis yang mencakup kernel Linux dan lingkungan sistem minimal, termasuk hanya komponen yang diperlukan untuk menjalankan container. Lingkungan tersebut mencakup manajer sistem systemd, perpustakaan Glibc, alat build Buildroot, boot loader GRUB, konfigurator jaringan jahat, runtime containerd untuk container terisolasi, platform orkestrasi container Kubernetes, aws-iam-authenticator, dan Amazon Agen ECS.

Alat orkestrasi kontainer hadir dalam kontainer manajemen terpisah yang diaktifkan secara default dan dikelola melalui API dan AWS SSM Agent. Gambar dasar tidak memiliki shell perintah, server SSH, dan bahasa yang ditafsirkan (misalnya, tidak ada Python atau Perl) - alat administratif dan alat debugging ditempatkan dalam wadah layanan terpisah, yang dinonaktifkan secara default.

Perbedaan utama dari distribusi serupa seperti Fedora CoreOS, CentOS/Red Hat Atomic Host adalah fokus utama dalam memberikan keamanan maksimum dalam rangka memperkuat perlindungan sistem dari kemungkinan ancaman, mempersulit eksploitasi kerentanan pada komponen OS dan meningkatkan isolasi container. . Kontainer dibuat menggunakan mekanisme kernel Linux standar - cgroups, namespace, dan seccomp. Untuk isolasi tambahan, distribusi menggunakan SELinux dalam mode β€œmenegakkan”.

Partisi root dipasang hanya-baca, dan partisi pengaturan /etc dipasang di tmpfs dan dikembalikan ke keadaan semula setelah restart. Modifikasi langsung file di direktori /etc, seperti /etc/resolv.conf dan /etc/containerd/config.toml, tidak didukung - untuk menyimpan pengaturan secara permanen, Anda harus menggunakan API atau memindahkan fungsionalitas ke dalam wadah terpisah. Modul dm-verity digunakan untuk memverifikasi integritas partisi root secara kriptografis, dan jika upaya untuk mengubah data pada tingkat perangkat blok terdeteksi, sistem akan reboot.

Sebagian besar komponen sistem ditulis dalam Rust, yang menyediakan fitur pengaman memori untuk menghindari kerentanan yang disebabkan oleh akses memori setelah bebas, dereferensi penunjuk nol, dan buffer overruns. Saat membangun secara default, mode kompilasi "-enable-default-pie" dan "-enable-default-ssp" digunakan untuk mengaktifkan pengacakan ruang alamat file yang dapat dieksekusi (PIE) dan perlindungan terhadap stack overflow melalui substitusi canary. Untuk paket yang ditulis dalam C/C++, flag β€œ-Wall”, β€œ-Werror=format-security”, β€œ-Wp,-D_FORTIFY_SOURCE=2”, β€œ-Wp,-D_GLIBCXX_ASSERTIONS” dan β€œ-fstack-clash” juga ditambahkan. diaktifkan -perlindungan".

Dalam rilis baru:

  • Dua opsi distribusi baru aws-k8s-1.20 dan vmware-k8s-1.20 dengan dukungan untuk Kubernetes 1.20 telah diusulkan. Varian ini, serta versi terbaru aws-ecs-1, menggunakan rilis kernel Linux 5.10 yang baru. Mode lockdown diatur ke β€œintegritas” secara default (kemampuan yang memungkinkan perubahan dilakukan pada kernel yang sedang berjalan dari ruang pengguna diblokir). Dukungan untuk varian aws-k8s-1.15 berdasarkan Kubernetes 1.15 telah dihentikan.
  • Amazon ECS mendukung mode jaringan awsvpc, yang memungkinkan Anda mengalokasikan antarmuka jaringan terpisah dan alamat IP internal untuk setiap tugas.
  • Menambahkan pengaturan untuk mengontrol berbagai parameter Kubernetes, termasuk QPS, batas kumpulan, dan kemampuan untuk terhubung ke penyedia cloud selain AWS.
  • Kontainer bootstrap memberikan pembatasan akses ke data pengguna menggunakan SELinux.
  • Menambahkan utilitas resize2fs.

Sumber: opennet.ru

Tambah komentar