Показать полную графическую версию : Виртуальный хостинг и apache в chroot.
Dmitry am
24-08-2005, 11:49
От полноценного виртуального хостинг-сервера требуется, следующий набор сервисов: apache+php+cgi+mysql+ftp+ssh+cron+sendmail, ну и конечно же защитить сервер от пользователей и пользователей друг от друга.
Размещение apache в закрытой среде решает некоторые проблемы безопасности, и добавляет проблемы с предоставлением некоторых сервисов. Так если для ftp и ssh вообще параллельно, где apache лежит, для mysql достаточно создать всего одну жесткую ссылку, а что для sendmail и cron?
Так же размещать на одной файловой системе и создавать жесткие ссылки, на все, что потребуется? Впрочем не велосипед изобретаю, может быть все просто решается, что скажете?
Belansky
25-08-2005, 09:32
Dmitry am
Да, все решается проще посредством использования jail, специально существующего для таких целей.
Dmitry am
25-08-2005, 12:00
Belansky, т.е. в "боевых" условиях chroot для предоставления виртуального хостинга не используется?
Dmitry am
Дело не в том, что используется, а в том, что лучше использовать :)
Во FreeBSD есть jail, который безопасней chroot, ну и Ваши проблемы (то бишь вопросы), заодно решает
Dmitry am
25-08-2005, 14:50
Да нет у меня конкретных проблем(к сожалению), просто сейчас пытаюсь постичь основы конфигурирования веб-сервера под unix, и рассматриваю все возможные варианты. Для chroot удалось нагуглить, более менее понятные доки, поэтому этот вариант первый(осталось только с cron`ом и sendmail`ом разобраться). Для jail, н и ч е г о дельного найти не удалось, более того, даже не знаю, с какой стороны он разговаривает, но все равно обещаю, что он будет следующий :-).
Сейчас значит буду сносить фрю, переставлять ее на один раздел(что бы жесткие ссылки работали) и заканчивать с chroot`ом.
Dmitry am
ну, про jail, - это Вы зря. Документации - более чем (посмотрите на opennet) (http://www.opennet.ru/search.shtml?exclude=index%7C%2Fman.shtml&words=jail)
Про проблемы сравнительной безопасности chroot vs jail - - ssh для юзера в chroot и возможная небезопасность (http://forum.oszone.net/showthread.php?t=42040) (то, с чем я столкнулась). А есть и более "простые" варианты - например, способы выхода из jail
Dmitry am
25-08-2005, 17:40
mar, вы девушка?
Belansky
25-08-2005, 19:29
Dmitry am
mar, вы девушка?
А Вы не знали? :)
А про jail очень много информации в сети. И, конечно, man jail.
Dmitry am
25-08-2005, 20:35
>А Вы не знали?
Откуда, я ж не местный и никто мне не рассказывал, а если бы и рассказывал, то все равно бы не поверил :-).
>А про jail очень много информации в сети.
ок, хромая английским...сижу "читаю".
Достойная статья (http://hellbell.h1.ru/jail/) на эту тему
Dmitry am
26-08-2005, 17:15
>очень много информации
да нету там, ничего, только переписанный всеми кому не лень man jail(где подробности особо не описываются), и вот то, что archy предлагает, но это уже на другую тему, а я ее пока даже дефолтным методом заставить работать не могу:
Добавил на основной системе в rc.d jail.sh
--------------------------------------------------------------
mount -t procfs proc /usr/jail/proc
jail /usr/jail jailhost 169.254.8.108 /bin/csh /etc/rc
--------------------------------------------------------------
при запуске выдает
trap: Command not found.
trap: Command not found.
bootmode=: Command not found.
HOME=/: Command not found.
PATH=/sbin:/bin:/usr/sbin:/usr/bin: Command not found.
export: Command not found.
if: Expression Syntax.
В ps никаких процессов с “J” не видно, никаких открытых портов на 169.254.8.108 не висит.
Что делал. Да все как в man написано: создал дерево, перенастроил/отключил все процессы слушающие все ip в системе, запустил jail #jail /usr/jail jaihost 169.254.8.108, полазил в нем(top не работает, говорит: -“kvm _open: short read top: kvm_read for _ccpu: Unknown error:0”), добавил пустой fstab, создал rc.conf: portmap_enable=”NO”; network_interfaces=””;, сменил пароль руту, потом вышел из оболочки в основную систему, и создал приведенный выше сценарий.
Dmitry am
27-08-2005, 18:01
После некоторой пляски с бубном, переставил ось и заново по той же схеме виртуальную машину, в итоге запустилось.
Правда top по прежнему не запускается и выдает тоже сообщение.
В процессе возникло несколько вопросов:
1. «Песочница» в итоге весит около 150мб, неужели это все нужно? Есть ли возможность «ручной» сборки?
2. Компиляция довольно длительный процесс, можно ли однажды скомпилированную структуру тиражировать простым копированием? Я это конечно сейчас попробую, но вдруг там грабли какие есть.
3. А как вообще можно посмотреть, сколько ресурсов эта штуковина жрет, в top’е принадлежность процесса не видно, а с ps как-то работать не приходилось.
4. Может кто знает прямую ссылку, на какую-нибудь доку, в которой описывается продвинутая(например по первому вопросу, и подобное) настройка jail.
Dmitry am
27-08-2005, 18:06
А еще на диске с пакаджами есть несколько утилит, может кто в курсе, что за штуковины такие?
jailadmin-1.7.tgz
jailer-1.1.2.tgz
jailutils-0.5.4.tgz
jkill-1.0.tgz
Dmitry am
Установи, полезные тулзы.
В jail можно запускать не всю систему, а только процессы... Где то в сети я видел список файлов, которые точно не пригодятся в jail для хостинга с shell. Для того чтобы обновить весь jail достаточно в дире с сырцами сделать make installworld DESTDIR=/dir/to/jail
Dmitry am
28-08-2005, 16:19
В jail можно запускать не всю систему, а только процессы
Имеется в виду подобное: - “# jail /jail jailhost 169.254.8.108 /usr/local/sbin/httpd”?
Dmitry am
01-09-2005, 00:37
Есть несколько вопросов по статье "Использование jail(2) для предоставления untrusted shell access":
1. Там упоминается http и tcp прокси, какой софт имеется в виду? Для http видимо сквид, а что для tcp?
2. Там есть несколько вариантов монтирования файловой системы. А как это будет выглядеть? Создаем файловую систему jail, удаляем и заменяем лишнее на подмонтированные каталоги? И какой из вариантов лучше использовать, и где про это можно почитать?
3. Там картинка есть :-), mysqld загнан на отдельную виртуальную машину. А зачем? И что-то я не понял маневра: -"...Пользователи ходят из внутреннего shell-а на database jail по tcp..."; могли бы вы это прокомментировать?
4. А где там на картинке sendmail по идее находится?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.