Выбор ответа Senior Безопасность контейнеров обновлено
Rootless и user namespaces
Вопрос
Чем user namespaces (и rootless-режим) снижают риск побега из контейнера?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Root внутри сопоставляется обычному UID на хосте, побег даёт права пользователя. User namespace задаёт отображение UID: 0 внутри может соответствовать, например, 100000 снаружи.
Варианты ответа
- Шифруют файловую систему контейнера ключом пользователя, и с хоста её не прочитать
- Root внутри сопоставляется обычному UID на хосте, побег даёт права пользователяправильный ответ
- Запрещают контейнеру все системные вызовы, кроме разрешённых в профиле seccomp
- Запускают каждый контейнер в отдельной лёгкой ВМ со своим ядром
Разбор
User namespace задаёт отображение UID: 0 внутри может соответствовать, например, 100000 снаружи. Процесс думает, что он root, но для ядра хоста это обычный пользователь. Rootless Docker и Podman запускают и сам демон без root. Шифрование, фильтр всех вызовов и ВМ это другие механизмы (последнее делают gVisor, Kata).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.