Instalação personalizada criptografada

20

Meu computador executa o Ubuntu. Eu quero instalar o Ubuntu em outro meio. Desejo ativar a criptografia, mas como as opções padrão do instalador do ubuntu (apagar / ao lado de / etc ...) dizem respeito apenas à unidade padrão, tenho que escolher "outra coisa" e criar as partições na outra unidade manualmente, eu crio ~ 128mb parte de inicialização, então eu estou perdido, se eu fizer uma partição criptografada com o resto do espaço, não consigo dividi-la, então não tenho troca; se, em vez disso, eu criar duas partições criptografadas, isso não parece correto, porque deseja configurar duas senhas diferentes ...

Como posso configurar a troca então? (Durante ou após a instalação).

Yvain
fonte

Respostas:

28

Como fazer isso com o LVM e uma única partição criptografada

Atenção

Antes de tudo, 128M é muito pequeno para inicialização! Eu uso 1G. Caso contrário, o que está prestes a acontecer é que você pode esquecer de remover os kernels antigos e o / boot será preenchido, e você terá que lidar com a dor de tentar remover os kernels antigos do sistema para poder começar aptou apt-gettrabalhar novamente. Mesmo com o 1G, remova os kernels antigos de tempos em tempos.

As próximas etapas não se destinam a usuários iniciantes.
ATUALIZAÇÃO: Criei um script que executará as seguintes operações para você e muito mais! Tudo o que você precisa fazer é executá-lo no Live OS antes da instalação. Você pode encontrar um artigo no meu blog .


Pré-instalação do SO ao vivo

Você deseja configurar o LUKS e o LVM enquanto particiona manualmente! Eu testei isso no Ubuntu 16.04.2

Inicie o Ubuntu a partir de um sistema operacional Live e selecione a opção para experimentar o Ubuntu sem instalar. Siga as etapas descritas abaixo. Vamos supor que você esteja instalando no / dev / sdb.

  1. Particione a unidade com sua ferramenta preferida: usei o fdisk para configurar o meu em uma tabela de partição msdos da seguinte maneira:
    • outras partições: sistemas operacionais existentes - não nos importamos com elas
    • sdb1: / boot (1G)
    • sdb2: partição LUKS (o restante do disco)
  2. Configuração LUKS
    • sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
    • sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
    • Embora não seja necessário, é uma boa idéia preencher sua partição LUKS com zeros para que a partição, em um estado criptografado, seja preenchida com dados aleatórios. sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M Cuidado, isso pode levar muito tempo!
  3. Configure o LVM em / dev / mapper / CryptDisk
    • sudo pvcreate /dev/mapper/CryptDisk
    • sudo vgcreate vg0 /dev/mapper/CryptDisk
    • sudo lvcreate -n swap -L 2G vg0
    • sudo lvcreate -n root -L 10G vg0
    • sudo lvcreate -n home -l +100%FREE vg0

Instalação a partir do SO ativo

  1. Agora você está pronto para instalar. Quando você chegar à parte "Tipo de instalação" da instalação, escolha a opção "Algo mais". Em seguida, atribua manualmente as partições / dev / mapper / vg0- * como você gostaria de ter configurado. Não se esqueça de definir / dev / sdb1 como / boot. a partição / boot não deve ser criptografada. Se for, não conseguiremos inicializar. Altere o "Dispositivo para instalação do carregador de inicialização" para / dev / sdb e continue com a instalação.
  2. Quando a instalação estiver concluída, não reinicie ! Escolha a opção para "Continuar o teste".

Configuração pós-instalação do SO ativo

Essa parte é realmente importante se você deseja que seu sistema seja inicializado! Passei bastante tempo pesquisando isso para descobrir essas etapas pós-instalação. No meu caso, eu estava realmente fazendo isso porque queria personalizar o tamanho de / boot em / dev / sda, mas todo esse trabalho também deveria passar para a sua situação.

  1. Em um terminal, digite o seguinte e procure o UUID de / dev / sdb2. Anote esse UUID para mais tarde.
    • sudo blkid | grep LUKS
    • A linha importante na minha máquina diz /dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
  2. Em seguida, vamos montar o sistema recém-instalado novamente, para que possamos fazer mais algumas alterações.

    • sudo mount /dev/vg0/root /mnt
    • sudo mount /dev/vg0/home /mnt/home # isso provavelmente não é necessário
    • sudo mount /dev/sdb1 /mnt/boot
    • sudo mount --bind /dev /mnt/dev # Não tenho certeza absoluta de que isso seja necessário
    • sudo mount --bind /run/lvm /mnt/run/lvm
    • (Somente se você estiver usando EFI): sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
  3. Agora execute sudo chroot /mntpara acessar o sistema instalado

  4. Do chroot, monte mais algumas coisas
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
    • mount -t devpts devpts /dev/pts
  5. Setup crypttab. Usando seu editor de texto favorito, crie o arquivo / etc / crypttab e adicione a seguinte linha, alterando o UUID pelo UUID do seu disco.
    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
  6. Por fim, recrie alguns arquivos de inicialização.
    • update-initramfs -k all -c
    • update-grub
  7. Reinicialize e o sistema deverá solicitar uma senha para descriptografar na inicialização!

