Esqueci que o meu home estava encriptado com o ecryptfs. E agora?

otavio publicou em 13/11, 01:58 hs , e editou pela última vez há 29 dias atrás.

Uso Linux há cerca de 15 anos. Meu notebook só tem Linux desde o Ubuntu 5.04. Nesse tempo (haja tempo), já fiz mais de 20 instalações, mais de 10 upgrades no mesmo notebook, seguramente.

Durante esse tempo desenvolvi alguns protocolos de atualização:

  • Separe o disco /home com vários giga (no meu caso deixo 80Gb no /, 4Gb de swap e o restante fica com o /home)
    • NUNCA formate seu /home. É por isso que mantenho ele separado
  • Nunca esqueça da sua chave SSH!
    • Isso é menos importante se você separa o /home
  • Mantenha um swap pequeno e muito RAM (8Gb pelo menos, hoje em dia).
    • Um swap grande fará seu sistema lento, a não ser que seu disco seja SSD.
  • Sempre faço upgrade formatando o / e instalando do zero
  • Sempre uso o pen drive de boot usando o Live (tks Ubuntu!!!!) para ter certeza de que não há risco de não funcionar meu notebook após a instalação
    • Isso é principalmente importante com notebooks novos
    • Isso é cada vez mais importante porque a capacidade de atualização do Ubuntu é fantástica (mas vai que….)
  • Faça backup do seu /etc
    • Configuração de serviços, hosts, ficam mais fáceis de serem mantidos assim
    • Isso é irrelevante para mim hoje, porque só uso docker para minhas instalações (base, serviço http, …), mas ainda acho uma boa dica, em geral.

Coisas inteligentes à parte, aqui vai mais um pro checklist: não esqueça que seu home pode estar encriptado!

Desde a versão 9.04, que me lembre, isso é algo bem comum. Diria, que para sua segurança, é obrigatório.

Mas é óbvio que eu esqueci, não é? Então aqui vai algum conhecimento sobre como resolver caso você esqueça (como eu) e algumas outras informações.

O Ubuntu usa o ecryptfs para encriptar seu home.

O que você deveria saber é: mount passphrase. Ao criar o disco encriptado, o sistema vai te mostrar a chave do disco ( que se você não salvar nessa vez e nada se corromper, você ainda consegue restaurar com ecryptfs-unwrap-passphrase ). Salve essa chave em um lugar seguro. Ela é sua única garantia de que você alguma vez vai ver seus dados de volta se algo der errado.

Essa senha é encriptada usando uma login passphrase. Sim, essa senha por padrão é a senha do seu login. Isso é feito para que você não tenha que colocar a senha do HD a cada login ou reinicialização.

Resumindo: tudo da sua pasta privada ficará encriptado usando a mount passphrase. E você terá um arquivo no disco local com esse hash encriptado usando a senha do seu login. Ao se logar o valor do mount passphrase é jogado em uma variável de ambiente e seu disco fica encriptando e decriptando “automagicamente”.

Tá, mas como resgatar seu disco se você errar, Otávio?

Primeiro vamos ao link que deu a solução final:

  • https://help.ubuntu.com/community/EncryptedPrivateDirectory

Agora vamos explicar como restaurar.

A primeira coisa a fazer é:

sudo ecryptfs-add-passphrase --fnek

Coloque a senha do login de usuário. Sei que isso vai parecer receita de bolo (e é), mas guarde o segundo hash (da linha Inserted auth tok with sig) para usar quando montar o disco.

Em seguida crie o diretório para receber (algo como /home/seuusuario/Private ou só /home/seuusuario, no meu caso).

sudo mkdir -p /home/otavio

Aí é só montar o disco:

sudo mount -t ecryptfs /home/.ecryptfs/otavio/.Private/ /home/otavio

Eu disse só? Bom, ainda falta aceitar algumas vezes o default. No meu usei, na ordem:

  • A chave de montagem do disco;
  • o parâmetro aes;
  • 16
  • n
  • y
  • aqui aquele segundo hash que você guardou

Ele ainda pergunta se tenho certeza de que quero montar e se quero parar de receber warning. Disse sim e depois não.

Diretório remontado, hora de seguir a vida. Continuo gostando de diretório encriptado. Acho seguro.

Abraços

if(typeof jQuery == 'undefined'){ document.write("