É sensato que, se você tiver algum tipo de criptografia de dispositivo de bloco implementada em seu sistema GNU / Linux, também criptografar sua partição de swap, pois todos os dados descriptografados podem ser gravados em texto não criptografado a qualquer momento na troca.
Olhando a página de manual do debian para "crypttab", vejo um exemplo de criação de uma partição swap de chave aleatória na inicialização, portanto a chave é definida aleatoriamente à medida que a inicialização prossegue e é conhecida apenas pelo próprio sistema:
# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
Neste exemplo, o dispositivo de troca é referido por um caminho de desenvolvimento convencional, ou seja, /dev/sda6
Os caminhos absolutos do dispositivo estão sujeitos a alterações e são reatribuídos na inicialização se, por exemplo, uma unidade USB estiver conectada, por exemplo. Um usuário ficaria muito infeliz se houvesse /dev/sda6
uma partição diferente do esperado e, posteriormente, foi substituída por dados de troca aleatórios !!
Portanto, a solução parece ser: use um UUID em vez de um caminho do dispositivo (como um UUID não deve mudar), substituindo /dev/sda6
por/dev/disk/by-uuid/<whatever the uuid of dev/sda6 is>
MAS ... aqui está o problema: Toda vez que o cryptsetup recria a partição de troca criptografada no momento da inicialização, gera um novo UUID para ele! Doh!
Portanto, precisamos preservar o UUID desse sistema de arquivos criptografado de alguma forma. Eu acho que o cryptsetup pode fazer isso com seu --offset
switch, permitindo a preservação do cabeçalho LUKS e, portanto, do UUID.
Encontrei este URL: https://wiki.archlinux.org/index.php/System_Encryption_with_LUKS#Using_UUIDs_with_encrypted_swap_partitions
Alguém sabe como implementar a solução descrita para o Arch Linux no sistema operacional Debian? Os scripts init mencionados no documento parecem não existir no sistema operacional Debian
Obrigado!
EDIT
Pode-se usar ecryptfs para obter os mesmos fins (espaço de troca criptografado) usando o comando:
ecryptfs-setup-swap
Sem os problemas que afetam a criptografia do dispositivo de bloco. Dê uma olhada nesta consulta AskUbuntu
ecryptfs-setup-swap
é apenas um auxiliar que configuradm-crypt
/crypttab
para você. Comoecryptfs
é um driver em nível de arquivo, ele não lida com partições inteiras; portanto, faz issodm-crypt
. Você pode achar esse método mais fácil de usar, mas no fim das contas não está conseguindo nada diferente. De qualquer forma, as peculiaridades desse método (incluindo o UUID) provavelmente me deixaram mais confusa do que se eu tivesse acabado de fazer isso sozinho desde os primeiros princípios ... embora eu tenha aprendido mais.