Jak skonfigurować szyfrowanie całego dysku w OpenBSD?

19

Czy istnieje preferowana metoda konfiguracji szyfrowania całego dysku w systemie OpenBSD, podobna do dm-cryptsystemu Linux?

Szukam szyfrowania całego dysku, tak jakby ktoś ukradł mój notebook, mógłby potencjalnie uzyskać dostęp do przechowywanych na nim danych. Innym powodem jest to, że nie zawsze jestem przy swoim notebooku, więc ktoś może potencjalnie zagrozić integralności mojego netbooka. Są to dwa główne problemy, które każą mi wierzyć, że szyfrowanie całego dysku jest dla mnie ważne.

LanceBaynes
źródło
Miałeś dwa całkowicie niezwiązane pytania. Ponieważ odpowiedziałem na jedną i nikt jeszcze nie odpowiedział na drugą, usunąłem część dotyczącą Chrome z twojego pytania. Zachęcamy do opublikowania nowego pytania dotyczącego uruchamiania Chrome na OpenBSD.
Gilles „SO- przestań być zły”
Od OpenBSD 5.3 dostępne jest pełne szyfrowanie dysku! > Woluminy RAID1 i kryptograficzne „softraid” (4) można teraz uruchamiać na i386 i> amd64 (pełne szyfrowanie dysku). Oprócz bootloadera WSZYSTKO jest szyfrowane. :)
evachristine

Odpowiedzi:

15

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 ( /homeczęś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). vnconfigStrona 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.localjest 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/rczamiast tego mount -a. Następnie przenieś części systemu plików, które uważasz za wrażliwe, i przenieś je do /homewoluminu.

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 softraidi bioctlman 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.

Gilles „SO- przestań być zły”
źródło
Czy możesz wyjaśnić stwierdzenie „Ochrona integralności systemu operacyjnego jest ważna, ale nie ma potrzeby zachowania poufności”? Czy masz na myśli, że szyfrowanie woluminów w OpenBSD jest po prostu chwytem marketingowym, czy nie tak ważnym?
Więcej informacji o uczciwości: unix.stackexchange.com/questions/9998/…
3
@ hhh: Szyfrowanie OpenBSD zapewnia poufność. Jest to ważne dla twoich danych, nie ważne dla plików systemu operacyjnego, które każdy może pobrać. (tzn. szyfrowanie woluminów jest ważne, ale nie cała historia.) Uczciwość to obrona przed kimś, kto potajemnie zmienia twoje dane lub, co gorsza, instaluje złośliwe oprogramowanie, jeśli ma fizyczny dostęp do twojego dysku - atak złej pokojówki . Ataki złej pokojówki są trudne do obrony (nie wiem, co ma do zaoferowania OpenBSD), ale również trudne do przeprowadzenia.
Gilles „SO- przestań być zły”
Ta odpowiedź nie jest już poprawna, na OpenBSD 5.7 i wcześniejszych można już instalować system operacyjny na zaszyfrowanej partycji od samego początku
Freedo
@ Freedom Zaktualizowałem swoją odpowiedź, aby wspomnieć o tej możliwości. Najwyraźniej było to możliwe od 5.3, które jeszcze nie istniały, kiedy pisałem tę odpowiedź.
Gilles „SO- przestań być zły”
3

Softraid z dyscypliną CRYPTO został zaprojektowany przez projektantów OBSD do obsługi szyfrowania całego dysku. Była też inna metoda z SVND, która jest teraz przestarzała.

użytkownik26533
źródło