AppArmor и SELinux в Kubernetes: последняя линия защиты

Habr ·

AppArmor и SELinux в Kubernetes: последняя линия защиты

В отличие от виртуальных машин, контейнеры разделяют ядро хостовой ОС. Это фундаментальная особенность модели: компрометация одного контейнера потенциально означает компрометацию соседних, а в худшем случае — побег из изоляции и захват всего узла. С учётом того, что в современных кластерах Kubernetes одновременно работают сотни контейнеров от десятков команд, цена одной уязвимости становится критически высокой. Защита контейнеров — задача многоуровневая. Атаковать можно образ, реестр, среду выполнения, оркестратор, сеть, приложение и, наконец, само ядро хоста. На каждый из этих уровней существует свой класс инструментов: сканеры образов, runtime-мониторинг, admission-контроллеры, сетевые политики, sandbox-рантаймы, средства управления секретами. Меня же интересует самый нижний и одновременно самый чувствительный уровень — уровень ядра Linux и средств мандатного контроля доступа (MAC, Mandatory Access Control). Именно здесь решается вопрос, что произойдёт, если все вышестоящие защитные механизмы окажутся обойдены: насколько хорошо контейнер изолирован от хоста и от соседей с точки зрения самой ОС. Читать далее

В отличие от виртуальных машин, контейнеры разделяют ядро хостовой ОС. Это фундаментальная особенность модели: компрометация одного контейнера потенциально означает компрометацию соседних, а в худшем случае — побег из изоляции и захват всего узла. С учётом того, что в современных кластерах Kubernetes одновременно работают сотни контейнеров от десятков команд, цена одной уязвимости становится критически высокой. Защита контейнеров — задача многоуровневая. Атаковать можно образ, реестр, среду выполнения, оркестратор, сеть, приложение и, наконец, само ядро хоста. На каждый из этих уровней существует свой класс инструментов: сканеры образов, runtime-мониторинг, admission-контроллеры, сетевые политики, sandbox-рантаймы, средства управления секретами. Меня же интересует самый нижний и одновременно самый чувствительный уровень — уровень ядра Linux и средств мандатного контроля доступа (MAC, Mandatory Access Control). Именно здесь решается вопрос, что произойдёт, если все вышестоящие защитные механизмы окажутся обойдены: насколько хорошо контейнер изолирован от хоста и от соседей с точки зрения самой ОС. Читать далее

Источник: Habr