Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Виртуальный хостинг и apache в chroot. (http://forum.oszone.net/showthread.php?t=53047)

Dmitry am 24-08-2005 11:49 350321

Виртуальный хостинг и apache в chroot.
 
От полноценного виртуального хостинг-сервера требуется, следующий набор сервисов: apache+php+cgi+mysql+ftp+ssh+cron+sendmail, ну и конечно же защитить сервер от пользователей и пользователей друг от друга.

Размещение apache в закрытой среде решает некоторые проблемы безопасности, и добавляет проблемы с предоставлением некоторых сервисов. Так если для ftp и ssh вообще параллельно, где apache лежит, для mysql достаточно создать всего одну жесткую ссылку, а что для sendmail и cron?

Так же размещать на одной файловой системе и создавать жесткие ссылки, на все, что потребуется? Впрочем не велосипед изобретаю, может быть все просто решается, что скажете?

Belansky 25-08-2005 09:32 350615

Dmitry am
Да, все решается проще посредством использования jail, специально существующего для таких целей.

Dmitry am 25-08-2005 12:00 350678

Belansky, т.е. в "боевых" условиях chroot для предоставления виртуального хостинга не используется?

mar 25-08-2005 13:23 350719

Dmitry am
Дело не в том, что используется, а в том, что лучше использовать :)
Во FreeBSD есть jail, который безопасней chroot, ну и Ваши проблемы (то бишь вопросы), заодно решает

Dmitry am 25-08-2005 14:50 350742

Да нет у меня конкретных проблем(к сожалению), просто сейчас пытаюсь постичь основы конфигурирования веб-сервера под unix, и рассматриваю все возможные варианты. Для chroot удалось нагуглить, более менее понятные доки, поэтому этот вариант первый(осталось только с cron`ом и sendmail`ом разобраться). Для jail, н и ч е г о дельного найти не удалось, более того, даже не знаю, с какой стороны он разговаривает, но все равно обещаю, что он будет следующий :-).

Сейчас значит буду сносить фрю, переставлять ее на один раздел(что бы жесткие ссылки работали) и заканчивать с chroot`ом.



mar 25-08-2005 17:11 350795

Dmitry am
ну, про jail, - это Вы зря. Документации - более чем (посмотрите на opennet)
Про проблемы сравнительной безопасности chroot vs jail - - ssh для юзера в chroot и возможная небезопасность (то, с чем я столкнулась). А есть и более "простые" варианты - например, способы выхода из jail

Dmitry am 25-08-2005 17:40 350805

mar, вы девушка?

Belansky 25-08-2005 19:29 350829

Dmitry am
Цитата:

mar, вы девушка?
А Вы не знали? :)
А про jail очень много информации в сети. И, конечно, man jail.

Dmitry am 25-08-2005 20:35 350846

>А Вы не знали?
Откуда, я ж не местный и никто мне не рассказывал, а если бы и рассказывал, то все равно бы не поверил :-).

>А про jail очень много информации в сети.
ок, хромая английским...сижу "читаю".

archy 26-08-2005 11:51 351008

Достойная статья на эту тему

Dmitry am 26-08-2005 17:15 351087

>очень много информации
да нету там, ничего, только переписанный всеми кому не лень 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 351317

После некоторой пляски с бубном, переставил ось и заново по той же схеме виртуальную машину, в итоге запустилось.
Правда top по прежнему не запускается и выдает тоже сообщение.

В процессе возникло несколько вопросов:
1. «Песочница» в итоге весит около 150мб, неужели это все нужно? Есть ли возможность «ручной» сборки?
2. Компиляция довольно длительный процесс, можно ли однажды скомпилированную структуру тиражировать простым копированием? Я это конечно сейчас попробую, но вдруг там грабли какие есть.
3. А как вообще можно посмотреть, сколько ресурсов эта штуковина жрет, в top’е принадлежность процесса не видно, а с ps как-то работать не приходилось.
4. Может кто знает прямую ссылку, на какую-нибудь доку, в которой описывается продвинутая(например по первому вопросу, и подобное) настройка jail.

Dmitry am 27-08-2005 18:06 351318

А еще на диске с пакаджами есть несколько утилит, может кто в курсе, что за штуковины такие?

jailadmin-1.7.tgz
jailer-1.1.2.tgz
jailutils-0.5.4.tgz
jkill-1.0.tgz

archy 28-08-2005 10:39 351445

Dmitry am
Установи, полезные тулзы.
В jail можно запускать не всю систему, а только процессы... Где то в сети я видел список файлов, которые точно не пригодятся в jail для хостинга с shell. Для того чтобы обновить весь jail достаточно в дире с сырцами сделать make installworld DESTDIR=/dir/to/jail

Dmitry am 28-08-2005 16:19 351501

Цитата:

В jail можно запускать не всю систему, а только процессы
Имеется в виду подобное: - “# jail /jail jailhost 169.254.8.108 /usr/local/sbin/httpd”?

archy 29-08-2005 12:47 351720

Dmitry am
да, так и есть

Dmitry am 01-09-2005 00:37 352389

Есть несколько вопросов по статье "Использование jail(2) для предоставления untrusted shell access":

1. Там упоминается http и tcp прокси, какой софт имеется в виду? Для http видимо сквид, а что для tcp?
2. Там есть несколько вариантов монтирования файловой системы. А как это будет выглядеть? Создаем файловую систему jail, удаляем и заменяем лишнее на подмонтированные каталоги? И какой из вариантов лучше использовать, и где про это можно почитать?
3. Там картинка есть :-), mysqld загнан на отдельную виртуальную машину. А зачем? И что-то я не понял маневра: -"...Пользователи ходят из внутреннего shell-а на database jail по tcp..."; могли бы вы это прокомментировать?
4. А где там на картинке sendmail по идее находится?


Время: 09:54.

Время: 09:54.
© OSzone.net 2001-