Назад | Перейти на главную страницу

Является ли запуск Supervisor от имени root плохой идеей по соображениям безопасности?

Я хочу иметь гибкую настройку (нужно будет запустить Redis, Celery и uWSGI), но мне интересно, не стоит ли запускать Supervisor как root (по умолчанию), и если да, то почему это плохо.

Supervisor с радостью запускает от имени пользователя root и меняет пользователя процессов, которые вы запускаете для вас. Однако супервизор может открывать сетевые порты для соединений HTTP и XML-RPC, если вы настроите его для этого. Их открытость теоретически делает супервизор более уязвимым для работы с правами root, чем, например, DAEMON Tools.

При развертывании сервисов (например, для конкретного проекта, назовем его «fancysite») я создаю пользователя, соответствующего этой услуге («fancysite»), который, в свою очередь, запускает супервизор, а также все определенные демоны, которые составляют «fancysite», но не являются t запускать обычные сценарии инициализации из системы. Например. Я обычно запускаю nginx, PostgreSQL и другие на системном уровне с тем, что предоставляет дистрибутив, а затем устанавливаю вещи, которые не поддерживаются дистрибутивом, в пользователя «fancysite» и запускаю и управляю ими через супервизор.