Proteja suas senhas, da NSA, no seu notebook

Mantenha suas senhas protegidas no notebook

Tarcisio Praciano-Pereira

Neste artigo lhe mostro uma forma simples de manter suas senhas à mão e ao mesmo tempo protegidas, claro que também vale e é interessante usar a mesma metodologia no computador de mesa, em casa. Você precisa de instalar um programa de encriptação, neste artigo estou usando bcript que numa máquina Debian/Gnu/Linux pode ser baixado da página do Debian https://packages.debian.org/sid/bcrypt e instalado usando

dpkg -i bcrypt_1.1-8.1_amd64.deb

Há outros programas para encriptação, use o que lhe parecer melhor, se diz que nos últimos quatro foi encontrada uma barata (bug) no bcrypt portanto, para uso que não seja de alto risco acho que é de uso razoável, mas obviametne que você não estaria altamente protegida contra a NSA…

Vou seguir descrevendo o processo com bcrypt.

Como regra, este programa aqui descrito é distribuido com a licença GPL e absolutamente sem nenhuma garantia e oviamente que se você usa Gnu/Linux então sabe o que isto quer dizer. De qualquer forma a licença GPL pode ser obtida no site da Fundação para Software Livre, www.fsf.org. Procure GPL e use a versão que lhe parecer melhor;.

O passo inicial

Crie o seu arquivo de senhas, eu vou me referir ao meu arquivo de senhas que chamo de pass e vou supor que seja este o nome do seu arquivo de senhas.

Encripte o seu arquivo de senhas:

bcrypt pass

Ao executar este comando, bcrypt irá lhe pedir uma senha que deverá ter 8 caracteres ou mais, escolha uma que seja fácil de lembrar-se dela, mas não tão fácil que venha a expor suas senhas, bcrypt lhe vai pedir a confirmação e se não forem iguais o programa para, tanto agora ao fazer a encriptação como posteriormente quando quiser desencriptar.

Será criado o arquivo pass.bfe já encriptado. Transfira-o para o notebook e vou supor que o fará para sua área pessoal, logo a seguir você verá que o script que escrevi irá alterar isto de modo seguro.

O script que fara quase tudo

Escrevi o script senha.sh que está apresentado abaixo, em cada linha do mesmo há um comentário iniciado com duplo jogo da velha (bastaria um) e vou rapidamente explicar cada uma destas linas de comando, depois.

#! /bin/bash ## (1) para que seja executável, depois discuto isto

####################################################################

##### distribuido sob a GPL na versão que lhe parecer melhor www.fsf.org #####

#####################################################################

cp pass.bfe pass_back.bfe ## (2) protege o arquivo pass.bfe

rm -f pass ## (3) apaga um link simbóligo produzido pelo script

bcrypt pass.bfe ## (4) desencipta pass.bfe

mv pass_back.bfe pass.bfe ## (5) recupera o arquivo pass. bfe

mv pass /tmp ## (6) move pass para o diretório /tmp

ln -s /tmp/pass pass ## (7) cria um link simbólico para /tmp/pass

## fim do arquivo senha.sh (END)

Discussão de cada linha do script senha.sh

Os números de cada uma das linhas de cabeçalho abaixo correspondem à numeração dentro dos comentários do script.

1 – Criar um executável

Depois que você tiver editado, ou copiado o script acima para o arquivo senha.sh execute a linha de comando seguinte num terminal

chmod u+x senha.sh

O efeito será tornar o arquivo senha.sh um executável do bash que é o programa que você roda e que muita gente pensa que roda Linux… Se o sistema estiver bem instalado bastara, depois, digitar

senha.sh (a)

para rodar o programa. Se não estiver bem instalado, será preciso digitar

./senha.sh (b)

para que bash encontre o programa no diretório corrente. Vou supor que o sistema está bem instalado e portanto que será possível executar o script rodando (a).

2 – Protegendo o arquivo com as senhas encriptadas

cp pass.bfe pass_back.bfe ## (2) protege o arquivo pass.bfe

Porque ao rodar bcrypt o arquivo encriptado será apagado portanto estou criando um backup do mesmo com o nome pass_back.bfe que logo em seguida será movido de volta para o arquivo original

3 – O script vai criar um link simbólico

Como o arquivo com as senhas vai ser guardado no diretório /tmp e vou logo justificar porque, vou precisar de criar um link simbólico para que você chame o arquivo de senhas com um comando mais simples, também vou explicar isto mais abaixo. Enretanto se o link simbólico já existir bash vai lhe dar uma mensagem de erro que vou aqui evitar.

Assim o comando

rm -f pass

apaga o link simbólico. A chave -f no comando rm é para que o arquivo seja apagado sem perguntas.

4. Desencriptando

O comando

bcrypt pass.bfe

vai desencriptar o arquivo de senhas criando o arquivo original pass. Ser-lhe-á solicitada a senha com você encriptou o arquivo e se você a esquecer tudo estará perdido.

5. Recupera o arquivo encriptado

Como no passo (2) eu movi o arquivo pass.bfe para pass_back.bfe agora estou movendo de volta para recuperar o arquivo pass.bfe que bcrypt destruiu.

6. Move pass para o diretório temporário

Os sistemas Gnu/Linux têm um arquivo /tmp que é um arquivo temporário, toda vez que você encerra o sistema este arquivo será apagado, desta forma se seu notebook cair em mãos indesejáveis, mas se você primeiro o tiver desligado antes de sair à rua, em vez de apenas colocá-lo para dormir, então o diretório /tmp será apagado e consequentemente não haverá mais um arquivo legível com suas senhas.

7. Criando o link simbólico que foi apagado

O comando referenciado como (7) cria um referência simbólica, chamamos isto na linguagem de computação de “link simbólico” e se trata de uma operação das mais interessantes que você encotnra disponível no bash porque permite fazer referência a um arquivo em qualquer diretório sem fazer cópia do mesmo com uma economia grande despaço em disco. Assim você tem um link simbólico com o mesmo nome do arquivo de senhas guardado no diretório /tmp. Não seria necessário apagar o link simbólico sempre, mas é teoricamente aconselhável fazê-lo porque quando você ligar o computador não haverá /tmp/pass e portanto haverá um link quebrado. Também o nome do link simbólico pode ser qualquer de sua escolha, não precisa ser o nome do próprio arquivo. Este aqui é outro dos aspecto mais interessantes dos links simbólicos, você pode guardar um arquivo com diversos nomes sem precisar fazer cópia do mesmo para estes nomes todos, novamente com grande economia de espaço em disco. Vocé poderia fazer

ln -s /tmp/pass lixo

e desta forma fazer um link simbólico lixo para o seu arquivo de senhas

Para ler as suas senhas basta executar o comando

less pass

num terminal do sistema.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s