Изучая курс “от 0 до Linux админа” на yodo.im, я столкнулся с проблемой. Как вы безопасно управляете разрешениями с Docker и NFS?
У меня есть NAS, гипервизор и виртуальная машина на этом гипервизоре, которая предоставляет сервисы Docker для нескольких контейнеров. Я пытаюсь усилить безопасность разрешений, но затрудняюсь с выбором лучшего подхода.
У меня есть четыре приложения Docker, и каждому из них нужно назначить собственную монтируемую NFS-долю для хранения данных. Как мне настроить разрешения таким образом, чтобы обеспечить их безопасность от NFS-сервера до NFS-клиента (вм-хост Docker) и до Docker-контейнеров?
Некоторые контейнеры Docker не поддерживают запуск от имени пользователей, не являющихся root. Например, Nextcloud работает с uid=33 www-data. Некоторые контейнеры требуют доступа к нескольким NFS-долям.
Исторически я предпочитал использовать отдельные виртуальные машины для приложений для обеспечения изоляции файловой системы, сетевых настроек и разрешений. Многие современные self-hosted приложения предлагают Docker Compose как предпочитаемый метод, поэтому у меня возникла проблема организации изоляции на уровне контейнеров, которую я имел с виртуальными машинами.
Я не понимаю, как правильно настроить права собственности на файлы и группы на NFS-сервере, как экспортировать эти настройки на NFS-клиент/вм-хост Docker так, чтобы приложения могли функционировать и была достигнута изоляция. Кажется, что моя виртуальная машина Docker стала значительной поверхностью для атак.
Буду рад любым советам и предложениям!