Ativar criptografia de disco após a instalação

61

Estou executando a 13.10 Saucy. Se eu não habilitei a criptografia de disco durante a instalação, existe alguma maneira de habilitá-la post facto?

Eu descobri isso , que diz que a criptografia deve acontecer no momento da instalação, mas também se refere ao Fedora. Posso inicializar facilmente em um disco ativo, se houver alguma maneira de fazê-lo a partir daí.

Isaac Dontje Lindell
fonte
Criptografia completa de disco ou apenas sua pasta / home?
Joren
Disco completo. (Acompanhamento pergunta: o que são e desvantagens de vs. disco cheio apenas / home :)?)
Isaac Dontje Lindell
A criptografia de disco / home não inclui espaço de troca. Dados confidenciais podem ser gravados em troca não criptografada, se apenas / home for criptografado. Isso pode ser recuperado. O Ubuntu possui descriptografia automática de / home durante o logon. A criptografia completa do disco precisa de uma senha na inicialização e no login. Redimensionar uma unidade criptografada é um processo minucioso. Se você possui uma unidade externa, é fácil criptografar após a instalação na 13.10 Saucy Salamander: faça backup de seus dados, inicie "discos" no painel, selecione sua unidade externa, clique na engrenagem, selecione criptografar, selecione criptografar e desbloqueie sua unidade criptografada recentemente , copie de volta os dados.
user75798

Respostas:

57

Se você deseja habilitar a criptografia da sua pasta pessoal, precisará instalar e usar estes pacotes: ecryptfs-utilse cryptsetup. Você também precisará de outra conta de usuário com privilégios de administrador (sudo). A documentação completa está aqui:

Se você deseja habilitar a criptografia completa do disco após a instalação, a resposta mais curta agora é provavelmente: não, você não pode . De qualquer forma, se você estiver interessado, sua pergunta é duplicada de:

Radu Rădeanu
fonte
8
Inclua aqui pelo menos as etapas básicas do seu tutorial vinculado. Caso seu link fique offline, mude ou seja temporariamente inacessível.
con-f-use
11
@ con-f-use Se você ler atentamente (sem confusão), as etapas básicas estão incluídas na resposta.
Radu Rădeanu 21/03
11
O que acontece se você tiver um compartilhamento de samba na sua pasta pessoal criptografado? Os usuários da rede não podem mais ler os arquivos ou são descriptografados durante o compartilhamento?
do Rush Frisby
21

Pergunta de acompanhamento: quais são as vantagens e desvantagens do disco completo versus apenas / casa?

A criptografia em / home é feita usando um sistema de arquivos do espaço do usuário chamado ecryptfs. É muito bem feito e está bem integrado ao sistema de autenticação padrão, para que você não tenha desvantagens de usabilidade: quando você entra na sua conta (a partir de um shell remoto ou da tela de login padrão), sua senha é usada para desembrulhar uma chave segura , que é usado para criptografar / descriptografar seus arquivos em seu diretório pessoal rapidamente (o sistema de arquivos montado residirá diretamente em / home / nome de usuário). Quando você efetua logout / home / nome do usuário é desmontado e apenas os arquivos criptografados permanecem visíveis no sistema (geralmente em /home/.ecryptfs/username/.Private/). Eles se parecem com um monte de arquivos aleatórios / aleatórios, já que os nomes de arquivos também são criptografados. O único vazamento de informações é: tamanho do arquivo, carimbos de data e hora e número de arquivos (com criptografia de disco completa, eles também ficam ocultos).

Se o seu sistema deve ser compartilhado entre vários usuários, esse é um recurso muito bom, mesmo que você decida adicionar a criptografia completa do disco, além disso: a segurança da criptografia completa do disco é desativada quando a máquina está em funcionamento em casa ( ecryptfs) está ativada desde que você esteja desconectado.

Portanto, a criptografia completa do disco e a criptografia doméstica não são necessariamente mutuamente exclusivas.

