ืžืขืœื“ื•ื ื’ ืคื•ืŸ Bottlerocket 1.2, ืึท ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืงืึทื ื˜ื™ื™ื ืขืจื–

ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื“ื™ ืœื™ื ื•ืงืก ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ Bottlerocket 1.2.0 ืื™ื– ื‘ื ื™ืžืฆื, ื“ืขื•ื•ืขืœืึธืคึผืขื“ ืžื™ื˜ ื“ืขืจ ืึธื ื˜ื™ื™ืœ ืคื•ืŸ ืึทืžืึทื–ืึธืŸ ืคึฟืึทืจ ื“ื™ ืขืคืขืงื˜ื™ื•ื• ืื•ืŸ ื–ื™ื›ืขืจ ืงืึทื˜ืขืจ ืคื•ืŸ ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืงืึทื ื˜ื™ื™ื ืขืจื–. ื“ื™ ืžื›ืฉื™ืจื™ื ืื•ืŸ ืงืึธื ื˜ืจืึธืœ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืคื•ืŸ ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ ืจื•ืกื˜ ืื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ MIT ืื•ืŸ Apache 2.0 ืœื™ื™ืกืึทื ืกื™ื–. ืขืก ืฉื˜ื™ืฆื˜ ืคืœื™ืกื ื“ื™ืง ื‘ืึธื˜ื˜ืœืขืจืึธืงืงืขื˜ ืื•ื™ืฃ Amazon ECS, VMware ืื•ืŸ AWS EKS Kubernetes ืงืœืึทืกื˜ืขืจื–, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืงืจื™ื™ื™ื˜ื™ื ื’ ืžื ื”ื’ ื‘ื•ื™ืขืŸ ืื•ืŸ ืึทื“ื™ืฉืึทื ื– ื•ื•ืึธืก ืœืึธื–ืŸ ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ืคืึทืจืฉื™ื“ืŸ ืึธืจืงืขืกื˜ืจืึทื˜ื™ืึธืŸ ืื•ืŸ ืจื•ื ื˜ื™ืžืข ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจื–.

ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื’ื™ื˜ ืึทืŸ ืึทื˜ืึธืžื™ืฉืข ืื•ืŸ ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื™ื ื“ื™ื•ื•ื™ืกื™ื‘ืึทืœ ืกื™ืกื˜ืขื ื‘ื™ืœื“ ื•ื•ืึธืก ื›ื•ืœืœ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ืื•ืŸ ืึท ืžื™ื ื™ืžืึทืœ ืกื™ืกื˜ืขื ืกื•ื•ื™ื•ื•ืข, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ื‘ืœื•ื™ื– ื“ื™ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ื ื™ื™ื˜ื™ืง ืฆื• ืœื•ื™ืคืŸ ืงืึทื ื˜ื™ื™ื ืขืจื–. ื“ื™ ืกื•ื•ื™ื•ื•ืข ื™ื ืงืœื•ื“ื– ื“ื™ ืกื™ืกื˜ืขื ืคืึทืจื•ื•ืึทืœื˜ืขืจ, ื“ื™ Glibc ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ื“ื™ Buildroot ื‘ื•ื™ืขืŸ ื’ืขืฆื™ื™ึทื’, ื“ื™ GRUB ืฉื˜ื™ื•ื•ืœ ืœืึธื•ื“ืขืจ, ื“ื™ ืฉืœืขื›ื˜ ื ืขืฅ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ื˜ืขืจ, ื“ื™ ืงืึทื ื˜ื™ื™ื ื“ ืจื•ื ื˜ื™ืžืข ืคึฟืึทืจ ืืคื’ืขื–ื•ื ื“ืขืจื˜ ืงืึทื ื˜ื™ื™ื ืขืจื–, ื“ื™ Kubernetes ืงืึทื ื˜ื™ื™ื ืขืจ ืึธืจื˜ืฉืขืกื˜ืจืึทื˜ื™ืึธืŸ ืคึผืœืึทื˜ืคืึธืจืžืข, ื“ื™ aws-iam-authenticator ืื•ืŸ ื“ืขืจ ืึทืžืึทื–ืึธืŸ. ECS ืึทื’ืขื ื˜.

ืงืึทื ื˜ื™ื™ื ืขืจ ืึธืจืงืขืกื˜ืจืึทื˜ื™ืึธืŸ ืžื›ืฉื™ืจื™ื ืงื•ืžืขืŸ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’ ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ืึธืก ืื™ื– ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜ ืื•ืŸ ื’ืขืจืื˜ืŸ ื“ื•ืจืš ื“ื™ API ืื•ืŸ AWS SSM ืึทื’ืขื ื˜. ื“ื™ ื‘ืึทื–ืข ื‘ื™ืœื“ ืคืขืœืŸ ืึท ื‘ืึทืคึฟืขืœ ืฉืึธืœ, SSH ืกืขืจื•ื•ืขืจ ืื•ืŸ ื™ื ื˜ืขืจืคึผืจืึทื˜ืึทื“ ืฉืคึผืจืึทื›ืŸ (ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืงื™ื™ืŸ ืคึผื™ื˜ื”ืึธืŸ ืึธื“ืขืจ ืคึผืขืจืœ) - ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ื™ื•ื•ืข ืžื›ืฉื™ืจื™ื ืื•ืŸ ื“ื™ื‘ืึทื’ื™ื ื’ ืžื›ืฉื™ืจื™ื ื–ืขื ืขืŸ ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ื“ื™ื ืกื˜ ืงืึทื ื˜ื™ื™ื ืขืจ, ื•ื•ืึธืก ืื™ื– ืคืึทืจืงืจื™ืคึผืœื˜ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜.

ื“ืขืจ ืฉืœื™ืกืœ ื—ื™ืœื•ืง ืคื•ืŸ ืขื ืœืขืš ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื– ืึทื–ืึท ื•ื•ื™ Fedora CoreOS, CentOS / Red Hat Atomic Host ืื™ื– ื“ื™ ืขืจืฉื˜ื™ืง ืคืึธืงื•ืก ืื•ื™ืฃ ืคึผืจืึทื•ื•ื™ื™ื“ื™ื ื’ ืžืึทืงืกื™ืžื•ื ื–ื™ื›ืขืจื”ื™ื™ื˜ ืื™ืŸ ื“ืขื ืงืึธื ื˜ืขืงืกื˜ ืคื•ืŸ ืคึฟืึทืจืฉื˜ืึทืจืงื•ื ื’ ืกื™ืกื˜ืขื ืฉื•ืฅ ืคื•ืŸ ืžืขื’ืœืขืš ื˜ืจืขืฅ, ืžืื›ืŸ ืขืก ืžืขืจ ืฉื•ื•ืขืจ ืฆื• ื’ื•ื•ื•ืจืข ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื– ืื™ืŸ ืึทืก ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื•ืŸ ื™ื ืงืจื™ืกื™ื ื’ ืงืึทื ื˜ื™ื™ื ืขืจ ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜. . ืงืึทื ื˜ื™ื™ื ืขืจื– ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ ืžื™ื˜ ื ืึธืจืžืึทืœ ืœื™ื ื•ืงืก ืงืขืจืŸ ืžืขืงืึทื ื™ื–ืึทืžื– - cgroups, namespaces ืื•ืŸ seccomp. ืคึฟืึทืจ ื ืึธืš ืืคื’ืขื–ื•ื ื“ืขืจื˜ืงื™ื™ื˜, ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื ื™ืฆื˜ SELinux ืื™ืŸ "ืขื ืคืึธืจืกื™ื ื’" ืžืึธื“ืข.

ื“ืขืจ ื•ื•ืึธืจืฆืœ ืฆืขื˜ื™ื™ืœื•ื ื’ ืื™ื– ืžืึธื•ื ื˜ืขื“ ื‘ืœื•ื™ื– ืฆื• ืœื™ื™ืขื ืขืŸ, ืื•ืŸ ื“ื™ / ืขื˜ืง ืกืขื˜ื˜ื™ื ื’ืก ืฆืขื˜ื™ื™ืœื•ื ื’ ืื™ื– ืžืึธื•ื ื˜ืขื“ ืื™ืŸ tmpfs ืื•ืŸ ื’ืขื–ื•ื ื˜ ืฆื• ื–ื™ื™ืŸ ืึธืจื™ื’ื™ื ืขืœ ืฉื˜ืึทื˜ ื ืึธืš ืจื™ืกื˜ืึทืจื˜. ื“ื™ืจืขืงื˜ ืžืึธื“ื™ืคื™ืงืึทื˜ื™ืึธืŸ ืคื•ืŸ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ /etc ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ, ืึทื–ืึท ื•ื•ื™ /etc/resolv.conf ืื•ืŸ /etc/containerd/config.toml, ืื™ื– ื ื™ืฉื˜ ื’ืขืฉื˜ื™ืฆื˜ - ืฆื• ืคึผืขืจืžืึทื ืึทื ื˜ืœื™ ืจืึทื˜ืขื•ื•ืขืŸ ืกืขื˜ื˜ื™ื ื’ืก, ืื™ืจ ืžื•ื–ืŸ ื ื•ืฆืŸ ื“ื™ ืึทืคึผื™ ืึธื“ืขืจ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื“ื™ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™ ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจื–. ื“ื™ DM-verity ืžืึธื“ื•ืœืข ืื™ื– ื’ืขื ื™ืฆื˜ ืฆื• ืงืจื™ืคึผื˜ืึธื’ืจืึทืคื™ืงืœื™ ื‘ืึทืฉื˜ืขื˜ื™ืงืŸ ื“ื™ ืึธืจื ื˜ืœืขื›ืงื™ื™ึทื˜ ืคื•ืŸ ื“ืขืจ ื•ื•ืึธืจืฆืœ ืฆืขื˜ื™ื™ืœื•ื ื’, ืื•ืŸ ืื•ื™ื‘ ืึท ืคึผืจื•ื•ื•ืŸ ืฆื• ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ื“ืึทื˜ืŸ ืื•ื™ืฃ ื“ื™ ื‘ืœืึธืง ืžื™ื˜ืœ ืžื“ืจื’ื” ืื™ื– ื“ื™ื˜ืขืงื˜ืึทื“, ื“ื™ ืกื™ืกื˜ืขื ืจืขื‘ืึธืึธืฅ.

