ta muallif kitobidan iqtiboslar  Безопасность контейнеров. Фундаментальный подход к защите контейнеризированных приложений

manururu
manururuiqtibos olmoqda1 hafta oldin
https://containersecurity.tech/
Fikr bildirish
Ла Д.
Ла Д.iqtibos olmoqda1 oy oldin
https://containerd.io/) и CRI-O (https://cri-o.io/) (который, прежде чем его безвозмездно передали CNCF, был частью Red Hat).
Fikr bildirish
Ла Д.
Ла Д.iqtibos olmoqda1 oy oldin
Docker в 2017 году безвозмездно передала проект containerd фонду Cloud Native Computing Foundation (CNCF) (https://cncf.io/).
Fikr bildirish
С точки зрения безопасности у pivot_root есть несколько преимуществ по сравнению с chroot, поэтому на практике в реализации среды выполнения контейнеров обычно можно встретить первую из них. Основное различие: pivot_root использует пространство имен монтирования, старый корневой каталог размонтируется и более не доступен внутри пространства имен монтирования. Системный же вызов chroot данный подход не использу
Fikr bildirish
. Просмотреть пространства имен на машине можно с по­мощью команды lsns:
Fikr bildirish
Подытожим: команда chroot буквально меняет корневой каталог процесса. После чего процесс (и его дочерние процессы) сможет обращаться только к файлам и каталогам, расположенным ниже в иерархии, чем этот новый корневой каталог.
Fikr bildirish
Подробную информацию о привилегиях можно получить на машине под управлением Linux с помощью команды man capabilities
Fikr bildirish
При запуске контейнера среда выполнения создает для него новые контрольные группы. Утилита lscgroup (которую на Ubuntu можно установить с пакетом cgroup-tools) позволяет просмотреть эти контрольные группы на хост-компьютере. Поскольку их довольно много, посмотрим только на различия в контрольной группе memory до и после запуска нового контейнера с помощью команды runc. Сделайте снимок файловой системы контрольной группы memory:
Fikr bildirish
Найдите идентификатор процесса вашей командной оболочки, после чего в другом терминале, запущенном от имени суперпользователя, выполните strace -f -p <ID процесса командной оболочки> для трассировки всех системных вызовов, выполненных из этой командной оболочки, включая все запущенные в ней исполняемые файлы.
Fikr bildirish
Можно также запретить его использование, прибегнув к флагу --no-new-privileges команды dockerrun.
Fikr bildirish