Безопасность файлов веб-приложений и паролей базы данных в среде совместного использования linux

У меня есть веб-приложение на Linux-хостинговой машине. .htpasswd , у меня есть файл .htpasswd , некоторые конфиги, которые хранят пароль базы данных, и обычно не хотят, чтобы люди просматривали мой исходный код, ища уязвимости.

Веб-серверу (apache) требуется доступ для чтения (и запись в некоторых случаях) к вышеуказанным файлам. Однако я не хочу, чтобы другие люди на одном общем хосте имели доступ.

Я никогда не понимал, как это должно работать. Вопрос здесь схож, но, похоже, указывает на то, чтобы остановить веб-приложение от размещения файла паролей случайно.

AFAIK, все, с чем мне нужно работать, – это базовые разрешения linux. На одном сервере я ожидаю предоставить «другие» разрешения для apache. Затем, удалив групповые разрешения, все остальные пользователи, отказывают им в доступе. Это кажется довольно крутым. На другом сервере нет группы, установленной в public_html с установленными только групповыми разрешениями.

Одна из проблем заключается в том, что если пользователь apache имеет доступ к моим файлам, простой скрипт может быть написан и выполнен, чтобы получить доступ другим пользователем:

 <?php header("Content-Type: text/plain"); include $_GET['f']; ?> 

TLDR: мне нужно, чтобы apache имел доступ к исходным файлам и паролям, но не к другим пользователям на одном компьютере (кроме admins ofc).

Что такое обычная установка?

Связанные вопросы:

  • Как разрешить доступ Apache к файлу, но не позволять другим просматривать его?
  • https://unix.stackexchange.com/questions/30879/what-user-should-apache-and-php-be-running-as-what-permissions-should-var-www
  • https://askubuntu.com/questions/26848/permissions-issue-how-can-apache-access-files-in-my-home-directory

  • Chown: изменение права собственности не разрешено, хотя выполняется как root
  • AHK работает url как автономная программа - обходной путь
  • Горячие клавиши для Firefox 4?
  • Есть ли способ в Linux обновить свойства пользователя / группы без повторного входа в систему?
  • Autohotkey - горячая клавиша 1 что-то делать, последовательность клавиш 11 делает другую вещь
  • Linux: обмен беспроводным подключением через тот же беспроводной интерфейс
  • One Solution collect form web for “Безопасность файлов веб-приложений и паролей базы данных в среде совместного использования linux”

    Создайте группу, добавьте apache / www-данные в группу. Затем:

    Chown -R apache: groupname / var / www / mywebapp / && \ chmod -R 640 / var / www / mywebapp

    Это предоставит владельцу возможность читать и писать (6), а права доступа к группе (4) для папки и всех подкаталогов и файлов. Пользователь apache сможет получить доступ к файлам, как и владелец, но другие не смогут. Вы должны убедиться, что они не могут выполнить su с пользователем apache.

    Используйте блоки каталогов в конфигурации vhost для ограничения доступа на уровне папки. http://httpd.apache.org/docs/2.0/misc/security_tips.html #See Protect Server Files http://www.anchor.com.au/hosting/dedicated/Security_Hardening_of_an_Apache_Virtual_Host

    Давайте будем гением компьютера.