ืจื•ื‘ึฟ ืกื™ืกื˜ืขื ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ื–ืขื ืขืŸ ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Rust, ื•ื•ืึธืก ื’ื™ื˜ ื–ื™ืงืึธืจืŸ-ื–ื™ื›ืขืจ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ื•ื•ืึทืœื ืขืจืึทื‘ื™ืœื™ื˜ื™ื– ื’ืขืคึฟื™ืจื˜ ื“ื•ืจืš ื ืึธืš-ืคืจื™ื™ ื–ื›ึผืจื•ืŸ ืึทืงืกืขืก, ื ืึทืœ ื˜ื™ื™ึทื˜ืœ ื“ื™ืคืขืจืึทื ืกื™ื– ืื•ืŸ ื‘ืึทืคืขืจ ืึธื•ื•ื•ืขืจืจืึทื ื–. ื•ื•ืขืŸ ื‘ื ื™ืŸ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ื“ื™ ื–ืึทืžืœื•ื ื’ ืžืึธื“ืขืก "-enable-default-pie" ืื•ืŸ "-enable-default-ssp" ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืฆื• ื’ืขื‘ืŸ ืจืึทื ื“ืึทืžื™ื–ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืข ืึทื“ืจืขืก ืคึผืœืึทืฅ (PIE) ืื•ืŸ ืฉื•ืฅ ืงืขื’ืŸ ืกื˜ืึทืง ืึธื•ื•ื•ืขืจืคืœืึธื•ื– ื“ื•ืจืš ืงืึทื ืึทืจื™ ืกืึทื‘ืกื˜ื™ื˜ื•ืฉืึทืŸ. ืคึฟืึทืจ ืคึผืึทืงื™ื“ื–ืฉื™ื– ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C / C ++, ื“ื™ ืคืœืึทื’ืก "-Wall", "-Werror = ืคึฟืึธืจืžืึทื˜-ื–ื™ื›ืขืจื”ื™ื™ึทื˜", "-Wp,-D_FORTIFY_SOURCE = 2", "-Wp,-D_GLIBCXX_ASSERTIONS" ืื•ืŸ "-fstack-clash" ื–ืขื ืขืŸ ืึทื“ื™ืฉื ืึทืœื™. ืขื ื™ื™ื‘ืึทืœื“ -ืฉื•ืฅ".

ืื™ืŸ ื“ื™ ื ื™ื™ึทืข ืžืขืœื“ื•ื ื’:

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ื™ืœื“ ืจืขื’ื™ืกื˜ืจื™ ืžื™ืจืขืจื–.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื ื•ืฆืŸ ื–ื™ืš-ื’ืขื—ืชืžืขื˜ ืกืขืจื˜ื™ืคื™ืงืึทืฅ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึธืคึผืฆื™ืข ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื”ืึธืกื˜ื ืึทืžืข.
  • ื“ื™ ืคืขืœื™ืงื™ื™ึทื˜ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ื™ื•ื•ืข ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ื˜ืึธืคึผืึธืœืึธื’ื™ ืžืึทื ืึทื’ืขืจ ืคึผืึธืœื™ื˜ื™ืง ืื•ืŸ ื˜ืึธืคึผืึธืœืึธื’ื™ ืžืึทื ืึทื’ืขืจ ืกืงืึธืคึผืข ืกืขื˜ื˜ื™ื ื’ืก ืคึฟืึทืจ ืงื•ื‘ืขืœืขื˜.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืขืจืŸ ืงืึทืžืคึผืจืขืฉืึทืŸ ื ื™ืฆืŸ ื“ื™ zstd ืึทืœื’ืขืจื™ื“ืึทื.
  • ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืœืึธื“ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ืื™ืŸ VMware ืื™ืŸ ื“ื™ OVA (Open Virtualization Format) ืคึฟืึธืจืžืึทื˜ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜.
  • ื“ื™ ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ื•ื•ืขืจืกื™ืข aws-k8s-1.21 ืื™ื– ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืžื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ Kubernetes 1.21. ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ aws-k8s-1.16 ืื™ื– ืึธืคึผื’ืขืฉื˜ืขืœื˜.
  • ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืคึผืขืงืœ ื•ื•ืขืจืกื™ืขืก ืื•ืŸ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื– ืคึฟืึทืจ ื“ื™ ืจื•ืกื˜ ืฉืคึผืจืึทืš.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’