Назад | Перейти на главную страницу

безопасно ли chmod 775/664 с www-data владельца: www-data?

Чтобы упростить работу с моим веб-сервером, я предлагаю сделать что-то вроде следующего:

sudo chown www-data:www-data /var/www -R
cd /var/www
sudo find . -type f -exec chmod 664 {} \;
sudo find . -type d -exec chmod 775 {} \;

Мой ежедневный пользователь тоже добавлен в группу www-data.

У меня вопрос: это глупый / рискованный набор разрешений? Предоставление группе www-data этих разрешений открывает мой сервер?

Спасибо Алекс

Обычно вы просто хотите, чтобы папки загрузки или автоматически созданные файлы были доступны для записи www-data пользователь.

В любом случае риск, который вы здесь открываете, заключается в том, что если ваше веб-приложение имеет какую-либо ошибку / уязвимость, которая может позволить злоумышленнику выполнить код на вашем сервере, этот код будет выполняться как www-data (пользователь, запущенный процесс apache), и он может полностью удалить все ваши веб-сайты.

Не рекомендуется иметь права на запись для всей папки, большинству веб-сайтов (например, wordpress, joomla и magento) требуется разрешение на запись в определенные папки (загрузка изображений, загрузка файлов). Лучший способ - дать разрешение на запись в папки. и не разрешать выполнение сценария (PHP, python), всегда проверяйте, загружает ли пользователь правильный контент, например, если ваш веб-сайт позволяет пользователю загружать изображение в качестве аватара, проверьте, является ли это изображением, а не поддельным изображением с PHP скриптом внутри. И проблема с правами на запись в корень веб-сайта заключается в том, что если кто-то обнаружит уязвимость, он может использовать ее для записи нового файла index.php и «взлома» вашего веб-сайта.

Вы не должны разрешать обычным пользователям доступ к этому каталогу. Если пользователю не нужно писать или выполнять из этого каталога, ему не должно быть разрешено это делать. Как минимум, я бы ограничил разрешения до 755. Только root (или пользователь с root-доступом) и www-data должны иметь возможность писать в этот каталог.

Само по себе нет, если ваш веб-сервер не настроен для обработки запросов POST и тому подобного. Однако в случае возникновения какой-либо ошибки на веб-сервере или его клиентских сценариях, которая позволяет производить запись в файловую систему (а с учетом количества сценариев PHP, вероятность этого равна 1), весь ваш контент становится доступным для записи. Итак: это рискованно, и вам следует рассмотреть другие альтернативы.

Это действительно звучит рискованно, если предположить, что www-data является пользователем, доступным веб-серверу - вы по существу теряете защиту от записи, обеспечиваемую ACL. Второй вариант (775) также повышает риск того, что злоумышленник сможет удаленно запустить код на вашем компьютере.