Какого Пользователя NGinx и PHP должны выполнять как?

Как предложено комментарием Alexander, это кажется, что можно пытаться изменить списки управления доступом через интерфейс управления IIS, когда на самом деле необходимо изменить отдельный каталог ACLs through Explorer.

Вы, возможно, также должны изменить способ, которым Проводник показывает безопасность и делящуюся информацию (Меню Tools, Опции Папки..., вкладка View) для отключения "Простого Совместного использования" или "Совместного использования Мастера".

15
задан 11 August 2009 в 15:26
3 ответа

Это - то, как это работает: Когда Вы входите в систему через FTP/SSH и загружаете файлы, они создаются с Вашими полномочиями. Вероятно, Ваш webroot является миром, перезаписываемым (0777), который небезопасен - каждый пользователь в системе может записать что-то там. PHP работает с различными полномочиями пользователя (Они указаны в конфигурации PHP-FPM, не nginx конфигурация), и поскольку каталог является перезаписываемым миром, пользователь PHP (www-данные) может также записать там. Но владелец этого файла является www-данными, не Вашей учетной записью. Они - 2 отличных учетных записи на уровне разрешения файловой системы.

Я предлагаю, чтобы Вы создали выделенного пользователя с наименее возможными полномочиями, которые владели бы webroot каталогом и будут использоваться для загрузки FTP/SSH И выполнили бы php. Необходимо изменить конфигурацию PHP-FPM, в разделе рабочего существует пользовательская запись и конфигурация NGINX, таким образом, можно сделать файлы веб-сайта not-world-readable и более безопасный.

Не выполняйте PHP с привилегированным (sudo возможности, запишите полномочия outsite docroot), пользователь, который мог вызвать компромисс безопасности сервера.

12
ответ дан 2 December 2019 в 20:54
  • 1
    Хороший ответ, я создал нового пользователя, новые папки, скопировал все, применил корректные полномочия и chrooted пользователь. Работы приятно.Спасибо. –  The Pixel Developer 11 August 2009 в 18:44

www-data пользователь и группа довольно типичны. Это может быть www или сеть в других системах, но идея является тем же: Выполните веб-сервисы со специализированной учетной записью. Таким образом, когда Ваш веб-сервер поставлен под угрозу, взломщик только сможет получить доступ к файлам, которые предоставили эту учетную запись.

Если пользователь должен управлять веб-сервисами, необходимо добавить пользователя к соответствующей группе (www-данные) или позволить ему su (или sudo) соответствующему пользователю (все еще www-данные).

2
ответ дан 2 December 2019 в 20:54

Я стараюсь не иметь nginx/php, выполняют сценарии, принадлежавшие как www-данные из соображений безопасности.

1
ответ дан 2 December 2019 в 20:54

Теги

Похожие вопросы