É seguro ter a mesma senha para a chave ssh principal (e única, no meu caso) como a senha de login do usuário para o computador que uso diariamente? Supondo que eu seja o único usuário desse computador. Quais são os possíveis riscos de segurança?
relate perguntas
-
Auto-SSH funciona manualmente, mas não em segundo plano
-
Execute o aplicativo X remotamente, execute a GUI no host remoto [fechado]
-
rsync porta 22 e 873 uso
-
Aborto repentino do SCP: tubo quebrado, código de autenticação de mensagem incorreto
-
Existe um daemon syslog que implementa RFC 5848 "Signed Syslog Messages"?
De um modo geral, reutilizar senhas é uma má ideia, a menos que você esteja usando a mesma senha no mesmo domínio, ou seja, entre máquinas ou serviços administrados pelo mesmo grupo e onde as pessoas que têm acesso a uma das máquinas/serviços geralmente tenham acesso a todos eles.
A senha da sua conta na máquina A é usada na máquina A e controla o acesso à máquina A. A senha da sua chave privada SSH na máquina A é usada na máquina A e controla o acesso a outras máquinas. Se você usar a mesma senha em ambos e ela for vazada, isso compromete tanto a máquina A quanto as demais máquinas. Portanto, compartilhar a senha é ruim para a segurança.
A senha da sua conta na máquina A é usada na máquina A e controla o acesso à máquina A. A senha da sua chave privada SSH na máquina B é usada na máquina B e controla o acesso à máquina A. Se você usar a mesma senha em ambas , então pode vazar de A ou B. Portanto, compartilhar a senha é ruim para a segurança.
A senha também pode vazar por meio de backups. Por exemplo, se um backup do seu diretório inicial for comprometido (ou você acidentalmente enviar seu arquivo de chave privada para o Github — você não seria o primeiro¹), o invasor terá acesso ao arquivo de chave. O formato de arquivo de chave privada OpenSSH é vulnerável a ataques de força bruta na senha . Desde o OpenSSH 6.5, existe um novo formato (selecionado com o
ssh-keygen -o
qual usa corretamente um hash lento, mas não é usado por padrão a partir do OpenSSH 7.7. Portanto, se um invasor obtiver acesso ao seu arquivo de chave, há um sério risco de obter a senha, o que permite que ele use a chave e faça login sem a chave. Mesmo com um hash lento, se sua senha for muito fraca, um invasor que tiver o arquivo de chave poderá quebrá-lo offline (isto é, limitado apenas pela quantidade de eletricidade que está disposto a gastar).Por esses motivos, você não deve usar a mesma senha para uma chave SSH e para uma conta de usuário. Se você deseja proteger o arquivo de chave, mas não quer se lembrar de uma senha separada, seria melhor usar uma senha não memorizável e armazená-la em seu chaveiro (o chaveiro Gnome usa um hash lento).²
¹ Acho que o Github agora protege contra o upload direto do arquivo de chave.
² E lembre-se de não vazar backups de seu chaveiro, mas isso é menos problemático do que com SSH na prática porque as pessoas tendem a fazer backup de seu
.ssh
diretório que contém arquivos de configuração comoconfig
eauthorized_keys
.A resposta a esta pergunta realmente depende do seu ambiente de computação. Você está fazendo esta pergunta como um usuário consumidor (doméstico) ou como um usuário corporativo (trabalho). Se você está perguntando na voz do último, primeiro recomendo que consulte o administrador do sistema e/ou as políticas de segurança interna da empresa. Como um todo, eu diria (do ponto de vista de um praticante de IA... a resposta é sempre não. Eu recomendaria usar um gerenciador de senhas e criptografar a lista principal com um aplicativo como o veracrypt.
Em geral, reutilizar senhas é uma ideia ruim e insegura.
Você precisa avaliar os riscos versus a simplicidade de usar a mesma senha considerando para que sua chave SSH é usada. Você criptografa informações confidenciais com ele? Acessar servidores de teste remoto? Servidores de produção? Isso é algo que só você pode avaliar.
Ter senhas separadas significa implementar defesa em profundidade : se alguém encontrar sua senha e acessar seu computador, ele ainda não poderá usar sua chave SSH.
É de conhecimento comum que sempre se deve usar senhas diferentes para finalidades diferentes. No entanto, neste caso, eu diria que o risco é baixo, pelo menos se o login ssh via senha estiver desativado em sua estação de trabalho, para que um invasor remoto não possa ter nenhum benefício de saber sua senha.
Caso você já tenha um intruso local (sabendo sua senha), ele pode facilmente configurar coisas para espioná-lo e obter sua senha sempre que você a digitar novamente. Muitos usuários estão
ssh-agent
executando de qualquer maneira, então um intruso pode usá-lo sem a necessidade de uma senha. Portanto, senhas diferentes não ajudariam muito aqui, mas talvez ainda pudessem protegê-lo contra invasores "conhecidos não especialistas", como seus filhos, sogra, etc. ;)Um caso mais interessante seria que um invasor remoto (vírus) conseguiu executar o código em sua conta de usuário sem saber nenhuma senha ainda. Parece mais fácil para ele espionar sua senha. Mas seria importante ele pegar a senha do sistema se já tem acesso? Talvez para usar o sudo, quando configurado como no Ubuntu por padrão.
Outro caso seria o invasor ter acesso apenas aos arquivos
/etc/shadow
e/ou às chaves ssh criptografadas (por exemplo, invadir o servidor de backup). Agora, em teoria, é possível que as chaves ou os arquivos de sombra sejam menos seguros contra ataques de força bruta para adivinhar senhas. Isso seria uma vantagem para o atacante, mas acho que essa vantagem é baixa.