Sistema de arquivos criptografado de montagem automática (usando chave aleatória), residindo em arquivo normal no CentOS 6.*

Sistema de arquivos criptografado de montagem automática (usando chave aleatória), residindo em arquivo normal no CentOS 6.*

Tarefa: no sistema CentOS 6.x, configure e monte um sistema de arquivos criptografado automaticamente, residindo em um arquivo normal, usando uma chave única (aleatória).

/etc/crypttab no CentOS 6.* não permite o uso de arquivo simples como dispositivo de bloco para montar e mapear automaticamente.

Então, linha /etc/crypttab como esta

cfs   /var/file-with-encrypted-filesystem    some-password-source

é ignorado no CentOS.

A seguinte sequência de comandos pode ser usada para realizar a tarefa no CentOS:

losetup /dev/loop0 /var/tmpfile
dd if=/dev/urandom of=/dev/shm/tmppass bs=512 count=1
cryptsetup luksFormat /dev/loop0 --use-urandom --batch-mode --key-file /dev/shm/tmppass
cryptsetup luksOpen /dev/loop0 ctmp --batch-mode --key-file /dev/shm/tmppass
mkfs.ext2 /dev/mapper/ctmp
mount -t ext2 /dev/mapper/ctmp /mountpoint
shred -n 1 /dev/shm/tmppass
rm -f /dev/shm/tmppass

assumindo que o arquivo para armazenar o sistema de arquivos é /var/tmpfile

Existe uma maneira menos complicada de conseguir o mesmo no estilo Debian (especificando entradas relevantes em /etc/crypttab e /etec/fstab )?

Responder1

A seguinte entrada /etc/crypttab é como você faria isso no Ubuntu:

# <target name>  <source device>                      <key file>    <options>
cfs              /var/file-with-encrypted-filesystem  /dev/urandom  tmp=ext4

Muito semelhante a como a troca criptografada é tratada - veja o exemplo da página de manual do crypttab abaixo:

# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap

A página de manual do CentOS para crypttab fornece alguma orientação sobre como fazer isso? Não tenho uma máquina CentOS no momento, mas em uma máquina RHEL 6 as mesmas opções são suportadas.


OK, tudo bem, eu estava curioso. Isso funciona e é um pouco melhor. Coloque em algum lugar como /etc/rc.local. Testado em RH 6:

LODEV=$(losetup -f)
losetup $LODEV /path/to/existing/cryptfile
cryptsetup create cfs $LODEV --key-file /dev/urandom
mkfs.ext2 /dev/mapper/cfs 
mount /dev/mapper/cfs /wherever

informação relacionada