apache+php-fpm и безопасность в общей среде по сравнению с apache+suexec+mod_fastcgi

Я использую Apache с suexec и mod_fastcgi. Он запускает обработчики PHP как выбранный системный пользователь и слушает запрос через PIPES (протокол fastcgi). Это работает хорошо, но не может поделиться кодом операции через много обработчиков.

Я изучал подход php-fpm. Это действительно плохо задокументировано. Я вижу только то, что он работает только как TCP-сервер fastcgi, например 127.0.0.1:9999, под выбранным пользователем системы, и Apache должен подключиться к нему с помощью FastCGIExternalServer или fastcgi proxy mod.

Что помешает другим локальным пользователям подключиться к 127.0.0.1:9999 и передать их собственный код обработчику, работающему от имени другого системного пользователя?

Это кажется совершенно небезопасным в общей среде. Я что-то упустил или что?

1 ответ

Да, они могут отправлять запросы, но чем это отличается от того, что они делают в браузере или в wget? Все, что они получат, это вывод php.

Они могут вызвать проблемы, загоняя ваш сервер php-fpm запросами. Но любой ввод, который они могут отправить, должен обрабатываться так же, как если бы он поступил из запроса браузера.

Но они вмешиваются после любых проверок безопасности apache / nginx, таких как mod_security и т. Д. Так что это может быть проблемой, если у вас есть уязвимое php-приложение.

Но если у вас есть свои пулы, настроенные для запуска каждого пула как отдельного пользователя, и вы устанавливаете php-файлы не доступными для чтения, это не должно быть слишком плохо, если я тоже что-то упустил.

Другие вопросы по тегам