Почему PHP open_basedir не считается моделью безопасности

На серверах, использующих общий веб-хостинг или разделяющих среду PHP между различными приложениями PHP, я обычно реализую политику безопасности, которая использует PHP open_basedir ограничить каждого пользователя его / ее собственным каталогом (наряду с другими директивами PHP, такими как disable_functions например). Я также вижу довольно много сообщений здесь на SF, обсуждающих преимущества использования этой функции.

Однако теперь я наткнулся на это уведомление в файле пакета Debian. README.Debian.security явно заявив, что они не обеспечивают поддержку безопасности (среди прочего):

* Vulnerabilities involving any kind of open_basedir violation, as
  this feature is not considered a security model either by us or by
  PHP upstream.

Поэтому мне интересно, действительно ли это заявление просто отменяет какую-либо ответственность или имеет более фундаментальные причины?

В частности, как бы вы защитили сервер PHP, используемый несколькими разными пользователями без open_basedir и пытаясь не поднять усилия по обслуживанию до высокого? Или вы просто порекомендовали бы никогда не делать виртуальный хостинг, как заявляют разработчики PHP в своей заметке о безопасности?

1 ответ

Кажется, причина отказа в том, что есть способы выйти из правила open_basedir. Я бы по-прежнему использовал его на общем хосте, но не рассчитывал на его единственную безопасность. Кроме того, каждый виртуальный хост принадлежит другому пользователю и запускает процесс apache под этой учетной записью для сценариев на этом хосте.

На ваш более общий вопрос я думаю, что возраст виртуального хостинга почти закончился. Технология виртуального хоста достигла такого уровня, что общий хост практически бесполезен.

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