Agradecimentos especiais a Martin Eve , EGIDIO DOCILE e ao pessoal do blog.botux.fr pelos tutoriais publicados. Puxando pedaços de suas postagens e fazendo um pequeno problema extra, finalmente consegui descobrir isso.

Eu tentei isso várias vezes e falhei várias vezes. O pouco que eu tive que resolver com base em mensagens de erro foisudo mount --bind /run/lvm /mnt/run/lvm

b_laoshi
fonte
Muito obrigado, ainda estou preso no início, onde eu preciso configurar a partição luks. Não é possível encontrá-lo na saída fdisk -L.
Yvain
E quando eu tento configurar a cripta eu recebo e erro: não conseguiu remover cabeçalhos
Yvain
Vejo que você marcou isso como uma solução. Você conseguiu? Caso contrário, que ferramenta você usou para criar suas partições? Você deve particionar o disco primeiro com uma ferramenta como Gparted ou fdisk, criando uma partição para / boot e outra para criptografia (a EFI exigiria uma terceira partição não criptografada). Eu não estava usando EFI na minha configuração. Somente depois de criar a partição para criptografia, é possível executar o cryptsetup luksFormatcomando para criptografá-la. Ao criar / dev / sdb2, você pode formatá-lo com um sistema de arquivos ou não. cryptsetupirá apagar qualquer sistema de arquivos existente.
b_laoshi
11
@ Yvain - Eu acredito que isso está errado. Sha1 não é mais considerado seguro. Algo mais seguro (como a opção sha512 sugerida) deve definitivamente ser usado.
Mike6 /
11
1 Obrigado @b_laoshi muito para a resposta, ele está me ajudando muito :)
Tummala Dhanvi
3

Como realizar essas várias partições criptografadas e sem LVM

Como minha resposta anterior foi muito longa, estou postando uma segunda resposta que segue uma abordagem diferente se você não quiser usar o LVM.

Você pode criar várias partições criptografadas e usar o script decrypt_derived para que você só precise digitar a senha uma vez. Confira este post para obter instruções passo-a-passo. O autor usa um arquivo de chave, mas o script LUKS decrypt_derived também seria suficiente.

b_laoshi
fonte
Acabei unpluggin a unidade principal, instalações assistidas estão disponíveis para o meu sd :) lol
Yvain
2

Uma maneira de executar a tarefa é usar o instalador da rede ubuntu https://www.ubuntu.com/download/alternative-downloads

Não é um instalador gráfico. Mas ele oferece a escolha explícita do disco depois que você escolhe a instalação completa do disco com criptografia.

ernstkl
fonte
0

Esta é a resposta para aqueles que se deparam com essa questão querendo mudar apenas ligeiramente o particionamento padrão do Ubuntu. Por exemplo, remova a swappartição e aumente o /boottamanho. Penso que muitas pessoas ficariam desencorajadas a seguir as instruções de b_laoshi, devido à quantidade de etapas necessárias.

Portanto, para particionamento simples e personalizado com criptografia, sugiro usar "Apagar disco e instalar o Ubuntu" com a opção "Criptografar a nova instalação do Ubuntu por segurança". O que mudaremos é a configuração desse particionamento padrão.

Essas configurações estão contidas em /lib/partman/recipes[-arch]/. Para mim, eu tenho mudado /lib/partman/recipes-amd64-efi/30atomic. Para obter 538M para efi, 1024M para /boote o restante para /ext4, editei o arquivo para

538 538 538 fat32
    $iflabel{ gpt }
    $reusemethod{ }
    method{ efi }
    format{ } .

1024 1024 1024 ext4
    $defaultignore{ }
    $lvmignore{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ /boot } .    

900 10000 -1 ext4
    $lvmok{ }
    method{ format }
    format{ }
    use_filesystem{ }
    filesystem{ ext4 }
    mountpoint{ / } .

Observe que, depois de escolher o disco a ser apagado no instalador, ele solicitará o resumo do particionamento, para que você possa verificar se o truque funcionou e se está obtendo o particionamento desejado. Veja também /ubuntu//a/678074/47073 .

Yrogirg
fonte