Aqui está uma lista de configurações possíveis, dependendo das diferentes necessidades de segurança:

  • SOMENTE CRIPTOGRAFIA DE DISCO COMPLETO: Se você é o único que usa o computador e sua máquina pode lidar com a sobrecarga da criptografia de disco completa (todos os desktops modernos podem fazer isso sem que o usuário perceba, netbooks e laptops antigos nem tanto), você pode usar criptografia de disco e coloque em casa na mesma partição do seu sistema operacional (/).
  • CRIPTOGRAFIA DE DISCO COMPLETO E CRIPTOGRAFIA DE ECRYPTFS : Se você estiver preocupado com a leitura de seus dados privados enquanto o PC estiver ligado ou com o computador compartilhado com outros usuários, poderá estar em casa em uma partição diferente de / e usar ecryptfs em todo o disco criptografia (que é criptografia de / através de LUKS)
  • SOMENTE CRIPTOGRAFIA DE ECRYPTFS EM CASA : Se você não está muito preocupado com alguém que adultera seu sistema enquanto estiver ausente, mas ainda gosta de manter seus dados privados em segurança, pule a ecryption do disco completo e use apenas ecryptfs (criptografia de casa). Um bônus adicional desse cenário é que isso é muito fácil de configurar, mesmo depois devocê instalou o Ubuntu usando apenas ecryptfs-migrate-home. Além disso, essa foi a configuração padrão do Ubuntu antes de alterar algumas versões anteriores, adicionando a possibilidade de criptografia completa do disco. Como a maioria dos desktops modernos pode lidar com a criptografia completa do disco sem esforço, e adiciona uma fina camada de segurança contra a injeção de código off-line, a criptografia completa do disco foi adicionada ao instalador. Observe, porém, que para a maioria dos usuários, apenas criptografar sua casa com ecryptfs será suficiente para suas necessidades: manter seus amigos e os ladrões de laptop comuns fora de seus dados privados. Além disso, se você tiver sido alvo específico de uma organização com os meios certos, ter criptografia de disco completa ou apenas criptografia doméstica não fará muita diferença, a menos que você também tenha estabelecido muitos outros comportamentos paranóicos (como: mantendo o kernel em um pen-drive separado, sempre com você; constantemente verificando adulterações de hardware / keyloggers e assim por diante)

Se eu não habilitei a criptografia de disco durante a instalação, existe alguma maneira de habilitá-la post facto?

Sim, e será mais fácil se você estiver usando o LVM e tiver espaço suficiente no sistema para copiar todos os arquivos do sistema não criptografados em uma partição LUKS criptografada. Não vou entrar em detalhes no momento, porque não sei se você está usando o LVM e se prefere não usar o ecrypfs por enquanto e pular o incômodo da criptografia de disco completo até a próxima instalação nova.

user824924
fonte
3

Bem, você pode fazer um backup de todos os diretórios importantes e software instalado. Verifique se o seu 13.10 está totalmente atualizado para evitar conflitos de versão. Normalmente, as coisas de backup seriam:

Depois disso, você reinstala o sistema somente agora criptografado. Atualize-o para a extensão completa. Em seguida, mova o backup para o sistema criptografado e instale todo o software da versão anterior.

Apenas certifique-se de não sobrescrever arquivos importantes para a criptografia, ao colocar de volta o back-up (por exemplo /etc/fstab, /etc/cryptab, algumas coisas relacionadas grub e algumas coisas em /bootnão devem ser substituídos com os arquivos de backup).

confundir
fonte
1

Em um Ubuntu 16.04 em funcionamento, consegui criptografar a partição raiz pós-instalação, com a partição raiz contendo tudo, exceto / boot. Eu coloquei / boot em um usb removível separado. Notavelmente, fiz isso antes de atualizar para o Ubuntu 18, e a atualização funcionou bem na versão do disco criptografado.

A criptografia não foi feita "no local", o que foi bom para mim, porque eu não queria substituir a versão de trabalho até que a nova instalação estivesse funcionando.

A execução do procedimento correto é extremamente simples e rápida. (Embora descobrir o procedimento correto consumisse muito tempo porque eu segui algumas pistas falsas).

ESBOÇO

  1. Crie um disco USB linux ativo - é conveniente ter a persistência ativada. Inicialize nesse disco USB ativo.
  2. Crie um grupo de volumes criptografados luks em uma partição vazia. (No meu caso, ele estava no mesmo disco que o linux original, mas poderia ser outro disco.) Crie / (root) e troque volumes lógicos nessa partição criptografada. Eles atuarão como partições virtuais no que diz respeito ao linux copiado.
  3. Copie os arquivos da raiz antiga para a nova raiz.
  4. Configure e particione outro USB para atuar como o disco de inicialização removível.
  5. Configure alguns arquivos na nova raiz, faça alguma mágica e faça o chroot na nova raiz e instale o grub no disco de inicialização a partir do novo ambiente raiz do chroot.

