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 підтримують завантаження з тома програмного забезпечення та встановлення на об'єм програмного забезпечення, опускаючись до оболонки під час встановлення, щоб створити об'єм.
¹
Наскільки я можу сказати, шифрування томів OpenBSD захищено для конфіденційності (з Blowfish), а не для цілісності . Захист цілісності ОС важливий, але в конфіденційності немає потреби. Існують способи захисту цілісності ОС, але вони виходять за рамки цієї відповіді.