Como criptografar arquivos com gocryptfs no Linux

Você deseja criptografar arquivos importantes, mas não todo o disco rígido do seu sistema Linux? Nesse caso, recomendamos gocryptfs. Você obterá um diretório que, essencialmente, criptografa e descriptografa tudo o que você armazena.

gocryptfs oferece proteção contra violações de dados

Privacidade é uma grande notícia. Dificilmente se passa uma semana sem o anúncio de uma violação em uma organização ou outra. As empresas relatam incidentes recentes ou divulgam violações que ocorreram há algum tempo. Em ambos os casos, é uma má notícia para aqueles cujos dados foram expostos.

Porque milhões de pessoas usam serviços como Dropbox, Google Drive, e Microsoft OneDrive, um fluxo de dados aparentemente interminável é enviado para a nuvem todos os dias. Se você armazena alguns (ou todos) seus dados na nuvem, o que pode fazer para proteger informações confidenciais e documentos privados caso ocorra uma violação?

As violações de dados vêm em todas as formas e tamanhos, é claro, e não se limitam à nuvem. Um cartão de memória perdido ou laptop roubado é apenas uma violação de dados em menor escala. Mas a escala não é o fator crítico. Se os dados forem sensíveis ou confidenciais, alguém que os tenha pode ser desastroso.

Uma solução é criptografar seus documentos. Tradicionalmente, isso é feito criptografando seu disco rígido em sua totalidade. Isso é seguro, mas também diminui um pouco a velocidade do seu computador. Além disso, se você sofrer uma falha catastrófica, isso pode complicar o processo de restauração do sistema a partir de backups.

O sistema gocryptfs permite criptografar apenas os diretórios que precisam de proteção e evitar a sobrecarga de criptografia e descriptografia em todo o sistema. É rápido, leve e fácil de usar. Também é fácil mover diretórios criptografados para outros computadores. Contanto que você tenha a senha para acessar esses dados, ela não deixará rastros de seus arquivos no outro computador.

O sistema gocryptfs é construído como um sistema de arquivos criptografado leve. Também é montável por contas normais e não root porque usa o Sistema de arquivos no espaço do usuário (FUSE). Isso atua como uma ponte entre o gocryptfs e as rotinas do sistema de arquivos do kernel que ele precisa acessar.

Instalando o gocryptfs

Para instalar o gocryptfs no Ubuntu, digite este comando:

sudo apt-get install gocryptfs

Para instalá-lo no Fedora digite:

sudo dnf install gocryptfs

No Manjaro, o comando é:

sudo pacman -Syu gocryptfs

Criando um diretório criptografado

Parte da glória do gocryptfs é como é simples de usar. Os princípios são:

Crie um diretório para conter os arquivos e subdiretórios que você está protegendo.
Use gocryptrfs para inicializar esse diretório.
Crie um diretório vazio como um ponto de montagem e, em seguida, monte o diretório criptografado nele.
No ponto de montagem, você pode ver e usar os arquivos descriptografados e criar novos.
Desmonte a pasta criptografada quando terminar.

Vamos criar um diretório chamado “cofre” para armazenar os dados criptografados. Para isso, digitamos o seguinte:

mkdir vault

Precisamos inicializar nosso novo diretório. Esta etapa cria o sistema de arquivos gocryptfs dentro do diretório:

gocryptfs -init vault

Digite uma senha quando solicitado; você digitará duas vezes para garantir que esteja correto. Escolha um forte: três palavras não relacionadas que incluem pontuação, dígitos ou símbolos é um bom modelo.

Sua chave mestra é gerada e exibida. Copie e salve isso em algum lugar seguro e privado. Em nosso exemplo, estamos criando um diretório gocryptfs em uma máquina de pesquisa que é apagada depois que cada artigo é escrito.

Como é necessário para um exemplo, você pode ver a chave mestra deste diretório. Você definitivamente vai querer ser muito mais reservado com o seu. Se alguém obtiver sua chave mestra, poderá acessar todos os seus dados criptografados.

Se você mudar para o novo diretório, verá que dois arquivos foram criados. Digite o seguinte:

cd vault
ls -ahl

O “gocryptfs.diriv” é um arquivo binário curto, enquanto o “gocryptfs.conf” contém configurações e informações que você deve manter em segurança.

Se você carregar seus dados criptografados na nuvem ou fizer backup deles em uma mídia pequena e transportável, não inclua esse arquivo. Se, no entanto, você fizer backup em uma mídia local que permaneça sob seu controle, você poderá incluir esse arquivo.

Com tempo e esforço suficientes, pode ser possível extrair sua senha das entradas “chave criptografada” e “sal”, conforme mostrado abaixo:

cat gocryptfs.conf

Montando o diretório criptografado

O diretório criptografado é montado em um ponto de montagem, que é simplesmente um diretório vazio. Vamos criar um chamado “geek”:

mkdir geek

Agora podemos montar o diretório criptografado no ponto de montagem. Estritamente falando, o que está realmente montado é o sistema de arquivos gocryptfs dentro do diretório criptografado. A senha é solicitada:

gocryptfs vault geek

Quando o diretório criptografado é montado, podemos usar o diretório do ponto de montagem da mesma forma que usaríamos qualquer outro. Qualquer coisa que editamos e criamos nesse diretório é, na verdade, gravada no diretório montado e criptografado.

Podemos criar um arquivo de texto simples, como o seguinte:

touch secret-notes.txt

Podemos editá-lo, adicionar algum conteúdo a ele e salvar o arquivo:

gedit secret-notes.txt

Nosso novo arquivo foi criado:

ls

Se mudarmos para nosso diretório criptografado, como mostrado abaixo, veremos que um novo arquivo foi criado com um nome criptografado. Você não pode nem dizer qual tipo de arquivo é pelo nome:

cd vault
ls -hl

Se tentarmos visualizar o conteúdo do arquivo criptografado, podemos ver que ele está realmente embaralhado:

less aJGzNoczahiSif_gwGl4eAUnwxo9CvOa6kcFf4xVgYU

Nosso arquivo de texto simples, mostrado abaixo, agora é tudo menos simples de decifrar.

Desmontando o diretório criptografado

Quando você terminar com seu diretório criptografado, você pode desmontá-lo com o comando fusermount. Parte do pacote FUSE, o comando a seguir desmonta o sistema de arquivos gocryptfs dentro do diretório criptografado a partir do ponto de montagem:

fusermount -u geek

Se você digitar o seguinte para verificar o diretório do ponto de montagem, verá que ainda está vazio:

ls

Tudo o que você fez é armazenado com segurança no diretório criptografado.

Simples e Seguro

Os sistemas simples têm a vantagem de serem usados ​​com mais frequência, enquanto os processos mais complicados tendem a cair no esquecimento. Usar gocryptfs não é apenas simples, também é seguro. Simplicidade sem segurança não valeria a pena.

Você pode criar quantos diretórios criptografados precisar ou apenas um para armazenar todos os seus dados confidenciais. Você também pode criar alguns aliases para montar e desmontar seu sistema de arquivos criptografado e simplificar ainda mais o processo.