DETALHES

1 - Inicialize com um disco USB linux ativo - é conveniente ter a persistência ativada.

Instalou o Ubuntu 16 em um usb com o unetbootin. A GUI permite que a "persistência" seja especificada, mas também é necessária outra etapa para que a persistência funcione - modifique /boot/grub/grub.cfgpara adicionar da --- persistentseguinte maneira:

menuentry "Try Ubuntu without installing" {
    set gfxpayload=keep
    linux   /casper/vmlinuz  file=/cdrom/preseed/ubuntu.seed boot=casper quiet splash --- persistent
    initrd  /casper/initrd
}

Inicialize com o USB ao vivo

2- Crie um grupo de volumes criptografados luks em uma partição vazia. Crie / (root) e troque volumes lógicos nessa partição criptografada.

Suponha que a partição não utilizada seja criptografada /dev/nvme0n1p4.

Opcionalmente , se você tiver dados antigos na partição que deseja ocultar antes da criptografia e formatação, poderá limpar aleatoriamente a partição. Veja a discussão aqui .

dd if=/dev/urandom of=/dev/nvme0n1p4 bs=4096 status=progress

Configure a criptografia.

cryptsetup -y -v luksFormat /dev/nvme0n1p4

Você será solicitado a definir uma senha.

cryptsetup luksOpen /dev/nvme0n1p4 crypt1

Você será solicitado a digitar a senha. Observe que este crypt1é um nome decidido pelo usuário arbitrariamente. Agora crie os volumes e o formato.

pvcreate /dev/mapper/crypt1
vgcreate crypt1-vg /dev/mapper/crypt1

lvcreate -L 8G crypt1-vg -n swap
mkswap /dev/crypt1-vg/swap

lvcreate -l 100%FREE crypt1-vg -n root
mkfs.ext4 /dev/crypt1-vg/root

Use esses utilitários para visualizar os volumes e entender a hierarquia.

pvscan
vgscan
lvscan
ls -l /dev/mapper
ls -l /dev/crypt1

3- Copie arquivos da raiz antiga para a nova raiz

mkdir /tmp/old-root 
mount /dev/ubuntu-vg/root /tmp/old-root/
mkdir /tmp/new-root
mount /dev/crypt1-vg/root /tmp/new-root/
cp -a /tmp/old-root/. /tmp/new-root/

umount /tmp/old-root
umount /tmp/new-root

cp -a ... copia no modo de arquivo, preservando todos os modos e sinalizadores de arquivo.

4- Configure e particione outro USB para atuar como o disco de inicialização removível.

Eu usei o gparted para isso. Configure duas partições. A primeira partição é vfata segunda ext2. Cada um tinha 512 MB, você pode se safar com menos. Assuma o dispositivo /dev/sdf.

# The first partition: (will be /dev/sdf1)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: fat32
Label: (leave)

# The second partition: (will be /dev/sdf2)
Free space preceding (leave default value)
New size 512 MiB
Free space following (leave default value)
Create as: Primary Partition
Partition Name: (leave)
File System: ext4
Label: (leave) 

5- Configure alguns arquivos na nova raiz, faça alguma mágica e faça o chroot na nova raiz e, em seguida, instale o grub no disco de inicialização a partir do novo ambiente raiz do chroot.

Encontre alguns UUIDs para uso posterior. Observe as saídas dos seguintes comandos:

blkid /dev/sdf1
blkid /dev/sdf2
blkid /dev/nvme0n1p4

Monte a partição raiz e partições de inicialização

sudo mount /dev/mapper/crypt1--vg-root /mnt
sudo mount /dev/sdf2 /mnt/boot
sudo mount /dev/sdf1 /mnt/boot/efi

Configure o arquivo /mnt/etc/fstab

/dev/mapper/crypt1--vg-root /               ext4    errors=remount-ro 0       1
/dev/mapper/crypt1--vg-swap none    swap    sw              0       0
UUID=[uuid of /dev/sdf2] /boot           ext2    defaults        0       2
UUID=[uuid of /dev/sdf1]  /boot/efi       vfat    umask=0077      0       1

onde "[uuid of ...]" é apenas uma combinação de letra, número e hífen.

Crie o arquivo /mnt/etc/cryptab

