PHP пишет в 755, а раньше мог писать только в 777. Почему так?

Jeka
На сайте с 09.10.2003
Offline
159
580

Прошу помочь разобраться:

Раньше я пользовался админ-панелью ISP Manager 4 с PHP5, и скрипт сайта мог производить запись только в директорию с правами 777. При попытке записи в 755 выдавался Warning вроде "failed to open stream: Permission denied..."

Сейчас, после перехода на ISP 5 с PHP7, скрипты могут писать в 755. Я так понимаю, что это потенциальная уязвимость.

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

Режим работы PHP: модуль Apache

Версия PHP: 7.0.22 (native)

ОС: Ubuntu 16.04

edogs software
На сайте с 15.12.2005
Offline
775
#1
Jeka:
Прошу помочь разобраться:
Раньше я пользовался админ-панелью ISP Manager 4 с PHP5, и скрипт сайта мог производить запись только в директорию с правами 777. При попытке записи в 755 выдавался Warning вроде "failed to open stream: Permission denied..."
Сейчас, после перехода на ISP 5 с PHP7, скрипты могут писать в 755. Я так понимаю, что это потенциальная уязвимость.

Как раз наоборот.

Необходимость иметь папки с правами 777 для записи в общем это потенциальная уязвимость.

Т.к. писать в такие папки может кто ни попадя.

А вот достаточность 755 это как раз хорошо.

Достаточность 755 означает, что папки у Вас имеют того же владельца, под которым запускаются пхп скрипты. Т.е. как раз сейчас все настроено правильно.

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

Коротко - всё у Вас хорошо и даже лучше чем было.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
Jeka
На сайте с 09.10.2003
Offline
159
#2

edogs, вот как! Не знал. Спасибо, успоколили :)

---------- Добавлено 26.03.2018 в 00:50 ----------

А если посмотреть на это с другой стороны:

- раньше я мог быть уверен, что если какой-то дырявый скрипт позволяет заливать файлы в любую директорию (гипотетически), то он сможет залить ее только в директорию с правами 777 (ибо 755 отдаст ему Warning). А во всех 777 директориях закрыто исполнение php или стоит deny from all.

- сейчас через этот гипотетический скрипт могут залить файл в любую директорию, и сразу получить прямой доступ к шеллу.

Разве в первом случае было не безопаснее?

edogs software
На сайте с 15.12.2005
Offline
775
#3
Jeka:
А если посмотреть на это с другой стороны:

- раньше я мог быть уверен, что если какой-то дырявый скрипт позволяет заливать файлы в любую директорию (гипотетически), то он сможет залить ее только в директорию с правами 777 (ибо 755 отдаст ему Warning). А во всех 777 директориях закрыто исполнение php или стоит deny from all.

- сейчас через этот гипотетический скрипт могут залить файл в любую директорию, и сразу получить прямой доступ к шеллу.

Разве в первом случае было не безопаснее?

Если хочется оградить какие-то директории от записи туда скриптом, то надо для этих директорий или поменять владельца или выставить 555.

В первом случае ситуация будет аналогичная той, которая была у Вас и раньше, с тем лишь отличием (важным), что у Вас не будет 777 директорий, в которые может писать каждая собака, а скрипт Ваш будет писать в его личную директорию (а не общественнодоступную).

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

И да, запрет исполнения php и deny from all далеко не всегда качественно реализуются.

Например, тот же .htaccess в котором прописано deny from all, если он находится в директории 777 может быть удалён кем попало, т.к. для удаления файла нужны права к директории, а не к файлу. И оппа - файла нет - запрета нет. Если запрет исполнения php так же реализуется через htaccess, то ой.

D
На сайте с 28.06.2008
Offline
1108
#4

Jeka, если боишься взлома - поставь это /ru/forum/900084, лично меня спасало уже трижды за 5 лет.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий