Как максимально обезопасить виртуальные хосты апача в windows?
Есть сервер на 2003 виндовсе, на нем живет ряд основных сервисов.
Также на нем крутиться сайт и еще две системы для просмотра статистики и управления этими сервисами.
Собственно хочется максимально обезопасить все эти системы и сайт друг от друга.
Дополнительные системы, очень специфические и написаны на пхп.
Но также они открыты для и распространяются бесплатно, т.е. у каждого желающего есть доступ для детального их изучения.
Для nix* систем можно запускать виртуальные хосты от разных юзеров, для виндовс я таких модулей не нашел.
Что вы можете посоветовать для максимального их разграничения, так чтобы при взломе одного не пострадали другие виртуальные хосты и не был получен какой либо доступ к другим файлам?
PS самое маньяческое решение это поставить nginx и виртуалку. Все перенести на виртуалку и nginx проксировать на неё. +)
В IIS есть фича Application Pool Isolation. Для Apache — можно запускать отдельный процесс для каждого пользователя, а потом (в главном апаче:80) объединить их, используя reverse proxy.
Ну тогда уж на уровне fastCGI разводить (для всех версий IIS 6+ работает).
И да, про отсутствие .htaccess в случае использования IIS не забываем. Даже при использовании эмулятора .htaccess под IIS, php через fastCGI запускается и параметров в .htaccess не видит. Но это не всем критично.
Из прямых соображений. То что вы указали — это не хостинг, а затравка для перехода на хостинг.
Ни один нормальный функциональный, пользующийся спросом проект не выживет на этих говнотарифах.
Пояндексите «выжимают на дорогие тарифы ».
1. Apache не умеет работать под Windows. Запускаться может, но работает глючно. Про это есть описание в сети.
2. У php есть механизмы защиты по директориям. Тот же open_base_dir в сочетании с блокировкой некоторых функций. Но периодически в этом находят баги, доказывая, что за говно php.
3. Для php обычно нужен apache (как типовое решение). Это всё лучше запускать под linux.
Просто виртуализацию из-под win2003 делать — не очень эффективно. Лучше поставить на железку hyper-v, под него запилить контейнер под win2003 и контейнеры под LAMP. Возможно, в вашем случае можно вообще под каждую площадку свой контейнер с ОС поставить.
Есть и со 2-й. Просто пока на компе разработки пробуешь (перезапускаешь часто), или не в связке, или на абсолютно чистой системе, но с небольшой нагрузкой, то прокатывает. Как только нагрузка хоть 10 000 хитов в сутки, используется работающий с большими объёмами памяти php, то иногда всё встаёт на свои места.
Кроме того, можете поискать по «apache windows nod32».
Здесь проблема в портировании. Кстати, многие используют apache под Windows в серьёзных боевых проектах. =)