Ngaleupaskeun Bottlerocket 1.7, distribusi dumasar kana wadahna terasing

Pelepasan distribusi Linux Bottlerocket 1.7.0 parantos diterbitkeun, dikembangkeun ku partisipasi Amazon pikeun ngajalankeun peti terasing sacara efektif sareng aman. Komponén alat sareng kontrol distribusi ditulis dina Rust sareng disebarkeun dina lisensi MIT sareng Apache 2.0. Éta ngadukung ngajalankeun Bottlerocket dina Amazon ECS, VMware, sareng AWS EKS Kubernetes klaster, ogé nyiptakeun gedong sareng édisi khusus anu ngamungkinkeun para alat orkestrasi sareng runtime anu béda pikeun wadah.

Distribusi nyayogikeun gambar sistem anu teu tiasa dibagi sacara atom sareng otomatis anu kalebet kernel Linux sareng lingkungan sistem minimal anu kalebet ngan ukur komponén anu diperyogikeun pikeun ngajalankeun wadah. Lingkungan kalebet manajer sistem systemd, perpustakaan Glibc, alat ngawangun Buildroot, bootloader GRUB, konfigurator jaringan jahat, waktos wadah wadah terasing wadahna, platform orkestrasi wadah Kubernetes, aws-iam-authenticator, sareng agén Amazon ECS. .

Alat orkestrasi wadahna aya dina wadah manajemén anu misah anu diaktipkeun sacara standar sareng diurus ngaliwatan Agen API sareng AWS SSM. Gambar dasarna henteu gaduh cangkang paréntah, server SSH, sareng basa anu diinterpretasi (contona, henteu aya Python atanapi Perl) - alat administratif sareng debugging dipindahkeun ka wadah jasa anu kapisah, anu ditumpurkeun sacara standar.

Beda konci tina distribusi anu sami sapertos Fedora CoreOS, CentOS / Red Hat Atomic Host mangrupikeun fokus utami pikeun nyayogikeun kaamanan maksimal dina kontéks nguatkeun panyalindungan sistem ngalawan kamungkinan ancaman, ngahesekeun eksploitasi kerentanan dina komponén OS sareng ningkatkeun isolasi wadahna. Wadahna didamel nganggo mékanisme biasa tina kernel Linux - cgroups, namespaces sareng seccomp. Pikeun isolasi tambahan, distribusi ngagunakeun SELinux dina mode "enforcing".

Partisi akar dipasang dina modeu baca wungkul, sareng partisi sareng /etc setélan dipasang dina tmpfs sareng disimpen deui ka kaayaan aslina saatos balikan deui. modifikasi langsung file dina /etc diréktori, kayaning /etc/resolv.conf na /etc/containerd/config.toml, teu dirojong - pikeun nyimpen setelan permanén, anjeun kudu make API atawa mindahkeun fungsionalitas ka wadahna misah. Pikeun verifikasi kriptografi integritas partisi akar, modul dm-verity dianggo, sareng upami usaha pikeun ngarobih data dina tingkat alat blok dideteksi, sistem reboots.

Kaseueuran komponén sistem ditulis dina Rust, anu nyayogikeun alat anu aman-memori pikeun ngahindarkeun kerentanan anu disababkeun ku alamat daérah mémori saatos dibébaskeun, ngarujuk kana pointer nol, sareng overruns panyangga. Nalika ngawangun, mode kompilasi standar "--enable-default-pie" sareng "--enable-default-ssp" dianggo pikeun ngaktifkeun randomization rohangan alamat anu tiasa dieksekusi (PIE) sareng panyalindungan ngalawan tumpukan tumpukan ngaliwatan substitusi labél kanaria. Pikeun bungkusan anu ditulis dina C/C ++, "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" sareng "-fstack-clash" umbul ogé. kaasup - panyalindungan.

Dina rilis anyar:

  • Nalika masang bungkusan RPM, kasebut nyaéta dimungkinkeun pikeun ngahasilkeun daptar program dina format JSON tur masangkeunana kana wadahna host salaku file /var/lib/bottlerocket/inventory/application.json pikeun ménta inpo ngeunaan bungkusan sadia.
  • Wadah "admin" sareng "kontrol" parantos diropéa.
  • Vérsi pakét anu diropéa sareng katergantungan pikeun basa Go sareng Rust.
  • Vérsi bungkusan anu diropéa nganggo program pihak katilu.
  • Ngarengsekeun masalah konfigurasi tmpfilesd pikeun kmod-5.10-nvidia.
  • Nalika masang tuftool, versi dependensi dikaitkeun.

sumber: opennet.ru

Tambahkeun komentar