Шифрование дисков (разделов) иногда очень полезная вещь. FreeBSD имеет возможность шифровать диски с помощью geli.
Добавляем поддержку geli
Чтобы geli запускался автоматически, добавим его в /boot/loader.conf:
geom_eli_load="YES"
Для загрузки модуля в ядро:
# kldload geom_eli
Для кастомных ядер. Убедитесь, что у Вас есть это:
options GEOM_ELI device crypto
-
Генерируем матер-ключ
С помощью следующих комманд мы создадим мастер-ключ /root/da2.key, который будет защищен паролем:
# dd if=/dev/random of=/root/da2.key bs=64 count=1 # geli init -s 4096 -K /root/da2.key /dev/da2 Enter new passphrase: Reenter new passphrase: Metadata backup can be found in /var/backups/da1.eli and can be restored with the following command: # geli restore /var/backups/da2.eli /dev/da1
Если файлы ключей содержат “-”, используем стандартный ввод. Например сгенерируем так:
# cat keyfile1 keyfile2 keyfile3 | geli init -K - /dev/da2
-
Привязываем ключи
# geli attach -k /root/da2.key /dev/da2 Enter passphrase:
У нас появится новый девайс с расширением .eli:
# ls /dev/da2* /dev/da2 /dev/da2.eli
-
Создаем файловую систему
# dd if=/dev/random of=/dev/da2.eli bs=1m # newfs /dev/da2.eli # mount /dev/da2.eli /private
Зашифрованный раздел должен быть доступен:
# df -H Filesystem Size Used Avail Capacity Mounted on /dev/ad0s1a 248M 89M 139M 38% / /devfs 1.0K 1.0K 0B 100% /dev /dev/ad0s1f 7.7G 2.3G 4.9G 32% /usr /dev/ad0s1d 989M 1.5M 909M 0% /tmp /dev/ad0s1e 3.9G 1.3G 2.3G 35% /var /dev/da2.eli 150G 4.1K 138G 0% /private
Чтобы размонтировать:
# umount /private # geli detach da2.eli
Чтобы монтировался при загрузке системы, добавим в /etc/rc.conf:
geli_devices="da2" geli_da2_flags="-p -k /root/da2.key"
И добавим монтирование в /etc/fstab.