OpenBSD поддерживает полное дисковое шифрование только начиная с OpenBSD 5.3 . Более ранние версии требуют открытого загрузочного раздела. Я не знаю, когда установщик был изменен для поддержки прямой установки в зашифрованный раздел (с загрузчиком, конечно, еще не зашифрованным, потому что что-то должно расшифровать следующий бит).
В любом случае, шифрование системного раздела бесполезно ». Поэтому я предлагаю установить систему нормально, затем создать зашифрованный образ файловой системы и поместить туда ваши конфиденциальные данные ( /home
части /var
, возможно, несколько файлов /etc
).
Если вы все равно хотите зашифровать системный раздел (потому что у вас есть особый вариант использования, например, какое-то конфиденциальное программное обеспечение), и вы изначально не устанавливали зашифрованную систему, вот как вы можете это сделать.
Загрузитесь с установкой OpenBSD и создайте файл, который будет содержать зашифрованный образ файловой системы. Убедитесь, что вы выбрали подходящий размер, так как позже его будет сложно изменить (вы можете создать дополнительное изображение, но вам придется вводить парольную фразу отдельно для каждого изображения). На vnconfig
странице руководства есть примеры (хотя они пропускают несколько шагов). В двух словах:
dd if=/dev/urandom of=/ENCRYPTED.img bs=1m count=4096
vnconfig -k svnd0 /ENCRYPTED.img # type your passphrase
{ echo a a; echo w; echo q; } | disklabel -E /svnd0 # create a single slice
newfs /dev/svnd0a
mount /dev/svnd0a /mnt
mv /home/* /mnt
umount /mnt
umount /dev/svnd0c
Добавить соответствующие записи в /etc/fstab
:
/ENCRYPTED.img /dev/svnd0c vnd rw,noauto,-k
/dev/svnd0a /home ffs rw,noauto
Добавьте команды для монтирования зашифрованного тома и файловой системы в нем во время загрузки, чтобы /etc/rc.local
:
echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
Проверьте, что все работает правильно, запустив эти команды ( mount /dev/svnd0c && mount /home
).
Обратите внимание, что rc.local
выполняется поздно в процессе загрузки, поэтому вы не можете поместить файлы, используемые стандартными службами, такими как ssh или sendmail, на зашифрованный том. Если вы хотите сделать это, поместите эти команды /etc/rc
вместо, сразу после mount -a
. Затем переместите части вашей файловой системы, которые вы считаете чувствительными, и переместите их в /home
том.
mkdir /home/etc /home/var
mv /etc/ssh /home/etc
ln -s ../home/etc/ssh /home/etc
mv /var/mail /var/spool /home/var
ln -s ../home/var/mail ../home/var/spool /var
Вы должны также зашифровать свой своп, но в настоящее время OpenBSD делает это автоматически.
Более новый способ получить зашифрованную файловую систему через драйвер программного рейда softraid
. Смотрите softraid
и bioctl
страницу человека или Lykle де Фриз OpenBSD зашифрован NAS HOWTO для получения дополнительной информации. Последние версии OpenBSD поддерживают загрузку с тома softraid и установку на том softraid путем перехода к оболочке во время установки для создания тома.
¹
Насколько я могу судить, объемное шифрование OpenBSD защищено для конфиденциальности (с Blowfish), а не для целостности . Защита целостности ОС важна, но нет необходимости в конфиденциальности. Существуют также способы защиты целостности ОС, но они выходят за рамки этого ответа.