격리된 컨테이너를 기반으로 하는 배포판인 Bottlerocket 1.8을 사용할 수 있습니다.

격리된 컨테이너를 효율적이고 안전하게 시작하기 위해 Amazon의 참여로 개발된 Linux 배포판 Bottlerocket 1.8.0이 출시되었습니다. 배포판의 도구와 제어 구성 요소는 Rust로 작성되었으며 MIT 및 Apache 2.0 라이선스에 따라 배포됩니다. Amazon ECS, VMware 및 AWS EKS Kubernetes 클러스터에서 Bottlerocket 실행을 지원하고 컨테이너에 대한 다양한 오케스트레이션 및 런타임 도구를 사용할 수 있는 사용자 정의 빌드 및 에디션 생성을 지원합니다.

배포판은 컨테이너를 실행하는 데 필요한 구성 요소만 포함하여 Linux 커널과 최소 시스템 환경을 포함하는 자동으로 업데이트되는 분할할 수 없는 시스템 이미지를 제공합니다. 환경에는 systemd 시스템 관리자, Glibc 라이브러리, Buildroot 빌드 도구, GRUB 부트 로더, 사악한 네트워크 구성자, 격리된 컨테이너를 위한 컨테이너 런타임, Kubernetes 컨테이너 오케스트레이션 플랫폼, aws-iam-authenticator 및 Amazon이 포함됩니다. ECS 에이전트.

컨테이너 오케스트레이션 도구는 기본적으로 활성화되고 API 및 AWS SSM 에이전트를 통해 관리되는 별도의 관리 컨테이너로 제공됩니다. 기본 이미지에는 명령 셸, SSH 서버 및 해석된 언어(예: Python 또는 Perl 없음)가 없습니다. 관리 도구 및 디버깅 도구는 기본적으로 비활성화되어 있는 별도의 서비스 컨테이너에 배치됩니다.

Fedora CoreOS, CentOS/Red Hat Atomic Host와 같은 유사한 배포판과의 주요 차이점은 가능한 위협으로부터 시스템 보호를 강화하여 OS 구성 요소의 취약점을 악용하기 어렵게 만들고 컨테이너 격리를 증가시키는 맥락에서 최대 보안을 제공하는 데 주요 초점을 맞추고 있다는 것입니다. . 컨테이너는 표준 Linux 커널 메커니즘(cgroup, 네임스페이스 및 seccomp)을 사용하여 생성됩니다. 추가 격리를 위해 배포판은 "강제" 모드에서 SELinux를 사용합니다.

루트 파티션은 읽기 전용으로 마운트되고, /etc 설정 파티션은 tmpfs에 마운트되어 재시작 후 원래 상태로 복원됩니다. /etc/resolv.conf 및 /etc/containerd/config.toml과 같은 /etc 디렉토리의 파일을 직접 수정하는 것은 지원되지 않습니다. 설정을 영구적으로 저장하려면 API를 사용하거나 기능을 별도의 컨테이너로 이동해야 합니다. dm-verity 모듈은 루트 파티션의 무결성을 암호화 방식으로 확인하는 데 사용되며, 블록 장치 수준에서 데이터 수정 시도가 감지되면 시스템이 재부팅됩니다.

대부분의 시스템 구성 요소는 After Free 메모리 액세스, 널 포인터 역참조 및 버퍼 오버런으로 인한 취약점을 방지하기 위해 메모리 안전 기능을 제공하는 Rust로 작성되었습니다. 기본적으로 빌드할 때 컴파일 모드 "-enable-default-pie" 및 "-enable-default-ssp"는 실행 파일 주소 공간(PIE)의 무작위화를 활성화하고 카나리아 대체를 통한 스택 오버플로로부터 보호하는 데 사용됩니다. C/C++로 작성된 패키지의 경우 "-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" 및 "-fstack-clash" 플래그가 추가됩니다. 활성화 -보호".

새 릴리스에서:

  • Обновлено содержимое административного и управляющего контейнеров.
  • Runtime для изолированных контейнеров обновлён до ветки containerd 1.6.x.
  • Обеспечен перезапуск фоновых процессов, координирующих работу контейнеров, после изменений в хранилище сертификатов.
  • Предоставлена возможность выставления загрузочных параметров ядра через секцию Boot Configuration.
  • Включено игнорирование пустых блоков при контроле целостности корневого раздела при помощи dm-verity.
  • Предоставлена возможность статической привязки имён хостов в /etc/hosts.
  • Предоставлена возможность генерации сетевой конфигурации при помощи утилиты netdog (добавлена команда generate-net-config).
  • Предложены новые варианты дистрибутива c поддержкой Kubernetes 1.23. Сокращено время запуска pod-ов в Kubernetes за счёт отключения режима configMapAndSecretChangeDetectionStrategy. Добавлены новые настройки kubelet-ов: provider-id и podPidsLimit.
  • Предложен новый вариант дистрибутива «aws-ecs-1-nvidia» для Amazon Elastic Container Service (Amazon ECS), поставляемый с драйверами NVIDIA.
  • Добавлена поддержка устройств хранения Microchip Smart Storage и MegaRAID SAS. Расширена поддержка Ethernet-карт на чипах Broadcom.
  • Обновлены версии пакетов и зависимости для языков Go и Rust, а также версии пакетов со сторонними программами. Bottlerocket SDK обновлён до версии 0.26.0.

출처 : opennet.ru

코멘트를 추가