Есть ли проблема с безопасностью, когда я открываю возможности chown или dac_override в kubernetes?

Меня как администратора кластера Kubernetes попросили включить возможности Linux chown, dac_override и fowner в ОБЩЕМ кластере Kubernetes для некоторых специальных модулей.

Но я обнаружил, что открывать эти возможности в контейнере ужасно: https://www.redhat.com/en/blog/secure-your-containers-one-weird-trick

Я хотел бы знать, могут ли модули использовать эти возможности ТОЛЬКО для файлов/папок в модуле? Или они также могут использовать их в файлах/папках хоста, чтобы что-то взломать?

Я также открываю разрешение RunAsRoot, но отключаю разрешение Privileged.

Поэтому я хотел бы знать, есть ли какие-либо проблемы с безопасностью, чтобы включить эти возможности в кластере Kube?

Или есть способ ПРОСТО позволить некоторым специальным модулям иметь эти возможности?

Большое спасибо!


person user13220731    schedule 04.04.2020    source источник


Ответы (1)


До тех пор, пока вы доверяете контроллерам k8s (Deployment, StatefulSet, DaemonSet) этих модулей, у вас все в порядке с дополнительными возможностями, связанными с файловой системой. По умолчанию модули не могут записывать в файловую систему хоста. И у вас не должно быть hostPath тома в контроллерах ваших специальных модулей для исключить запись файловой системы хоста из этих модулей.

person Alex Vorona    schedule 05.04.2020
comment
Спасибо Алекс!!! Если это модули конечных пользователей, которые не контролируются нами и мы не предоставили им тома hostPath. Это тоже безопасно? - person user13220731; 06.04.2020
comment
Если у конечных пользователей есть доступ к API k8s для создания/изменения модулей/контроллеров, вы не сможете сделать его безопасным. Когда вся настройка k8s происходит с доверенной стороны, а единственной частью для конечного пользователя являются образы докеров, все в порядке. Однако мы не рассматриваем эксплойты ОС/контейнеров. Стандартный k8s еще не готов к работе в качестве общей пользовательской среды. - person Alex Vorona; 06.04.2020