Нужно установить другой владелец файла, чтобы отличить 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).

Кроме того, это немного повышает безопасность, поскольку делает то же самое, если один из ваших сайтов был взломан и на вашем сайте был запущен вредоносный код, по крайней мере другие ваши сайты не будут затронуты.

Недостатком является то, что вы должны отслеживать всех пользователей / папок.

Другие вопросы по тегам