Posso desativar a criptografia de disco completo?

41

Eu instalei recentemente o Ubuntu 12.10 e ele requer uma senha para inicializar (eu instalei com um sistema de arquivos criptografado).

Preciso reinstalar para mudar para um sistema de arquivos não criptografado padrão?

Zzealdor
fonte
Você criptografou toda a instalação do Ubuntu ou apenas seu diretório pessoal?
Flimm
Eu criptografei durante a instalação, então acho que toda a instalação.
Zzealdor
3
Eu sou um novo usuário por isso estou certeza de como as coisas funcionam em Linux (Got totalmente farto de Microsoft!)
Zzealdor
@Rinzwind Provavelmente não. Esse método (ecryptfs) criptografa o diretório inicial e não precisa de uma senha extra; a senha de login é usada.
Jan
1
@ user163872: As novas versões do Ubuntu (12 e 13) são muito lentas em computadores antigos, como os netbooks. Você deve instalar o Lubuntu, projetado para velocidade e executado muito rápido em computadores mais antigos / mais lentos, mesmo com pouca RAM (ou seja, 512 MB). O Lubuntu é quase o mesmo que o Ubuntu normal - apenas a área de trabalho / menus são um pouco diferentes. Mas tudo o que funcionar no Ubuntu normal também funcionará no Lubuntu.
Lara

Respostas:

22

Se o Ubuntu solicitar uma senha de criptografia durante a inicialização (ou seja, no console de texto antes da tela de login ser exibida), isso indica que foi usado um método de criptografia de disco completo. (Há mais de uma maneira de fazer isso, mas vou manter a resposta geral.) A criptografia é tratada por uma camada extra de software entre o sistema de arquivos e o disco rígido físico, não o próprio sistema de arquivos.

Não existe um método ou ferramenta simples para desfazer isso. Com algum conhecimento sobre como os sistemas Linux funcionam, isso pode ser feito. Você precisaria mover o sistema de arquivos inteiro (ou todos os arquivos) para outra partição (com espaço livre suficiente) ou para o disco rígido externo. Em seguida, remova o contêiner criptografado e recrie o sistema de arquivos sem criptografia. Por fim, verifique se o novo sistema de arquivos é reconhecido corretamente pelo carregador de inicialização e mount -aantes da reinicialização.

Se possível, é melhor evitar esse procedimento demorado e propenso a erros. Basta fazer uma nova instalação. Para novos usuários, esta é a opção mais rápida e segura.

PS: As chances são de que você possa alterar a senha de criptografia, possivelmente para uma sequência vazia. Para descriptografar, é necessário apenas pressionar Enter. Talvez você possa ir além e suprimir o prompt de senha (agora inútil). No entanto, isso não desabilita a criptografia. Os dados ainda seriam criptografados, embora a criptografia fosse inútil, pois a chave pode ser adivinhada trivialmente.

Jan
fonte
3
Em teoria, você não seria capaz de fazer algo como "dd se = / dev / mapper / sda5_crypt of = / dev / sda5 bs = 32M"?
Roy
@ Roy, acho que funcionará se, e somente se, o seguinte for verdadeiro: 1. dde os drivers subjacentes não gravam até que terminem de ler cada bloco (provavelmente existem sinalizadores e configurações para garantir isso) 2. a leitura / gravação os blocos não se sobrepõem às bordas dos blocos de criptografia (podem ser verificados, podem envolver alguma matemática). Eu acho que é possível, mas precisaria de uma configuração e análise mais cuidadosas.
usar o seguinte comando
20

Abaixo está a minha solução que funcionou. Lembre-se de que eu não sou especialista em Linux, portanto, pode não ser a melhor solução. Não foi possível encontrar um melhor de qualquer maneira.

Migrando a instalação do FDE para uma partição não criptografada

NOTA : Sempre que digo, quero dizer

/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition

Copiando dados do sistema de arquivos raiz criptografado

Inicialize a partir de um CD ao vivo. Eu usei o Ubuntu 13.10 32bit desktop ISO.

Monte sua partição:

sudo cryptsetup luksOpen /dev/sda5 crypt1

Copie seus dados de origem na partição de destino e salve dd PID na variável pid:

sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!

Isso fará ping em cada segundo processo do dd com o sinal USR1 e o status dos resultados do dd:

while sudo kill -USR $pid; do sleep 1; done

