Создание jail’ов в FreeBSD
Опубликовано 4 января, 2010 | рубрика:
freebsd
1. Создание джейла
Перед продолжением убедитесь, что у Вас уже установлены исходники в /usr/src и ip адрес x.x.x.x висит альясом на одном из интерфейсов.
Для управления джейлами установим jailadmin:
cd /usr/ports/sysutils/jailadmin/
make install clean
Определимся где будут жить джейлы. Например, это будет /jails. Создадим эту директорию:
Создадим директорию для джейла с именем www.
Скопируем туда мир:
cd /usr/src
make buildworld
make installworld DESTDIR=/jails/www
make distribution DESTDIR=/jails/www
Отредатируем /etc/fstab, добавим туда:
devfs /jails/www/dev devfs rw,noauto 0 0
proc /jails/www/proc procfs rw,noauto 0 0
Отредактируем /usr/local/etc/jailadmin.conf:
jaildir=/jails
maxparallel=5
debug=1
default_devfsruleset=devfsrules_jail
default_fstab=/etc/fstab
default_shutdown=naive
default_startcommand=/bin/sh /etc/rc
default_usejtools=1
# ========= Jails ======
www
ip: x.x.x.x
hostname: www.example.com
mount: /proc,/dev
2. Запуск, остановка, работа с джейлом
Запуск джейла и остановка выполняются командами:
jailadmin start www
jailadmin stop www
Список запущенных джейлов:
Перейти в джейл:
где N – номер джейла из jls
OpenSSH chroot в FreeBSD
Опубликовано 12 августа, 2009 | рубрика:
freebsd
1. Установка OpenSSH.
Поддержка chroot появилась в OpenSSH начиная с версии 4.8. Если у вас FreeBSD версии 7.1 и выше – вы можете пропустить этот шаг и перейти сразу к конфигурированию, т.к. поддержка chroot уже имеется в sshd поставляющемся в дистрибутиве.
Собираем порт:
# cd /usr/ports/security/openssh-portable/
# make config
Оставляем опции по умолчанию и нажимаем “ок”.
Включим запуск openssh в /etc/rc.conf:
Что бы установленный из портов openssh заменил встроенный sshd из /etc/rc.conf убираем запуск встроенного sshd, для этого удаляем строку: sshd_enable=”YES”.
Установка завершена, переходим к конфигурированию.
2. Конфигурирование OpenSSH.
Редактируем /usr/local/etc/ssh/sshd_config (для 7.1 – /etc/ssh/sshd_config)
# Использовать только протокол версии 2
Protocol 2
# Включить поддержку SFTP
Subsystem sftp internal-sftp
# chroot'им пользователей группы chrootgroup
Match group chrootgroup
ChrootDirectory /home/%u
Теперь все пользователи группы chrootgroup будут chroot’ится в свою домашнюю директорию. На пользователей остальных групп это не распространяется.
3. Создание базового набора файлов для chroot окружения.
Воспользуйтесь готовым скриптом создания chroot окружения
FreeBSD. Настраиваем PF ALTQ на VLAN интерфейсах.
Опубликовано 16 марта, 2009 | рубрика:
freebsd
Если Вы попробуете настроить шейпинг или приоритезацию трафика на VLAN интерфейсе с помощью PF ALTQ, Вы увидете ошибку: pfctl: vlan0: driver does not support altq. Как же быть? Всё просто. Нужно просто ALTQ повесить на родительский интерфейс, создать нужные очереди, а затем раскладывать трафик по очередям правилами pf. Предположим, что на интерфейсе fxp0 у нас есть интерфейс vlan0 который смотрит в подсеть 192.168.0.0/24, тогда правила будут выглядеть примерно так:
# Queuing
# Создаем altq очередь и подочереди на интерфейсе fxp0
altq on fxp0 cbq bandwidth 100Mb queue { default, local }
queue default bandwidth 1Mb cbq(default)
queue local bandwidth 1Mb cbq(ecn)
Далее нужно разложить трафик по созданным очередям. Сделать это можно так:
# Filtering
# Добавляем подсеть в шейпер.
pass out quick on vlan0 from any to 192.168.0.0/24 queue local
Или вот так:
# Filtering
# Добавляем трафик проходящий через vlan0 в шейпер.
pass out on vlan0 queue local
Или еще как будет угодно, но общий смысл тот же: в очереди трафик направляем правилами фильтрации.