я хочу "отлично" защитить мою установку apache PHP на сервере Linux. В истории у меня были проблемы с script-virues / exploids, поэтому это должно быть "безопасное" решение.

Мое текущее решение:

  • Каждое веб-пространство имеет своего пользователя со своими группами пользователей (например, user1: user1).
  • Apache работает под http: http
  • PHP работает через быстрый CGI и SuexecUserGroup user1 : user1
  • Каталог веб-пространства принадлежит user1: http, для первоначальной установки chmods: равным 0, а затем chmod u+rwX, g+rX. Это означает, что владелец (пользователь1) имеет полный доступ, группа имеет доступ для чтения, другие не имеют доступа.

Это работает нормально и безопасно ... но не будет работать, когда:

  • Создание файла через PHP
  • загрузка файла через FTP.

Затем файл будет создан как user1:user1. Это (обычно) коррет. Но у apache (http:http) больше нет доступа.

Одно из возможных решений:«Сохраните все файлы как user1:user1, но запустите apache от имени root. Но это не очень безопасно ...

Итак, что может быть хорошим решением? Конечно, я рад десяткам блогов, но у каждого решения будет другая проблема.

1 ответ1

0

Хорошим решением может быть добавление пользователя Apache (http) в каждую группу пользователей:

adduser http user1
adduser http user2
adduser http user3
etc...

Для этого вам понадобится небольшой скрипт, но в большинстве случаев он предоставляет Apache необходимый доступ.

Альтернативное / лучшее решение

Посмотрите, есть ли у FTP-сервера опция для группы по умолчанию для созданных файлов и настройки PHP с SuexecUserGroup user1:http

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .