Я запускаю веб-сервер с nginx, а затем gunicorn для запуска приложения Django с Celery. Руководителем Supervisor управляют все процессы стрельбы и работники сельдерея. Мой вопрос: каковы наилучшие методы определения разрешений для каждого из процессов в стеке?Nginx + Supervisor + Gunicorn + Django + Celery - Проблемы с безопасностью
В настоящее время я в основном следующие значения по умолчанию, и я уверен, что есть некоторые детали, которые небезопасный здесь:
- мастер-процесс Nginx является корень, рабочий процессы выполняются в WWW-данных
- Supervisor работает как корень
- Gunicorn работает как корень (я попытался установить его в качестве другого использования, но этот процесс не стал бы)
- PostgresSQL и RabbitMQ бежать как их собственные пользователи (Postgres и RabbitMQ)
- Я еще не установил сельдерей, но их документы говорят, что они не запускаются под корень
Какие разрешения могут быть затянуты и какие файлы у меня есть, чтобы обеспечить им доступ для работы?
I также нашли этот ответ на serverfault полезным: http://serverfault.com/a/357109 – hgcrpd