Быстрое создание jail-машины во FreeBSD |
[исправить] |
Нам понадобится первый установочный диск FreeBSD 6.2 и немного свободного времени.
Предполагается что наша jail-машина будет размещена в директории /var/jail.
Список действий:
1. Создать директорию /var/jail/machine для jail-машины;
2. Смонтировать установочный диск и распаковать базовые файлы в директорию jail-машины:
# mount /cdrom
для bash:
# DESTDIR=/var/jail/machine /cdrom/6.2-RELEASE/base/install.sh
для csh:
# env DESTDIR=/var/jail/machine /cdrom/6.2-RELEASE/base/install.sh
3. Создать пустой файл /var/jail/machine/etc/fstab:
# touch /var/jail/machine/etc/fstab
4. Создать файл /var/jail/machine/etc/rc.conf со следующим содержанием:
# Запускаем sshd
sshd_enable="YES"
sendmail_enable="NONE"
syslogd_flags="-ss"
rpcbind_enable="NO"
network_interfaces=""
5. Теперь требуется создать непривилегированного пользователя и изменить
пароль пользователя root.
Входим в каталог jail-машины
# chroot /var/jail/machine /bin/csh
Создаем пользователя
# adduser
Меняем пароль пользователя root
# passwd
# exit
6. В файл /etc/rc.conf основной системы добавить:
# Разрешаем запуск jail-машин
jail_enable="YES"
# Запрещаем им менять свое имя jail_set_hostname_allow="NO"
# Перечисляем jail-машины в системе.
jail_list="machine"
# Jail-машина "machine"
# Корневая директория jail_machine_rootdir="/var/jail/machine"
# Имя jail_machine_hostname="machine.local"
# IP-адрес jail_machine_ip="192.168.0.10"
# На какой сетевой интерфейс будет цепляться jail-машина
jail_machine_interface="ed0"
# монтируем файловую систему devfs внутри jail-машины.
jail_machine_devfs_enable="YES"
# Скрипты запуска и останова
jail_machine_exec_start="/bin/sh /etc/rc"
jail_machine_exec_stop="/bin/sh /etc/rc.shutdown"
7. Кроме того требуется все запускаемые сервисы основной системы привязать к его ip-адресам
(не должны слушаться порты на ip-адресах jail-машин).
Например, в rc.conf:
# Супер-сервер inetd
inetd_enable="YES"
# Слушает порт только на 192.168.0.1
inetd_flags="-wW -a 192.168.0.1"
# Syslogd
syslogd_enable="YES"
# Не слушать порты
syslogd_flags="-ss"
8. Запускаем созданную jail-машину:
# /etc/rc.d/jail start
|
|
|
|
Раздел: Корень / Безопасность / Помещение программ в chroot |
1.1, RPetrov (?), 15:50, 27/12/2007 [ответить]
| +/– |
Я бы посоветовал просто make world -DNO_CLEAN DESTDIR=.... Это быстро, при условии, что вы сами собрали свой текущий world, а кроме того и система будет свежая. Таким образом можно быстро наделать нужное кол-во jail'ов.
| |
1.3, reaper (??), 14:00, 28/12/2007 [ответить]
| +/– |
это называется быстро? :)
make -C /usr/ports/sysutils/ezjail
ezjail-admin install
ezjail-admin create ...
| |
1.5, Николай (??), 13:34, 04/01/2008 [ответить]
| +/– |
можно рута на такой джейл ?
скопирую весь диск себе, мож найду чего интересного, конфиденциального...
| |
|
2.7, Князь (??), 06:20, 11/01/2008 [^] [^^] [^^^] [ответить]
| +/– |
>можно рута на такой джейл ?
>скопирую весь диск себе, мож найду чего интересного, конфиденциального...
можно, только дальше jail не уползешь
| |
|
1.6, sekrett (?), 02:45, 11/01/2008 [ответить]
| +/– |
Николай, на дырявость какого компонента вы намекаете? nullfs или ezjail?
| |
|
2.8, Николай (??), 10:48, 11/01/2008 [^] [^^] [^^^] [ответить]
| +/– |
devfs
# монтируем файловую систему devfs внутри jail-машины.
jail_machine_devfs_enable="YES"
+ jail_machine_devfsruleset='devfsrules_jail'
| |
|
|