O editor de textos Vim tem suporte a diversos métodos de criptografia.
É possível guardar código ou qualquer outro texto (como senhas ou outras informações sensíveis) longe de olhares curiosos.
Uma vez criptografado, o texto não pode mais ser lido, sem a chave correta.
Tenha isto em mente, antes de usar este tipo de segurança em um arquivo — pra não ficar “trancado do lado de fora”.
Você pode enviar o texto codificado para outras pessoas, que usem o Vim no Windows ou no MacOS.
Se elas tiverem a senha para descriptografar, poderão ler o conteúdo da mensagem.
Para ativar a criptografia, a qualquer momento, use o comando ‘:X’.
Forneça a senha e a confirmação.
A criptografia será aplicada na hora de gravar o arquivo (:w).
É possível já abrir um arquivo com a criptografia ativada:
vim -x meu-arquivo-secreto.txt
Após este comando, o Vim iniciará pedindo uma nova chave de segurança para o seu arquivo.
Na próxima vez em que for abrir o arquivo, não precisa usar ‘-x’:
vim meu-arquivo-secreto.txt
Cuidados com a segurança criptográfica no Vim
Além de não perder a sua senha e usar, também, uma senha decente, há outros aspectos a levar em consideração, caso você se preocupe realmente com a sua segurança.
Quando tentar abrir o seu arquivo, só conseguirá ver um monte de caracteres desconexos.
Tanto o texto contido no swap, quanto o do arquivo undo (usado para desfazer ações dentro do editor), são guardados sob criptografia.
Talvez não seja paranoia, mas a gente tem que falar sobre isso…
A codificação dos arquivos de swap e do undo são feitas bloco a bloco — fator que pode ajudar a reduzir o tempo necessário para um invasor quebrar sua senha.
Portanto, se quiser segurança extra, desative o swap e o undo (desfazer) para o arquivo.
Para desativar o recurso de swapping do Vim, entre no modo de comando (tecla ESC) e execute o seguinte:
:noswapfile
O comando abaixo, inicia a edição do arquivo ‘meus_segredos.txt’, com o swap desativado:
:noswapfile edit meus_segredos
Use o que achar melhor.
O lado ruim desta ação é que você pode perder texto, que ainda não tenha sido gravado, caso ocorra alguma queda de energia ou travamento no sistema operacional.
Já o arquivo undo pode ser desativado sem maiores problemas:
:set noundofile
Veja outros procedimentos adicionais (opcionais) de segurança que você pode adotar.
Para desativar também o backup automático:
:set nobackup
Para desativar o arquivo temporário:
:set nowritebackup
Para desativar a criptografia de um arquivo use o comando:
:set key=
Você também pode desativar o viminfo, que oferece informações sobre a sessão atual:
:set viminfo=
Quais métodos de criptografia estão disponíveis para o Vim
Você pode usar a opção ‘cryptmethod‘ (ou cm) para selecionar o tipo de criptografia a ser usado:
- zip: método mais fraco, porém rápido e mais difundido. Tem maior compatibilidade.
- blowfish: método mais seguro que o anterior.
- blowfish2: método atualizado e com segurança média para forte. É recomendado pela documentação oficial do Vim.
Para escolher o método de criptografia blowfish2, use o seguinte comando no Vim:
:setlocal cm=blowfish2
Você precisa fazer esta opção antes de começar a escrever no arquivo.
Quando você for abrir um arquivo, o Vim detecta automaticamente o método usado para criptografá-lo.
Você pode alterar o cryptmethod, ao abrir um arquivo, antes de começar editar.
Para definir permanentemente o método ou qualquer outro ajuste de que falamos neste post, edite o arquivo de configuração vimrc.
Como saber se a minha versão do Vim tem suporte a criptografia
Se você efetuou a instalação do aplicativo a partir dos repositórios oficiais da sua distro, não há muito o que fazer. E o suporte provavelmente já estará lá.
Alguns usuários preferem baixar e compilar o código fonte — entre outras coisas, isto lhes dá acesso a uma versão mais atual do aplicativo.
Neste caso, pode ser necessário compilar com a opção ‘cryptv’ selecionada.
Use a opção ‘–version’, combinada ao comando grep, para saber se a sua versão tem suporte a criptografia:
vim --version | grep crypt
Se o +cryptv estiver presente, então está tudo ok com a sua versão.
Referências
Como considerações finais, tenha cuidado para não começar a editar (e gravar em seguida) um arquivo criptografado, que você não descodificou adequadamente. Todo o conteúdo do arquivo será perdido, caso você o faça.
Lembre-se que o texto armazenado na memória não é criptografado.
Isto significa que o administrador do seu sistema, tecnicamente, poderá ler o seu conteúdo, enquanto você o estiver editando.
O manual do Vim também informa que, em uma máquina antiga (32 bit) é possível quebrar uma senha de 6 caracteres em menos de 1 dia, por força bruta, no caso de usar o cryptmethod zip.
Você pode iniciar o Vim com criptografia ativada e o swap desligado, com as seguintes opções:
vim -xn meuarquivo.txt
Leia mais:
https://linux-audit.com/using-encrypted-documents-with-vim/.