OpenBSD obsługuje szyfrowanie całego dysku tylko od OpenBSD 5.3 . Wcześniejsze wersje wymagają partycji rozruchowej z tekstem. Nie wiem, kiedy instalator został zmodyfikowany tak, aby obsługiwał bezpośrednią instalację na zaszyfrowanej partycji (oczywiście bootloader wciąż jest niezaszyfrowany, ponieważ coś musi odszyfrować następny bit).
Zresztą szyfrowanie partycji systemowej jest mało przydatne¹. Sugeruję więc normalną instalację systemu, a następnie utworzenie zaszyfrowanego obrazu systemu plików i umieszczenie tam poufnych danych ( /home
części /var
, być może kilku plików /etc
).
Jeśli mimo to chcesz zaszyfrować partycję systemową (ponieważ masz jakiś specjalny przypadek użycia, na przykład poufne oprogramowanie) i nie zainstalowałeś oryginalnie zaszyfrowanego systemu, oto jak to zrobić.
Uruchom instalację OpenBSD i utwórz plik, który będzie zawierał zaszyfrowany obraz systemu plików. Pamiętaj, aby wybrać odpowiedni rozmiar, ponieważ później trudno będzie go zmienić (możesz utworzyć dodatkowy obraz, ale dla każdego obrazu musisz wprowadzić hasło osobno). vnconfig
Strona człowiek ma przykładów (choć brakuje kilka kroków). W skrócie:
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
Dodaj odpowiednie wpisy do /etc/fstab
:
/ENCRYPTED.img /dev/svnd0c vnd rw,noauto,-k
/dev/svnd0a /home ffs rw,noauto
Dodaj polecenia, aby zamontować zaszyfrowany wolumin i system plików w nim podczas rozruchu, aby /etc/rc.local
:
echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
Sprawdź, czy wszystko działa poprawnie, uruchamiając te polecenia ( mount /dev/svnd0c && mount /home
).
Pamiętaj, że rc.local
jest wykonywany na późnym etapie procesu rozruchu, więc nie możesz umieszczać plików używanych przez standardowe usługi, takie jak ssh lub sendmail, na zaszyfrowanym woluminie. Jeśli chcesz to zrobić, wstaw te polecenia /etc/rc
zamiast tego mount -a
. Następnie przenieś części systemu plików, które uważasz za wrażliwe, i przenieś je do /home
woluminu.
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
Powinieneś także zaszyfrować swap, ale OpenBSD robi to teraz automatycznie.
Nowszym sposobem na uzyskanie zaszyfrowanego systemu plików jest sterownik oprogramowania softraid
. Więcej informacji można znaleźć na stronach softraid
i bioctl
man lub w NAS NAS HOWTO zaszyfrowanym przez Lykle de Vriesa . Najnowsze wersje OpenBSD obsługują uruchamianie z woluminu softraid i instalowanie do woluminu softraid przez upuszczenie na powłokę podczas instalacji, aby utworzyć wolumin.
¹
O ile mi wiadomo, szyfrowanie woluminów OpenBSD jest chronione w celu zachowania poufności (z Blowfish), a nie integralności . Ochrona integralności systemu operacyjnego jest ważna, ale nie ma potrzeby zachowania poufności. Istnieją również sposoby ochrony integralności systemu operacyjnego, ale wykraczają one poza zakres tej odpowiedzi.