OpenBSD supporta la crittografia dell'intero disco solo da OpenBSD 5.3 . Le versioni precedenti richiedono una partizione di avvio in chiaro. Non so quando il programma di installazione è stato modificato per supportare l'installazione diretta in una partizione crittografata (ovviamente con il bootloader non crittografato, perché qualcosa deve decrittografare il bit successivo).
È comunque poco utile crittografare la partizione di sistema¹. Quindi suggerisco di installare normalmente il sistema, quindi di creare un'immagine del filesystem crittografata e di inserire lì i tuoi dati sensibili ( /home
parti di /var
, forse alcuni file /etc
).
Se vuoi crittografare comunque la partizione di sistema (perché hai un caso d'uso speciale, come un software riservato) e non hai installato un sistema crittografato in origine, ecco come puoi farlo.
Avvia l'installazione di OpenBSD e crea un file che conterrà l'immagine del filesystem crittografata. Assicurati di scegliere una dimensione ragionevole poiché sarà difficile cambiare in seguito (puoi creare un'immagine aggiuntiva, ma dovrai inserire la passphrase separatamente per ogni immagine). La vnconfig
pagina man contiene esempi (anche se mancano alcuni passaggi). In breve:
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
Aggiungi voci corrispondenti a /etc/fstab
:
/ENCRYPTED.img /dev/svnd0c vnd rw,noauto,-k
/dev/svnd0a /home ffs rw,noauto
Aggiungi comandi per montare il volume crittografato e il filesystem in esso all'avvio per /etc/rc.local
:
echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
Verifica che tutto funzioni correttamente eseguendo questi comandi ( mount /dev/svnd0c && mount /home
).
Si noti che rc.local
viene eseguito in ritardo nel processo di avvio, quindi non è possibile inserire i file utilizzati dai servizi standard come ssh o sendmail sul volume crittografato. Se vuoi farlo, inserisci invece questi comandi /etc/rc
, subito dopo mount -a
. Quindi sposta le parti del tuo filesystem che ritieni sensibili e spostale sul /home
volume.
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
Dovresti crittografare anche lo swap, ma OpenBSD lo fa automaticamente al giorno d'oggi.
Il modo più recente per ottenere un filesystem crittografato è attraverso il driver del raid software softraid
. Per ulteriori informazioni, consultare le pagine man softraid
e il HOWTO NAS crittografato OpenBSD di Lykle de Vries . Le versioni recenti di OpenBSD supportano l'avvio da un volume software e l' installazione su un volume software passando a una shell durante l'installazione per creare il volume.bioctl
¹
Per quanto ne so, la crittografia del volume di OpenBSD è protetta per riservatezza (con Blowfish), non per integrità . La protezione dell'integrità del sistema operativo è importante, ma non è necessaria la riservatezza. Esistono modi per proteggere anche l'integrità del sistema operativo, ma vanno oltre lo scopo di questa risposta.