Por que minha unidade não está sendo criptografada com cryptsetup?

0

Eu segui este guia na esperança de criptografar totalmente uma unidade secundária com um sistema de arquivos único sobre o LVM.

Aqui está exatamente o que eu fiz em ordem:

fdisk /dev/sdb # goes to interactive promt (choose defaults)
pvcreate /dev/sdb1
vgcreate vg_crypt /dev/sdb1
lvcreate -l 100%FREE -n storage vg_crypt
cryptsetup luksFormat -c aes-xts-plaint64 -s 512 /dev/mapper/vg_crypt-storage # set passphrase
cryptsetup open /dev/mapper/vg_crypt-storage storage # use passphrase
mkfs.ext4 /dev/mapper/storage
mkdir /storage
mount /dev/mapper/storage /storage
echo "cryptdevice=/dev/vg_crypt/storage:storage root=/storage" >> /etc/default/grub
echo "storage /dev/mapper/vg_crypt-storage /dev/urandom storage,cipher=aes-xts-plain64,size=256" >> /etc/crypttab
echo "/dev/mapper/vg_crypt-storage storage ext4 defaults 0 0" >> /etc/fstab
echo "this is a test" >> /storage/test
reboot

Após a reinicialização, descobri que posso ignorar a solicitação de entrada de frase secreta para descriptografar /dev/sdb1 usando Ctrl ^c . Eu estava esperando isso para me impedir de acessar o sistema de arquivos em /dev/sdb . Para minha surpresa, é totalmente legível e os arquivos aparecem em texto simples.

Eu configurei algo errado?

Eu notei isso:

cd /storage
df .
Filesystem .....
/dev/mapper/othervg_root .... (on sda!)

Portanto, este diretório existe no meu LVM em sda. Mas pensei em montar /dev/mapper/storage para /storage , eu colocaria esse diretório em sdb1 . Não tenho certeza do que estou sentindo falta aqui.

Então, também percebi que, ao efetuar login sem a frase secreta, /dev/mapper/storage não existe. Então eu fui em frente e removi /storage e reiniciei. Dessa vez entrei na passphrase e encontrei o /dev/mapper/storage e o /storage também (embora eu tenha excluído), mas ele ainda está no volume lógico em sda . Estou tão confusa.

Agora notei que lsblk não tinha um ponto de montagem para armazenamento. Então eu remontei como antes. Agora df /storage mostra o sistema de arquivos como /dev/mapper/storage . Eu reiniciei e digitei a frase secreta desta vez. /storage está novamente sob o sistema de arquivos errado. Por algum motivo, a montagem no momento da inicialização está sendo feita errado. Tem que ser algo nos arquivos etc.

Eu leio man pages nos arquivos / etc / * tab e fiz algumas alterações:

fstab:

/dev/mapper/vg_crypt-storage /storage ext4 defaults 0 0 # add the '/' in /storage

crypttab:

storage /dev/mapper/vg_crypt-storage none cipher=aes-xts-plain64,size=512
# changed size to match key in cryptsetup
# changed key to none (/dev/urandom is something particular to swap i guess)
# removed uneccesary 'storage' in key=val list. I saw 'root' in the guide and thought i needed the name of my crypto device

Eu removi a linha do Grub porque não sei o que está fazendo. Eu apaguei todas as coisas do LVM nos comandos sdb1 with {lv,vg,pv}remove , depois deletei a partição sdb1 . Eu comentei as linhas temporariamente dos arquivos /etc/*tab e reiniciei.

Por fim, refiz a partição, o esquema LVM, o sistema de arquivos ext4 e descomentei as duas linhas dos arquivos /etc/*tab .

Agora, quando eu reinicio, estou recebendo problemas de inicialização e isso me leva ao modo de emergência.

journalctl -xb mostra algumas linhas peculiares:

.... kernel: EXT4-fs (dm-3): VFS: Can't find ext4 filesystem
.... systemd[1]: Failed to mount /storage

Existem outras falhas sobre dependências para sistemas de arquivos locais, re-rotulando sistemas de arquivos e migrando mudanças de políticas locais do SELinux. Não tenho certeza se isso é totalmente relevante.

    
por spanishgum 17.10.2017 / 21:21

1 resposta

0

EU FIQUEI PARA FORA WOOOO!

O problema está em /etc/fstab .

Minhas partições sda regulares estavam sendo montadas assim:

/dev/mapper/vg_sda-root /     ext4 defaults 0 0
/dev/mapper/vg_sda-swap swap  ext4 defaults 0 0
/dev/mapper/vg_sda-home /home ext4 defaults 0 0

Então naturalmente eu segui o esquema e adicionei o meu:

/dev/mapper/vg_crypt-storage storage ext4 defaults 0 0

O problema com esta linha é o primeiro campo, o fs_spec , como indicado no fstab (5) man page . "Este campo descreve o dispositivo especial de bloco ou o sistema de arquivos remoto a ser montado."

Como o crypttab é processado antes do fstab, o dispositivo descriptografado é acessível como /dev/mapper/storage , NÃO como o nome original do dispositivo mapeado pelo LVM /dev/mapper/vg_crypt-storage .

Então, alterando minha linha em /etc/fstab para:

/dev/mapper/storage storage ext4 defaults 0 0

/etc/fstab estava montando o dispositivo decodificado apropriado em /storage .

Eu testei reinicializando e cancelando a senha (com Ctrl ^C 3 vezes), o que me força a entrar no modo de emergência. Aqui, o dispositivo criptografado não está presente e precisa ser descriptografado e montado manualmente.

Acho que expliquei isso claramente / corretamente, mas, por favor, corrija-me para qualquer lugar que esteja faltando alguma coisa!

    
por 18.10.2017 / 18:15