<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Case &#187; jail</title>
	<atom:link href="http://case.net.ru/tag/jail/feed/" rel="self" type="application/rss+xml" />
	<link>http://case.net.ru</link>
	<description>Just another technical weblog</description>
	<lastBuildDate>Sun, 29 Jan 2012 08:48:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Настройка Jail в FreeBSD с помощью ezjail</title>
		<link>http://case.net.ru/2009/07/14/ezjail/</link>
		<comments>http://case.net.ru/2009/07/14/ezjail/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 14:34:45 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ezjail]]></category>
		<category><![CDATA[jail]]></category>

		<guid isPermaLink="false">http://case.net.ru/?p=652</guid>
		<description><![CDATA[Перевод: Сгибнев Михаил Оригинал: Setup FreeBSD Jail With ezjail Зададимся вопросом &#8211; как, используя сервер на базе FreeBSD, получить несколько независимых окружений, в народе называемых jail? Например, как использовать одну из jail для почтового сервера, а вторую для web-сервера, при этом каждая jail должна иметь собственный IP-адрес? Каждая jail на FreeBSD имеет собственные файлы, процессы [...]]]></description>
			<content:encoded><![CDATA[<p>Перевод: <a href="http://dreamcatcher.ru">Сгибнев Михаил</a><br />
Оригинал: <a href="http://www.cyberciti.biz/faq/howto-setup-freebsd-jail-with-ezjail/">Setup FreeBSD Jail With ezjail</a></p>
<p>Зададимся вопросом &#8211; как, используя сервер на базе FreeBSD, получить несколько независимых окружений, в народе называемых jail? Например, как использовать одну из jail для почтового сервера, а вторую для web-сервера, при этом каждая jail должна иметь собственный IP-адрес?</p>
<p>Каждая jail на FreeBSD имеет собственные файлы, процессы и учетные записи. Находясь внутри, практически невозможно отличить jail от реальной системы. Самым простым способом определения, создания и модифицирования jail является использование среды ezjail.</p>
<p>Внимание! Сетевые демоны, перед использованием jail, должны быть сконфигурированы на использование адреса 127.0.0.1 или на работу с адресом интерфейса. По крайней мере, это необходимо сделать со службами sshd и syslogd. </p>
<p><strong>Вводные данные</strong></p>
<ul>
<li>server.nixcraft.net.in : FreeBSD host server running v7.2 with 202.54.1.2</li>
<li>smtpd.nixcraft.net.in : Mail server jail with 202.54.1.3</li>
<li>httpd.nixcraft.net.in : Web server jail with 202.54.1.4</li>
</ul>
<p><strong>Шаг 1: Обновляем корневую систему</strong></p>
<p>Убедитесь в том, что ваша система достаточно актуальна. Руководство по обновлению системы вы можете найти <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-upgrading.html">здесь</a>.</p>
<p><strong>Шаг 2: Устанавливаем ezjail</strong></p>
<p>Для установки ezjail выполните нижеприведенные команды. Таким образом, мы получим два скрипта, позволяющие нам более просто управлять жизненным циклом jail.</p>
<ul>
<pre># cd /usr/ports/sysutils/ezjail
# make install clean
</font></pre>
</ul>
<p>Расположение файлов ezjail по умолчанию:</p>
<ol>
<li><strong>/usr/jails/</strong> каталог размещения шаблонов jail. </li>
<li><strong>/usr/jails/flavours/</strong> настройка каждой jail может быть выполнена через flavours.<br />
Служит для того чтобы, например, добавить значение по умолчанию в файл /etc/resolv.conf или обновить существующий файл /etc/make.conf</li>
<li><strong>/usr/jails/basejail/</strong> базовая система jail, которая монтируется в режиме &#8220;read only&#8221; и<br />
является одинаковой для всех jail, что позволяет сэкономить место на жестком диске.</li>
<li><strong>/usr/local/etc/rc.d/ezjail.sh</strong> скрипты Stop/Start/Restart</li>
<li><strong>/usr/local/etc/ezjail.conf</strong> конфигурационный файл ezjail, который содержит настройки для rc скрипта. Таже данный файл может быть просмотрен<br />
командой ezjail-admin.</li>
<li><strong>/usr/local/etc/ezjail/</strong> все файлы конфигурации ваших jail хранятся здесь</li>
</ol>
<p><strong>Шаг 3: Создаем базовый шаблон jail</strong></p>
<p>Для создания или обновления окружения ezjail (aka basejail) из исходных текстов, выполните следующую команду:</p>
<ul>
<pre># ezjail-admin update -p -i
</font></pre>
</ul>
<p>&nbsp;Где:</p>
<ul>
<li>-p : Provide ports for jail.</li>
<li>-i : не запускать &#8220;make world&#8221;.</li>
</ul>
<p>Если у вас нет <em>/usr/src</em> и вы никогда не запускали <em>make world</em>, вы можете установить шаблон с  ftp сервера, используя утилиту ezjail-admin:</p>
<ul>
<pre># ezjail-admin install
</font></pre>
</ul>
<p>&nbsp;<strong>Шаг 4: Создаем SMTPD Mail Server Jail</strong></p>
<p>&nbsp;Для создания jail smtpd.nixcraft.net.in с адресом 202.54.1.3, располагающейся в каталоге /jails/smtpd.nixcraft.net.in, выполните следующую команду:</p>
<ul>
<pre># ezjail-admin create -r /jails/smtpd.nixcraft.net.in smtpd.nixcraft.net.in 202.54.1.3
</font></pre>
</ul>
<p>&nbsp;<strong>Обновление файла конфигурации SMTPD Jail</strong></p>
<p>&nbsp;По умолчанию, файл конфигурации расположен в /usr/local/etc/ezjail/smtpd_nixcraft_net_in. Откройте его и добавьте следующие строки:</p>
<ul>
<pre>export jail_smtpd_nixcraft_net_in_hostname="smtpd.nixcraft.net.in"
export jail_smtpd_nixcraft_net_in_ip="202.54.1.3,10.21.51.12"
</font></pre>
</ul>
<p>&nbsp;<strong>Шаг 5: Запускаем сервис jail</strong></p>
<p>&nbsp;Добавим строку запуска в файл <em>/etc/rc.conf</em>:</p>
<ul>
<pre># echo 'ezjail_enable="YES"' >> /etc/rc.conf
</pre>
</ul>
<p>&nbsp;После чего можем запустить службу:</p>
<ul>
<pre># /usr/local/etc/rc.d/ezjail.sh start
</pre>
</ul>
<p>&nbsp;Для управления конкретным jail можно воспользоваться следующими командами:</p>
<ul>
<pre># /usr/local/etc/rc.d/ezjail.sh {start/stop/restart} jail-name
# /usr/local/etc/rc.d/ezjail.sh start httpd
# /usr/local/etc/rc.d/ezjail.sh stop smtpd.nixcraft.net.in
</font></pre>
</ul>
<p>&nbsp;Просмотреть список jail можно командой:</p>
<ul>
<pre># jls
</font></pre>
</ul>
<p>&nbsp;Или, для получения дополнительной информации, воспользуйтесь синтаксисом:</p>
<ul>
<pre># jls -v
</font></pre>
</ul>
<p>&nbsp;Дя того, чтобы подключиться к jail, воспользуйтесь командой:</p>
<ul>
<pre># jexec jid csh
</font></pre>
</ul>
<p>&nbsp;При этом jid можно получить из вывода команды <strong>jls</strong>. В данном примере мы подключаемся к jail<br />
smtpd.nixcraft.net.in с jid # 2:</p>
<ul>
<pre># jexec 2 csh
</font></pre>
</ul>
<p>&nbsp;После подключения к jail мы можем устанавливать необходимое нам ПО, например bash:</p>
<ul>
<pre># pkg_add -r -v bash
</font></pre>
</ul>
<p>&nbsp;Или сервер  Apache 2.2:</p>
<ul>
<pre># cd /usr/ports/www/apache22
# make install clean
</font></pre>
</ul>
<p>&nbsp;Для того, чтобы подключаться к jail удаленно, необходимо внести следующие изменения в ее файл <em>/etc/rc.conf</em>:</p>
<ul>
<pre># echo 'sshd_enable="YES"' >> /etc/rc.conf
</font></pre>
</ul>
<p>&nbsp;Затем откроем файл <em>sshd_config</em> и укажем в нем использовать только IP адрес, назначенный данной jail.<br />
После чего запускаем сервер  OpenSSH:</p>
<ul>
<pre># /etc/rc.d/sshd start
# sockstat -4
</font></pre>
</ul>
<p>&nbsp;Обновить FreeBSD Jail можно так:</p>
<ul>
<pre># /usr/local/etc/rc.d/ezjail.sh stop
# ezjail-admin update -p -i
# /usr/local/etc/rc.d/ezjail.sh start
</font></pre>
</ul>
<p>&nbsp;Для обновления дерева портов используйте команду:</p>
<ul>
<pre># ezjail-admin update -P
</font></pre>
</ul>
<p>&nbsp;Журнальные файлы jail по умолчанию хранятся в каталоге <em>/var/log</em>.<br />
Для того чтобы, к примеру, просмотреть логи jail smtpd.nixcraft.net.in, воспользуйтесь командой:</p>
<ul>
<pre># tail -f jail_smtpd_nixcraft_net_in_console.log
# grep 'error' jail_smtpd_nixcraft_net_in_console.log
</font></pre>
</ul>
<p>&nbsp;Для добавления httpd jail выполните следующие действия:</p>
<ul>
<pre># ezjail-admin create -r /jails/httpd.nixcraft.net.in httpd.nixcraft.net.in 202.54.1.4
# vi /usr/local/etc/ezjail/httpd_nixcraft_net_in
# /usr/local/etc/rc.d/ezjail.sh start httpd.nixcraft.net.in
# jls -v
# jexec id csh
</font></pre>
</ul>
<p>&nbsp;Для резервного копированя jail рекомендую воспользоваться командами<br />
<a href="http://www.cyberciti.biz/faq/linux-tape-backup-with-mt-and-tar-command-howto/">tar</a>,<br />
<a href="http://www.cyberciti.biz/faq/use-rsync-to-backup-directory/">rsync</a> и<br />
<a href="http://bash.cyberciti.biz/backup/freebsd-dump-filesystem-shell-script/">dump</a>.</p>
<p>&nbsp;Для сохранения данных на ленту, воспользуйтесь командой:</p>
<ul>
<pre># tar -zcvf /dev/sa0 /jails/smtpd.nixcraft.net.in
</font></pre>
</ul>
<p>&nbsp;Для сохранения всех jail, расположенных в каталоге <em>/jails</em> используйте:</p>
<ul>
<pre># /sbin/dump -0uLf /dev/sa0 /jails/
</font></pre>
</ul>
<p>&nbsp;А для инкрементных обновлений полученного архива:</p>
<ul>
<pre># /sbin/dump -1uLf /dev/sa0 /jails/
</font></pre>
</ul>
<p>Используемая литература: </p>
<p>Раздел <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html" target="_blank">FreeBSD Jail </a> FreeBSD handbook.</p>
]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2009/07/14/ezjail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jail (3)</title>
		<link>http://case.net.ru/2006/02/21/jail-3/</link>
		<comments>http://case.net.ru/2006/02/21/jail-3/#comments</comments>
		<pubDate>Tue, 21 Feb 2006 20:37:00 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://case.net.ru/2006/02/21/jail-3/</guid>
		<description><![CDATA[Нашел прикольный скрипт на страницах maillist&#8217;ов freebsd #&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- create jail script &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;#!/bin/shID=${ARGV[1]}DEST=/jails/jail.${ID}IMAGE=/jails/images/jail.${ID} # create a blank disk image of 512 Mbdd if=/dev/zero of=${IMAGE} bs=1024k count=512mdconfig -a -t vnode -f ${IMAGE} -u ${ID}bsdlabel -w md${ID} autonewfs md${ID}cmount /dev/md${ID}c ${DEST} # create jail using created imagecd /usr/srcmkdir -p ${DEST}make world DESTDIR=${DEST}cd etcmake distribution DESTDIR=${DEST}mount_devfs devfs ${DEST}/devcd ${DEST}ln [...]]]></description>
			<content:encoded><![CDATA[<p>Нашел прикольный скрипт на страницах maillist&#8217;ов freebsd</p>
<p>#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- create jail script &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />#!/bin/sh<br />ID=${ARGV[1]}<br />DEST=/jails/jail.${ID}<br />IMAGE=/jails/images/jail.${ID}</p>
<p># create a blank disk image of 512 Mb<br />dd if=/dev/zero of=${IMAGE} bs=1024k count=512<br />mdconfig -a -t vnode -f ${IMAGE} -u ${ID}<br />bsdlabel -w md${ID} auto<br />newfs md${ID}c<br />mount /dev/md${ID}c ${DEST}</p>
<p># create jail using created image<br />cd /usr/src<br />mkdir -p ${DEST}<br />make world DESTDIR=${DEST}<br />cd etc<br />make distribution DESTDIR=${DEST}<br />mount_devfs devfs ${DEST}/dev<br />cd ${DEST}<br />ln -sf dev/null kernel<br />#&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; End script &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2006/02/21/jail-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jail (2)</title>
		<link>http://case.net.ru/2006/02/21/jail-2/</link>
		<comments>http://case.net.ru/2006/02/21/jail-2/#comments</comments>
		<pubDate>Tue, 21 Feb 2006 20:33:00 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://case.net.ru/2006/02/21/jail-2/</guid>
		<description><![CDATA[1. Замечены глюки в sshd, лечится прописыванием ип алиаса в /etc/hostsecho &#8217;10.0.0.1 psyshit.myhost.com&#8217; >> /etc/hosts2. Что бы из jail&#8217;а можно было выходить в сеть, поднять нат еще надо..# cat /etc/natd.confinterface rl0use_sockets yessame_ports yes # cat /etc/rc.firewallipfw -q add 50 divert natd all from any to any via rl0ipfw -q add 100 allow all from any [...]]]></description>
			<content:encoded><![CDATA[<p>1. Замечены глюки в sshd, лечится прописыванием ип алиаса в /etc/hosts<br />echo &#8217;10.0.0.1 psyshit.myhost.com&#8217; >> /etc/hosts<br />2. Что бы из jail&#8217;а можно было выходить в сеть, поднять нат еще надо..<br /># cat /etc/natd.conf<br />interface rl0<br />use_sockets yes<br />same_ports yes</p>
<p># cat /etc/rc.firewall<br />ipfw -q add 50 divert natd all from any to any via rl0<br />ipfw -q add 100 allow all from any to any</p>
<p># cat /usr/src/sys/i386/conf/AVRIL<br />&#8230;<br />options     IPFIREWALL<br />options     IPDIVERT<br />&#8230;</p>
<p># cat /etc/rc.conf<br />&#8230;<br />natd_enable=&#8221;YES&#8221;<br />natd_interface=&#8221;rl0&#8243;<br />natd_flags=&#8221;-f /etc/natd.conf&#8221;<br />firewall_enable=&#8221;YES&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2006/02/21/jail-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jail</title>
		<link>http://case.net.ru/2006/02/21/jail/</link>
		<comments>http://case.net.ru/2006/02/21/jail/#comments</comments>
		<pubDate>Tue, 21 Feb 2006 20:27:00 +0000</pubDate>
		<dc:creator>Case</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[jail]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://case.net.ru/2006/02/21/jail/</guid>
		<description><![CDATA[Прикольная тема, виртуальная машина.. ее могут ебать до писинения даже из под рута.. а данные основной все ровно сохранятся.. попробуем значит перетащить туда все (ну или почти все) сетевые сервисы :) А может их в разные jail&#8217;ы надо? Надо еще почитать идеологию.. Как создать jail:# cd /usr/src/# mkdir /usr/jail# make world DESTDIR=/usr/jail# cd etc# make [...]]]></description>
			<content:encoded><![CDATA[<p>Прикольная тема, виртуальная машина.. ее могут ебать до писинения даже из под рута.. а данные основной все ровно сохранятся.. попробуем значит перетащить туда все (ну или почти все) сетевые сервисы :) А может их в разные jail&#8217;ы надо? Надо еще почитать идеологию..</p>
<p>Как создать jail:<br /># cd /usr/src/<br /># mkdir /usr/jail<br /># make world DESTDIR=/usr/jail<br /># cd etc<br /># make distribution DESTDIR=/usr/jail<br /># cd /usr/jail<br /># mount_devfs devfs dev<br /># ln -sf dev/null kernel</p>
<p>После создаем алиас на интерфейс:<br />ifconfig fxp0 inet alias 10.0.0.1/32</p>
<p>Запускаем Jail:<br />jail /usr/jail psyshit 10.0.0.1 /bin/csh</p>
<p>Конфигурируем:<br /># echo &#8216;nameserver &#8230;&#8217; > /etc/resolv.conf<br /># touch /etc/fstab<br /># newaliases<br /># echo &#8216;sendmail_enable=&#8221;NO&#8221;&#8216; >> /etc/rc.conf<br /># echo &#8216;sshd_enable=&#8221;YES&#8221;&#8216; >> /etc/rc.conf</p>
<p>rc.conf для автоматической настройки jail&#8217;а&#8230;<br />jail_enable=&#8221;YES&#8221;<br />jail_list=&#8221;psyshit&#8221;<br />jail_psyshit_rootdir=&#8221;/usr/jail&#8221;<br />jail_psyshit_hostname=&#8221;psyshit.myhost.com&#8221;<br />jail_psyshit_ip=&#8221;10.0.0.1&#8243;<br />jail_psyshit_exec=&#8221;/bin/sh /etc/rc&#8221;<br />jail_psyshit_devfs_enable=&#8221;YES&#8221;</p>
<p>ifconfig_rl0_alias0=&#8221;inet 10.0.0.1 netmask 255.255.255.255&#8243;</p>
]]></content:encoded>
			<wfw:commentRss>http://case.net.ru/2006/02/21/jail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
