Нужно установить другой владелец файла, чтобы отличить Apache Vhost?
Я имею vhost1
,vhost2
под апачем.
Нужно ли устанавливать /var/www/vhost1
владелец файла vhostuser1
,задавать /var/www/vhost2
владелец файла vhostuser2
,
Кто-то сказал, что это необходимая настройка для безопасности, предположим, vhost1
был взломан,vhost2
не пострадает.
2 ответа
Основная проблема не в использовании выделенных пользовательских / групповых настроек для каждого vhost DocumentRoot
; скорее, ключевым моментом является то, что по умолчанию httpd
Процесс запускается с одинаковым разрешением для всех ваших виртуальных хостов. Это означает, что мошенник php
сценарий под vhost1
могу прочитать все vhost2
файлы.
Решение состоит в том, чтобы запустить каждый httpd
обрабатывать в соответствии с конкретными разрешениями пользователя. Это делается через apache-mpm-itk
модуль. С помощью этого модуля вы можете указать пользователя / группу, под которой будет работать один vhost. Комбинируя это с ограничительными разрешениями на стороне файловой системы /DocumentRoot, вы можете эффективно предотвратить скомпрометированный vhost для изменения / шпионажа других сайтов, размещенных на том же сервере.
Другие, более тяжелые подходы:
- запустить каждый
httpd
процесс под его chroot; - расширенное использование Linux VPS / контейнеров для создания отдельного экземпляра для каждого сайта.
Нет, это не обязательно, но имеет смысл, если вы развернули сервер, к которому имеют доступ несколько пользователей. Если вы хотите сделать это, вам придется работать с suexec, который выполняет сценарии cgi от имени соответствующего пользователя вместо пользователя по умолчанию www-data.
Эта настройка в основном используется, если у вас есть веб-сервер, который используется несколькими пользователями, и вы не хотите, чтобы они обращались к данным друг друга / манипулировали ими (например, когда они могут запускать свои собственные сценарии php).
Кроме того, это немного повышает безопасность, поскольку делает то же самое, если один из ваших сайтов был взломан и на вашем сайте был запущен вредоносный код, по крайней мере другие ваши сайты не будут затронуты.
Недостатком является то, что вы должны отслеживать всех пользователей / папок.