Como posso montar automaticamente a partição LUKS?

1

Como faço para montar automaticamente uma partição criptografada do LUKS de maneira segura? Idealmente, quando eu faço o login (e, portanto, minha senha entra na tela de login), ou quando chego ao desktop, o Ubuntu pede minha senha e depois monta automaticamente a partição?

O conteúdo do meu fdisk está abaixo

A partição criptografada é / dev / sdb7, minha partição raiz e home é / dev / sdb5 (que não é criptografada).

Disk /dev/loop0: 14 MiB, 14647296 bytes, 28608 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/loop1: 81.7 MiB, 85692416 bytes, 167368 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0006d9d9

Device     Boot     Start        End    Sectors   Size Id Type
/dev/sda1            2048  524646399  524644352 250.2G  7 HPFS/NTFS/exFAT
/dev/sda2  *    524646400 1953523711 1428877312 681.4G 83 Linux


Disk /dev/sdb: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1ffae910

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1       214892542 976773119 761880578 363.3G  5 Extended
/dev/sdb2  *         2048   2150399   2148352     1G 83 Linux
/dev/sdb5       214892544 257558559  42666016  20.4G 83 Linux
/dev/sdb6       300716032 318294015  17577984   8.4G 82 Linux swap / Solaris
/dev/sdb7       318296064 976773119 658477056   314G 83 Linux

Partition table entries are not in disk order.
    
por Falc 29.03.2018 / 23:33

2 respostas

1

Usando o pam-mount

Você pode usar o pam-mount para fazer isso. Ele entrará no processo de login e, portanto, poderá usar a senha digitada para montar uma partição luks. Veja como configurá-lo:

Crie uma imagem luks de teste

Ignore esta seção se você já tiver uma partição ou imagem criptografada pelo LUKS

Crie um arquivo chamado .priv no seu diretório pessoal com tamanho de 1 GB:

truncate -s 1G ~/.priv

Formate a imagem usando LUKS e defina uma senha (use o mesmo que sua senha de login):

cryptsetup luksFormat ~/.priv

Ativar a imagem:

sudo cryptsetup luksOpen ~/.priv priv

Crie um sistema de arquivos no novo dispositivo:

sudo mkfs.ext4 /dev/mapper/priv

Desative a imagem novamente:

sudo cryptsetup luksClose priv

Instalar e configurar o pam-mount

Instale o pacote:

sudo apt install libpam-mount

Edite o arquivo de configuração /etc/security/pam_mount.conf.xml e adicione a seguinte linha a ele:

<volume path="~/.priv" mountpoint="~/priv" />

Adicione isto logo depois de onde diz <!-- Volume definitions --> . Observe a diferença sutil, mas importante, nos argumentos caminho e ponto de montagem. No seu caso particular você usaria path="/dev/sdb7" .

Agora faça o login em sua máquina e você deve perceber que demora um pouco mais do que o normal. Após o login bem-sucedido, você pode verificar, usando o comando mount , que agora existe um novo sistema de arquivos montado em sua casa. Deve ser semelhante a isto:

/dev/mapper/_dev_loop3 on /home/seb/priv type ext4 (rw,relatime,data=ordered,helper=crypt)

Use para / home / USER

Estou usando essa configuração para montar meu diretório pessoal ( /home/seb ) de uma imagem criptografada LUKS no Ubuntu 18.04. O pam_mount também cuidará de desmontar a imagem depois que eu sair. Como tal, é uma boa maneira de obter pelo menos alguma criptografia se, durante a instalação, você não escolher a criptografia completa do disco.

    
por Sebastian Stark 30.03.2018 / 02:46
0

Para responder @Falc sobre por que configurar o ponto de montagem como <volume path="/dev/sdb7" mountpoint="/home" /> não funcionou e, em vez disso, impediu que ele efetuasse login. Ao definir o ponto de montagem como local, você substituiu o diretório inicial pela partição criptografada. O motivo pelo qual você não conseguiu efetuar login é que o diretório /home é necessário para que o Linux funcione. E mais, o diretório inicial contém muitos arquivos ocultos importantes, como .config, .bashrc, .profile e .bash_profile. Esses arquivos e outros em sua pasta pessoal incluem gnome-session-properties que iniciam programas para iniciar quando você faz o login. Quando você monta sua unidade criptografada em seu diretório home, os aplicativos necessários para a sessão gráfica não podem ser iniciados.

    
por MyWrathAcademia 05.06.2018 / 21:47