Предполагается что в полном распоряжении есть FreeBSD 5.X
Разборки "что ставить на сервер: 4.X или 5.X" не обсуждаются.
В случае использования FreeBSD 4.X необходимо вместо mdconfig использовать vnconfig
и вместо gbde использовать vncrypt.
Компилируем ядро с
options GEOM_BDE # поддержка шифрованых дисков
device md # Memory "disks"
Создаем директорию, где все будет валяться
mkdir /usr/cert/
Создаем файл, где будет файловая система (размером 100 мегабайт)
dd if=/dev/zero of=fimage bs=1m count=100
создаем девайс на основании этого файла и создем там таблицу разделов на весь диск
mdconfig -a -t vnode -f /usr/cert/fimage -u 0
disklabel -r -w md0 auto
Инициируем gbde патишен
gbde init /dev/md0c -i -L /usr/cert/fimage.lock
В текстовом редакторе откроется конфиг файл для этого шифрованого раздела.
Если используется UFS 1 или2 то рекомендуется изменить параметр sector_size с 512 на 2048.
Сохраняемся, вводим два раза пароль, который будет использоваться для доступа к этому шифрованому разделу.
Подключаем шифрованый раздел (будет запрошен пароль для подключения).
gbde attach /dev/md0c -l /usr/cert/fimage.lock
Создаем на полученном разделе файловую систему.
newfs -U /dev/md0c.bde
Создаем директорию, куда будем маунтить:
mkdir /usr/cert/sslcert
Монтируем
mount /dev/md0c.bde /usr/cert/sslcert
Типа все работает. Теперь создадим скрит для удобства монтирования/размонтирования с таким содержанием:
#!/bin/sh
case "$1" in
start)
/sbin/mdconfig -a -t vnode -f /usr/cert/fimage -u 0
/sbin/gbde attach /dev/md0c -l /usr/cert/fimage.lock
/sbin/mount /dev/md0c.bde /usr/cert/sslcert
;;
stop)
/sbin/umount /usr/cert/sslcert
/sbin/gbde detach /dev/md0c
/sbin/mdconfig -d -u 0
;;
*)
echo ""
echo "Usage: `basename $0` { start | stop }"
echo ""
exit 64
;;
esac
Все, пользуемся в свое удовольствие.
При подготовке использованы источники: FreeBSD Handbook , mdconfig(8), gbde(8)
URL: http://levsha.org.ua/ssl/encrypted-virtual-disk.txt
Обсуждается: http://www.opennet.me/tips/info/921.shtml