Como armazenar senhas com segurança em um servidor Linux

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 .

Table of Contents