O OpenBSD suporta criptografia de disco completo somente desde o OpenBSD 5.3 . As versões anteriores requerem uma partição de inicialização de texto não criptografado. Não sei quando o instalador foi modificado para oferecer suporte à instalação direta em uma partição criptografada (com o gerenciador de inicialização ainda não criptografado, é claro, porque algo precisa descriptografar o próximo bit).
De qualquer forma, é pouco útil criptografar a partição do sistema¹. Portanto, sugiro instalar o sistema normalmente, criar uma imagem do sistema de arquivos criptografados e colocar seus dados confidenciais ( /home
, partes de /var
, talvez alguns arquivos /etc
) lá.
Se você deseja criptografar a partição do sistema de qualquer maneira (porque você tem algum caso de uso especial, como algum software confidencial) e não instalou um sistema criptografado originalmente, veja como fazê-lo.
Inicialize na sua instalação do OpenBSD e crie um arquivo que conterá a imagem do sistema de arquivos criptografados. Escolha um tamanho razoável, pois será difícil mudar mais tarde (você pode criar uma imagem adicional, mas precisará digitar a senha separadamente para cada imagem). A vnconfig
página de manual possui exemplos (embora estejam faltando algumas etapas). Em poucas palavras:
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
Adicione entradas correspondentes a /etc/fstab
:
/ENCRYPTED.img /dev/svnd0c vnd rw,noauto,-k
/dev/svnd0a /home ffs rw,noauto
Adicione comandos para montar o volume criptografado e o sistema de arquivos nele no momento da inicialização para /etc/rc.local
:
echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
Verifique se tudo está funcionando corretamente executando estes comandos ( mount /dev/svnd0c && mount /home
).
Observe que isso rc.local
é executado no final do processo de inicialização; portanto, você não pode colocar arquivos usados pelos serviços padrão, como ssh ou sendmail, no volume criptografado. Se você quiser fazer isso, insira esses comandos /etc/rc
, logo depois mount -a
. Em seguida, mova as partes do seu sistema de arquivos que você considera sensíveis e mova-as para o /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
Você deve criptografar seu swap também, mas o OpenBSD faz isso automaticamente hoje em dia.
A maneira mais nova de obter um sistema de arquivos criptografado é através do driver de invasão de software softraid
. Veja as páginas de manual softraid
e bioctl
ou o HOWTO NAS criptografado do OpenBSD de Lykle de Vries para obter mais informações. Versões recentes do OpenBSD suportam a inicialização de um volume softraid e a instalação em um volume softraid, passando para um shell durante a instalação para criar o volume.
¹
Até onde eu sei, a criptografia de volume do OpenBSD é protegida por confidencialidade (com Blowfish), não por integridade . Proteger a integridade do sistema operacional é importante, mas não há necessidade de confidencialidade. Existem maneiras de proteger a integridade do sistema operacional também, mas estão além do escopo desta resposta.