Эта фича Kubernetes меняет то, как контейнеры работают с root-привилегиями
User Namespaces — это механизм безопасности, который сопоставляет ID пользователей и групп внутри контейнера с другим набором ID на хосте. По сути, это rootless-изоляция.
Ключевая идея такая.
Процесс, который запускается от root внутри контейнера, на хосте выполняется от имени непривилегированного пользователя, например с UID 100000.
Без User Namespaces контейнер, запущенный от root, использует ту же root-идентичность, что и хост.
То есть если злоумышленник сможет выбраться из контейнера, он получит полные привилегии на хосте.
Вот практический гайд, в котором разобрали следующее:
- что такое User Namespaces;
- как ядро выполняет маппинг root-пользователя на non-root пользователя;
- что меняется при установке hostUsers: false;
- как ограничивать диапазоны UID на хосте с помощью файла /etc/subuid;
- практический деплоймент для понимания User Namespace;
- ограничения User Namespace.
Читать здесь: https://newsletter.devopscube.com/p/kubernetes-user-namespaces
👉 DevOps Portal
Post #1874
3.54K

- ❤ 7
- 🔥 4