🔐 Kubernetes User Namespaces — надежная защита контейнеров от root-эскейпа.
Суть проста: root внутри контейнера перестает быть root на хосте.
Например:
Container UID 0 → Host UID 100000.
Процесс в контейнере считает себя root, но на хосте выполняется как непривилегированный пользователь.
В Kubernetes это активируется с помощью:
hostUsers: false.
Преимущества:
- Изоляция UID/GID контейнера от хоста.
- Снижение последствий при container escape.
- Возможность ограничить диапазоны UID через /etc/subuid.
- Дополнительный слой защиты без изменений в приложении.
Важно: User Namespaces не заменяют, а дополняют seccomp, capabilities, AppArmor/SELinux и другие механизмы.
Отличный инструмент для тех, кто запускает контейнеры с UID 0 и хочет уменьшить риски при компрометации.