Есть ли проблемы с безопасностью, когда я устанавливаю `apache` в качестве единственного владельца файлов и папок на веб-сайтах?
Мой сервер centos 7
,с php 5.4
,apache 2.4
, Мой сайт находится в /var/www
,
Что касается apache
только один пользователь читает или пишет в /var/www
Я установил все файлы и папки для владельца и группы на apache
:
Только для папок и файлов:-r------- 1 apache apache 922 Jun 3 2014 connect.php
Для файлов необходимо написать:-rw------- 1 apache apache 922 Jun 3 2014 connect.php
Что означает только 600
или же 400
для разрешения файлов.(*.php не нужно x
разрешение)
Что касается разрешения папок, только 500
или же 700
,
Это должно быть наилучшей практикой, поскольку разрешите как можно меньше объявлений.
Есть ли проблемы с безопасностью?
1 ответ
Нет, это не лучшая практика. Пользователь, работающий под Apache, не должен владеть какими-либо файлами или каталогами. Этот пользователь должен иметь доступ только для чтения к чему угодно, особенно к исполняемым файлам, таким как *.php
, если только доступ для записи не требуется специально для конкретного случая, такого как каталог загрузки.
Причина этого довольно проста: если злоумышленник может найти эксплойт, позволяющий ему выполнить свой собственный код в процессе веб-сервера, он может записывать любые файлы, в которые веб-сервер может записывать. Если веб-сервер имеет доступ на запись к исполняемым файлам, это означает, что они могут изменять исполняемые файлы так, чтобы они делали все, что выберет злоумышленник, всякий раз, когда пользователь обращается к соответствующим URL-адресам. Даже если они имеют доступ только на запись к неисполняемым файлам (например, *.html
), это дает им контроль над контентом, отправляемым пользователям вашего сайта, включая возможность отправлять им вредоносный JavaScript или встроенный контент.
Создание файлов, принадлежащих пользователю веб-сервера с chmod 400
не лучше, так как пользователь, которому принадлежит файл, может по своему желанию изменить свое разрешение, чтобы предоставить себе доступ для записи.