Alternativa ao monitoramento de DD

Se você não gosta do método 'while' acima, pode usar o watch. Abra uma janela de terminal diferente e obtenha o PID:

pgrep -l '^dd$' | awk '{ print $1 }'

Substitua pelo seu ID do processo:

watch kill -USR1 <pid>

Você deve ver a saída no seu terminal dd a cada 2s.

Configurando o novo sistema de arquivos raiz e partições

Quando terminar, você poderá montar sua partição não criptografada para verificar se está OK:

sudo mount /dev/sda3 /mnt

Depois disso, desmonte sua partição:

sudo umount /dev/sda3

Libere a partição de criptografia:

sudo cryptsetup luksClose /dev/sda5

Execute gparted. Exclua sua partição LUKS (estendida e lógica). Redimensione seu / dev / sda3 e mova para a esquerda. Crie partição de troca.

Nota: Mover seu / dev / sda3 para a esquerda pode levar muito tempo. Para mim, levou 30min na partição de 120GB e na unidade SSD. Se você tiver 500 GB + HDD, esteja preparado para aguardar algumas horas. Você pode criar swap antes da sua partição, em vez de mover o seu / dev / sda3.

Crie um novo sistema de arquivos swap em sua partição swap:

sudo mkswap /dev/sda2 

e armazene em algum lugar o UUID.

Obtenha seu UUID da partição raiz:

sudo blkid /dev/sda3

Edite o fstab:

sudo nano /etc/fstab

Exclua ou comente as linhas overlayfs e tmpfs.

Adicione linha substituindo pelo resultado blkid:

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

Remover arquivo:

rm /etc/crypttab

Atualize o seu initramfs para evitar erros como "cryptsetup: evms_activate não está disponível":

sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

Notas finais e solução de problemas

Funcionou para mim, no entanto, há chances de que fazer o passo a passo acima possa não funcionar para você. Antes de descobrir o método update-initramfs, eu estava reinstalando o kernel algumas vezes e também estava modificando o grub. No entanto, não deve ser um caso para você. Lembre-se de que as instruções acima podem excluir seus dados, portanto, tenha cuidado e faça BACKUP , ANTES de prosseguir.

Caso você tenha problemas com o kernel (com chroot e / boot):

uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

É claro que substitua linux-image-3.XY-ZZ pela data do seu kernel de uname.

ou GRUB (chroot externo):

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

Mais detalhes: https://help.ubuntu.com/community/Boot-Repair

Boa sorte

NeverEndingQueue
fonte
1
Acredito que você precise substituir o UUID da partição swap /etc/initramfs-tools/conf.d/resumemanualmente e eu recomendaria copiar o conteúdo do sistema de arquivos com cp -aou, rsync -apois isso seria mais rápido em geral e mais seguro para SSDs.
LiveWireBT
Obrigado por tornar minha elaboração mais amigável. Eu não fiz a alteração do currículo, também estava com medo de usar cp ou rsync, pensei que o dd (cópia bruta de dispositivo para dispositivo) é a ferramenta adequada para essas tarefas. Eu estava fazendo isso na VM, mas a imagem foi colocada no SSD. Você pode elaborar o: "mais seguro para SSDs", por favor?
NeverEndingQueue 30/01
O uso de ddcópias de toda a partição, até de blocos que devem estar vazios, o que causa gravações desnecessárias no SSD (e, em algumas, prejudica a gravação de desempenho em quase todas as células). Alguns anos atrás, eu e alguns outros também descobrimos que copiar dde ativar o TRIM (opção de descarte EXT4) fará com que o TRIM exclua os blocos que estão vazios e o deixe com uma instalação interrompida após algumas horas.
LiveWireBT
No primeiro método de monitoramento, deve ser USR1 em vez de USR. Eu sei que é óbvio, mas pode ser um problema para iniciantes como eu;)
goodfellow
9

Caso seja bom manter a criptografia, mas desativar o prompt da senha, uma abordagem muito mais simples é definir uma senha trivial como "password" e salvar essa senha trivial no initramfs em texto não criptografado. Desabilite a senha de criptografia LUKS .

Essencialmente, adicione um script de gancho que, por sua vez, adiciona um "keycript" ao initramfs. Geralmente, esses scripts são usados ​​para obter a senha via Bluetooth, de um dispositivo USB etc., mas, neste caso, basta imprimir a senha trivial.

Richard A
fonte