Nota: O seguinte artigo irá ajudá-lo com: Como armazenar senhas com segurança em um servidor Linux
Quantas vezes você trabalhou em um servidor Linux (sem uma GUI) e desejou ter os meios para armazenar senhas com segurança? Ter esse recurso disponível para seus servidores headless economizaria muito tempo.
VEJO: Violação de senha: por que cultura pop e senhas não se misturam (PDF grátis) (TechRepublic)
Se você já trabalhou com Linux por tempo suficiente, provavelmente já sabe que fazer isso é bem simples. Graças ao aplicativo GnuPG, você pode criar armazenamentos de senhas que são protegidos por chave GPG por segurança (para que apenas aqueles com a chave possam ter o).
Vou mostrar como usar o GnuPG e o comando especificamente para esse propósito.
O que você precisará
Para usar o GnuPG para isso, você precisará de uma instância do Linux em execução e de um usuário com privilégios sudo. Com essas coisas prontas, vamos ser criativos.
Como instalar o GnuPG e ar
A primeira coisa que faremos é instalar o aplicativo GnuPG. Se você estiver em um servidor Ubuntu, o comando de instalação seria:
sudo apt-get install gnupg2 -y
Em uma máquina baseada em RHEL, isso seria:
sudo dnf install gnupg2 -y
Se o SUSE for sua distro de escolha:
sudo zypper install gpg2 -y
Arch Linux seu jam? Então:
sudo pacman -S gnupg
Como criar uma chave GPG para sua loja
Vamos criar uma chave GPG específica para usar com nossa loja. Para criar a chave GPG, emita o comando:
gpg2 –full-generate-key
Selecione o tipo de chave padrão (RSA), o tamanho da chave padrão (3072), uma expiração 0 (o que significa que nunca expira) e responda Y que tudo está correto. Em seguida, você adicionará seu nome à chave, um endereço de e-mail, um comentário (o que quiser) e, finalmente, dará à chave uma senha (Figura A).
Figura A
Agora é hora de começar a nova loja GPG. Mude para o seu diretório inicial com:
CD ~/
Comece a loja com:
e init EMAIL
Onde EMAIL é o endereço de e-mail associado ao GPG que você gerou. Você deve ver as duas linhas de saída a seguir:
mkdir: diretório criado ‘/home//.-store/’
Armazenamento de senha inicializado para EMAIL
Onde é seu nome de usuário e EMAIL é o endereço de e-mail associado à sua chave GPG.
Como adicionar uma senha à sua loja
Com nossa loja pronta, podemos adicionar uma senha. Usando o comando , podemos criar diretórios para hospedar senhas relacionadas. Digamos que você queira primeiro criar um diretório para abrigar senhas para sites e a primeira entrada será para TechRepublic. Esse comando pode ficar assim:
e gerar websites/techrepublic.com 12
O comando acima gerará uma senha aleatória (de 12 caracteres e a associará à entrada TechRepublic no site do diretório. Você deverá ver uma saída semelhante a:
mkdir: diretório criado ‘/home/jack/.-store/websites’
A senha gerada para websites/techrepublic.com é:
@Kh^B##
Se você já sabe a senha que deseja armazenar, o comando seria:
ar inserir websites/techrepublic.com
Você pode editar uma senha com o comando:
ar editar sites/techrepublic.com
Uma vez armazenada, você pode visualizar a senha digitando o comando:
e websites/techrepublic.com
A ressalva de usar o e para armazenar senhas
Este é o lugar onde um dos maiores problemas com o uso de como armazenamento de senha. Se você estiver usando uma distribuição com uma GUI, tudo está ótimo. Ao executar o websites/techrepublic.com, será solicitada a senha que você criou para sua chave. No entanto, quando em um servidor sem GUI, ele simplesmente imprimirá a senha, porque a caixa de diálogo de pinentry do GTK não pode ser mostrada em uma sessão SSH.
Para contornar isso, devemos instalar outro aplicativo com o comando:
sudo apt install pinentry-tty -y
Depois de instalado, defina-o com:
sudo update-alternatives –config pinentry
Certifique-se de selecionar pinentry-tty.
Depois de cuidar disso, ao executar o comando , será solicitada a senha associada à sua chave GPG. Após a autenticação bem-sucedida, você verá a senha exibida.
Uma coisa a ter em mente é que o armazenará em cache a senha da chave GPG por algum tempo. Portanto, da próxima vez que você emitir o comando , ele não solicitará sua senha. Para contornar isso, você pode limpar imediatamente a senha armazenada com o comando:
gpg-connect-agent reloadgent /bye
A ressalva é que você deve sempre se lembrar de executar o comando gpg-connect-agent antes de sair da sua sessão SSH, caso contrário, a senha permanecerá armazenada em cache por um tempo e alguém poderá fazer no seu servidor com suas credenciais e roubar sua senha. Melhor prevenir do que remediar.
E isso é tudo o que há para armazenar senhas com segurança em um servidor Linux headless com GnuPG e o comando .