Рассмотрите возможность использования Linux пространств имен , например, Docker контейнеров. Таким образом, вы можете предоставить или ограничить доступ к системным ресурсам, таким как сетевые карты, устройства хранения и т. Д. c.
Например, у вас есть веб-сервер и сервер базы данных. Вы можете создать два контейнера: один для веб-сервера, а второй для базы данных. Каждый из контейнеров имеет свою собственную файловую систему или, если быть точным, собственный просмотр в файловой системе (пространстве имен). Следовательно, нарушение безопасности веб-сервера не может напрямую повлиять на базы данных, поскольку они не видны из файловой системы веб-сервера. Более того, оба контейнера имеют отдельные пользовательские разрешения, поэтому веб-администратор с доступом root по-прежнему не может испортить базы данных.
Точно так же, как вы можете запретить доступ к USB-накопителю: в хост-системе вы можете создавать резервные копии из всех контейнеров Docker на USB-накопитель, в то время как контейнеры не имеют доступа к резервным копиям, как USB хранилище для них вообще не существует.