Como posso instalar o Ubuntu criptografado com o LUKS com dual-boot?

52

O disco de instalação do Ubuntu 13.04 tem a opção de instalar o Ubuntu criptografado usando o LUKS. No entanto, não há nenhuma opção para executar uma instalação criptografada ao lado de partições existentes para um cenário de inicialização dupla.

Como posso instalar o Ubuntu criptografado ao lado de outra partição do disco ativo?

    
por Flimm 09.05.2013 / 14:44

1 resposta

69
Primeiro de tudo, se você deseja instalar o Ubuntu criptografado em um disco rígido, substituindo qualquer partição existente e sistemas operacionais, você pode fazer isso diretamente do instalador gráfico. Este processo manual é necessário apenas para inicialização dupla.

Esta resposta foi testada com o Ubuntu 13.04.

  1. Inicialize a partir de um DVD ou pen drive USB do Ubuntu e selecione "Experimentar o Ubuntu".

  2. Crie duas partições usando o GParted incluído no disco ativo. A primeira partição deve ser não formatada e deve ser grande o suficiente para root e swap, no meu exemplo, isso é /dev/sda3 . A segunda partição deve ter várias centenas de megabytes e ser formatada em ext2 ou ext3, ela será descriptografada e montada em /boot (no meu exemplo, isso é /dev/sda4 ).

    Nesta captura de tela, tenho uma instalação do Ubuntu não criptografada em duas partições: /dev/sda1 e /dev/sda5 , destaque no círculo à esquerda. Eu criei uma partição não formatada em /dev/sda3 e uma partição ext3 em /dev/sda4 , destinada à instalação criptografada do Ubuntu, destacada no círculo à direita:

  3. Crie um contêiner LUKS usando esses comandos. Substitua /dev/sda3 pela partição não formatada criada anteriormente e cryptcherries pelo nome de sua escolha.

    sudo cryptsetup luksFormat /dev/sda3
    sudo cryptsetup luksOpen /dev/sda3 cryptcherries
    
  4. Aviso : você notará que a etapa luksFormat foi concluída muito rapidamente, porque não apaga com segurança o dispositivo de bloco subjacente. A menos que você esteja apenas experimentando e não se preocupe com a segurança contra vários tipos de ataques forenses, é fundamental inicializar corretamente o novo contêiner LUKS antes de criar sistemas de arquivos nele. Escrever zeros no contêiner mapeado fará com que dados aleatórios strongs sejam gravados no dispositivo de bloco subjacente. Isso pode demorar um pouco, por isso é melhor usar o comando pv para monitorar o progresso:

    sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
    sudo apt-get update
    sudo apt-get install -y pv
    sudo sh -c 'exec pv -tprebB 16m /dev/zero >""' _ /dev/mapper/cryptcherries
    

    ou, se você estiver fazendo uma instalação off-line e não puder obter facilmente pv :

    sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
    
  5. Dentro do contêiner LUKS montado, crie um volume físico LVM, um grupo de volumes e dois volumes lógicos. O primeiro volume lógico será montado em / e o segundo será usado como swap. vgcherries é o nome do grupo de volumes e lvcherriesroot e lvcherriesswap são os nomes dos volumes lógicos. Você pode escolher o seu próprio.

    sudo pvcreate /dev/mapper/cryptcherries
    sudo vgcreate vgcherries /dev/mapper/cryptcherries
    sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
    sudo lvcreate -n lvcherriesswap -L 1g vgcherries
    
  6. Crie sistemas de arquivos para os dois volumes lógicos: (Você também pode fazer este passo diretamente do instalador.)

    sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
    sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
    
  7. Sem reinicializar , instale o Ubuntu usando o instalador gráfico (o atalho está na área de trabalho do Xubuntu 18.04), escolhendo o particionamento manual. Atribua / a /dev/mapper/vgcherries-lvcherriesroot e /boot à partição não criptografada criada na etapa 2 (neste exemplo, /dev/sda4 ).

  8. Quando o instalador gráfico estiver concluído, selecione "continuar teste" e abra um terminal.

  9. Encontre o UUID das partições LUKS ( /dev/sda3 neste caso), você precisará dele mais tarde:

    $ sudo blkid /dev/sda3
    /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
    
  10. Monte os dispositivos apropriados nos locais apropriados em /mnt e faça chroot nele:

    sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
    sudo mount /dev/sda4 /mnt/boot
    sudo mount --bind /dev /mnt/dev
    sudo chroot /mnt
    > mount -t proc proc /proc
    > mount -t sysfs sys /sys
    > mount -t devpts devpts /dev/pts
    
  11. Crie um arquivo chamado /etc/crypttab no ambiente chrooted para conter essa linha, substituindo o valor UUID pelo UUID da partição LUKS e vgcherries pelo nome do grupo de volumes:

    # <target name> <source device> <key file> <options>
    cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
    
  12. Execute o seguinte comando no ambiente chrooted:

    update-initramfs -k all -c
    
  13. Reinicie e inicialize no Ubuntu criptografado. Você deve ser solicitado a fornecer uma senha.

  14. Verifique se você está usando a partição criptografada para / executando mount :

    $ mount
    /dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
    /dev/sda4 on /boot type ext3 (rw)
    # rest of output cut for brevity
    
  15. Verifique se você está usando a partição de troca criptografada (não qualquer partição de swap não criptografada de qualquer outra instalação) executando este comando:

    $ swapon -s
    Filename                              Type      Size   Used Priority
    /dev/mapper/vgcherries-lvcherriesswap partition 630780 0    -1
    
  16. Verifique se você pode inicializar no modo de recuperação, não quer descobrir mais tarde durante uma emergência que o modo de recuperação não funciona:)

  17. Instale as atualizações, que provavelmente reconstruirão o ramdisk e atualizarão a configuração do grub. Reinicialize e teste o modo normal e o modo de recuperação.

por Flimm 09.05.2013 / 14:44