Quando instalei o Debian Buster (com um kernel 4.19 padrão) em meu dispositivo, optei pelo particionamento guiado com criptografia de disco completa.
Portanto, a configuração atual é LVM no LUKS e /boot não é criptografado:
user@HOST:~$ lsblk -f
NAME FSTYPE LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├sda1 ext2 a81YDwjp-q50N-nbZH-JLwr-Djhhe0aDxI6 94,4M 55% /boot
├sda2
└sda5 crypto_LUKS E5ZYjKug-zrNW-yW4Q-jwFD-MdgSY08zqKo
└sda5_crypt LVM2_member aJTjWXcR-Nxth-LcnV-5tzp-iBzbCU0zy8d
├HOST--vg-root ext4 PHVJaGjc-46vv-u5co-fXxd-NCZJUkzK21Q 129,1G 5% /
└HOST--vg-swap_1 swap 1XZehc8C-2yKA-Y8Qr-eCc1-EI3ezAgVNBo [SWAP]
Agora seria bom evoluir essa configuração e criptografar o volume de troca com uma chave temporária. Mas por que isso? Afinal, a troca já está criptografada, pois reside em um disco rígido criptografado. BTW, eu não uso hibernação.
O que eu gostaria é tirar o máximo proveito possível de camadas adicionais de criptografia em meu sistema. Por exemplo, criptografo alguns dados localmente antes de fazer backup em um local remoto. Essa criptografia também pode servir como uma segunda linha de defesa se a criptografia total do disco rígido for derrotada... mas apenas se a troca não for legível nesse cenário.
A partir da configuração padrão do Debian (ou seja, sem ter que passar pela reinstalação), existe uma maneira de criptografar a troca com chaves temporárias?
Como você tem um kernel moderno (4.19) e não usa hibernação, sugiro ficar sem a partição swap e mover o swap para sua partição raiz. Conforme o tempo permitir, você pode realocar o espaço usado pela partição swap para a raiz.
Quanto espaço? https://itsfoss.com/swap-size/ tem uma tabela que calcula, com base em algumas orientações e no tamanho da RAM daquele sistema:
Diretrizes?
https://linuxize.com/post/how-to-add-swap-space-on-debian-9/ tem um processo passo a passo para o Debian criar um arquivo de troca.
Um simples relato do que acabei fazendo. Como mencionado anteriormente, a distribuição é Debian Buster e a hibernação está desativada.
Opcional: Desabilite a troca (
sudo swapoff -a
) e sobrescreva o volume de troca com zeros ou com dados aleatórios. Isso é realmente recomendado, mas não foi necessário no meu caso.Crie o novo arquivo de troca
sudo fallocate -l 2G /cryptswap
Apenas o usuário root deve ser capaz de ler o arquivo de troca
sudo chmod 600 /cryptswap
Adicione a seguinte linha a
/etc/crypttab
Observe que nem todas as distribuições suportam a
noearly
opção, mas o Debian certamente suporta, e o Ubuntu parece apoiá-lo também.Desative a montagem de troca
/etc/fstab
(adicione um#
na frente da linha) e cole a segunda linha abaixo:[ADICIONADO] Desative a retomada da hibernação. Atualize
/etc/initramfs-tools/conf.d/resume
como abaixo e executesudo update-initramfs -u -k all
depois.Reinício
Confirme se tudo funciona como deveria
Observe que o antigo volume de troca ainda existe, mas não está mais montado.
Limpar
Remova o volume de troca antigo. Posteriormente, você pode querer reatribuir o espaço livre, mas não abordarei isso aqui.
sudo lvremove HOST-vg/swap_1