Меню сайта
Категории каталога
Шифрование корневого раздела в FreeBSD [2009]
В данной статье рассмотрим процесс шифрования корневого раздела в FreeBSD с использованием класса GEOM ELI. Корневой раздел / будет шифроваться паролем, который будет запрошен во время загрузки системы. Разделы var, usr, tmp шифруются ключем и будут монтироваться автоматически после корневого раздела. Перед прочтением данной статьи прочтите нашу предыдущую статью Шифруем разделы, виртуальные диски и Swap в FreeBSD , в которой описываются базовые команды при работе с классом GEOM ELI и пути изменения стандартных алгоритмов шифрования. Установим систему в один минимальный корневой раздел ad0s1a (рекомендуется использовать минимальную установку), для будущих разделов /, var, usr, tmp создадим соответствующие фиктивные точки монтирования. Таблица разделов должна иметь примерно такой вид:ad0s1a / 256M ad0s1b swap 4G ad0s1d /new-root 2G ad0s1e /new-tmp 2G ad0s1f /new-var 2G ad0s1g /new-usr * Загружаемся в установленную систему. В /boot/loader.conf добавляем строчку geom_eli_load="YES" Отмонтируем раздел /new-root, в котором будет размещен новый шифрованный кореньumount /new-root Шифруем, присоединяем и форматируем раздел для будущего корня geli init -b -l 256 /dev/ad0s1d geli attach /dev/ad0s1d newfs -L root /dev/ad0s1d.eli В /etc/fstab меняем /dev/ad0s1d на /dev/ad0s1d.eli Монтируем шифрованный разделmount /new-root Создаем ключи для шифрования разделов usr, var, tmp и заполняем их случайными данными:dd if=/dev/random of=/new-root/ad0s1e.key bs=512 count=1 dd if=/dev/random of=/new-root/ad0s1f.key bs=512 count=1 dd if=/dev/random of=/new-root/ad0s1g.key bs=512 count=1 Отключаем активный раздел swap и зашифруем его:swapoff -a geli onetime -l 256 -s 4096 /dev/ad0s1b В /etc/fstab меняем /dev/ad0s1b на /dev/ad0s1b.eli Включаем уже зашифрованный раздел swap:swapon -a Размонтируем будущие разделы перед шифрованием:umount /new-tmp umount /new-var umount /new-usr Шифруем разделы ранее созданными ключами:geli init -K /new-root/ad0s1e.key -l 256 -P /dev/ad0s1e geli init -K /new-root/ad0s1f.key -l 256 -P /dev/ad0s1f geli init -K /new-root/ad0s1g.key -l 256 -P /dev/ad0s1g Присоединяем зашифрованные разделы:geli attach -k /new-root/ad0s1e.key -p /dev/ad0s1e geli attach -k /new-root/ad0s1f.key -p /dev/ad0s1f geli attach -k /new-root/ad0s1g.key -p /dev/ad0s1g Форматируем разделы:newfs -L tmp /dev/ad0s1e.eli newfs -L var /dev/ad0s1f.eli newfs -L usr /dev/ad0s1g.eli Подготавливаем каталоги в корневом разделе:cd /new-root mkdir tmp mkdir var mkdir usr mount /dev/ad0s1e.eli /new-root/tmp/ mount /dev/ad0s1f.eli /new-root/var/ mount /dev/ad0s1g.eli /new-root/usr/ Монтируем установочный диск с FreeBSD:mount /cdrom Копируем с примонтированного установочного диска в новый корень образ базовой системы:cd /cdrom/7.2-RELEASE/base cat base.?? | tar --unlink -xpzf - -C /new-root/ Готовим новый корень к загрузке:mkdir /new-root/mnt/boot Копируем fstab в новый шифрованный раздел:cp /etc/fstab /new-root/etc/fstab В /new-root/etc/fstab добавляем новые разделы:/dev/ad0s1b.eli none swap sw 0 0 /dev/ad0s1a /mnt/boot ufs rw 1 1 /dev/ad0s1e.eli /tmp ufs rw 1 1 /dev/ad0s1g.eli /usr ufs rw 1 1 /dev/ad0s1f.eli /var ufs rw 1 1 В /new-root/etc/rc.conf определяем монтирование шифрованных разделов и пути к их ключам.geli_devices="ad0s1e ad0s1f ad0s1g" geli_ad0s1e_flags="-p -k /ad0s1e.key" geli_ad0s1f_flags="-p -k /ad0s1f.key" geli_ad0s1g_flags="-p -k /ad0s1g.key" В текущем /etc/fstab должна оставатся только строчка /dev/ad0s1d.eli / ufs rw 1 1 Перезагружаемся. После загрузки необходимо почистить /mnt/boot, в котором находится наша старая система. Необходимо оставить только /mnt/boot/boot/* и /mnt/boot/etc/fstab В источнике я нашел несколько неточностей при монтировании шифрованных разделов. Источник: http://tuxnotes.ru/articles.php?a_id=24
Категория: Безопасность | Добавил: oleg (05.09.2009)
Просмотров: 789 | Рейтинг: 0.0 /0 |
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]
Форма входа
Друзья сайта