# <target name> <source device>     <key file>  <options>
crypt1 UUID=[uuid of /dev/nvme0n1p4] none luks,discard,lvm=crypt1--vg-root

Alguma mágica necessária para entrar no ambiente de diretório raiz:

sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
chroot /mnt

Agora configure o disco USB de inicialização com grub:

apt install --reinstall grub-efi-amd64
grub-install --efi-directory=/boot/efi --boot-directory=/boot --removable
update-initramfs -k all -c
update-grub

Agora você deve poder reiniciar e inicializar usando o disco de inicialização USB recém-criado.

Solução de problemas

(a) A rede deve estar conectada para o apt install --reinstall grub-efi-amd64comando. Se a rede estiver conectada, mas o DNS estiver falhando, tente

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

(b) Antes de chamar initramfs, o vmlinuz...arquivo atual usado no linux original deve estar presente no novo diretório raiz. Se não estiver, encontre-o e coloque-o lá.

(c) Por grub-installpadrão, o comando procura todos os outros discos Linux que ele encontrar, mesmo que não sejam mounteditados, e os coloca no menu de inicialização do novo USB de inicialização. Normalmente, isso não é desejado, portanto, pode ser evitado adicionando esta linha a /boot/default/grub.cfg:

GRUB_DISABLE_OS_PROBER=true

NOTA: Um arquivo de texto com a chave de criptografia pode ser adicionado ao USB de inicialização removível.

Craig Hicks
fonte
0

Resposta simples: Não.

Resposta complicada:

Criptografar um disco ou partição apagará tudo o que está atualmente naquele disco ou partição; portanto, para criptografar um disco, você também deve remover o conteúdo do disco. Você deve fazer backups de dados apropriados antes de iniciar. Obviamente, isso significa que você deve reinstalar o sistema para usar a criptografia completa do disco, de maneira diferente. Isso ocorre porque os dados aleatórios serão gravados em todo o disco para dificultar a recuperação dos dados.

Mas hoje em dia você não precisa criptografar sua partição raiz. Lembre-se de que, se algo der errado, você estará fora do seu sistema sem possibilidades de recuperar os dados. Você deve considerar apenas criptografar suas informações pessoais.

Consulte a pergunta relacionada Como criptografar o disco completo após a instalação?

Braiam
fonte
"Está fora do seu sistema sem possibilidades de recuperar os dados" <--- Isso está incorreto. Enquanto houver uma chave de criptografia, os dados poderão ser recuperados com um Live Medium.
con-f-use
O @ con-f-use leva em consideração que havia um "se algo der errado" condicional, o que significa que se algo incrivelmente ruim acontecer com a unidade / partição que está criptografada.
Braiam
Bem, sim, se você é um especialista, também é necessário manter um backup recente do cabeçalho LUKS no disco criptografado. Mas eu incluiria isso em "chave de criptografia". Fora isso, não há danos na criptografia completa do ponto de vista da recuperação de dados. No entanto, o fato de você saber qual versão do Ubuntu está lá, quais programas estão instalados e assim por diante fornece um possível vetor de ataque em discos não totalmente criptografados. Também SSDs geralmente fazem. Portanto, para os paranóicos, ainda não há como contornar a criptografia de disco completo.
con-f-use
"Mas hoje em dia você não precisa criptografar sua partição raiz." Por favor, fale por si mesmo, eu discordo completamente. "Criptografar um disco ou partição apagará tudo o que está atualmente naquele disco ou partição; portanto, para criptografar um disco, você também deve remover o conteúdo do disco." Mais uma vez, discorde. O Truecrypt é um exemplo muito bom de executar o FDE no Windows com discos existentes. De fato, é o método de fato de instalação - não criptografado e, uma vez feito, criptografá-lo. Isso não muda a resposta, pois não é possível atm no Ubuntu, mas suas declarações são muito categóricas e incorretas.
21414 Cookie
@ Cookie por que você criptografaria uma partição que possui coisas que você pode instalar mais tarde? (e, por favor, estou falando de um sistema de usuário comum, nada a ver com servidores corporativos / empresariais que podem ter coisas instaladas nele) 2) o que você está falando é um recurso do truecrypt disponível apenas para Windows até a data e se você não conseguir encontrar um sistema de criptografia Linux que possa criptografar uma partição após a instalação, minha declaração está correta, pois no momento não é possível.
Braiam