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

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

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

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

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

AFAIK, все, с чем мне приходится работать, это базовые разрешения Linux. На одном сервере от меня ожидают предоставления "другим" разрешений для Apache. Затем удаление разрешений группы, в которой находятся все остальные пользователи, лишает их доступа. Это выглядит довольно окольным путем. На другом сервере есть группа, nobodyнастроенная public_htmlтолько с разрешениями группы.

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

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

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

Какова общепринятая схема?

Похожие вопросы:

решение1

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

chown -R apache:имя_группы /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#См. Защита файлов сервера http://www.anchor.com.au/hosting/dedicated/Усиление_безопасности_виртуального_хоста_Apache

Связанный контент