É seguro ter a mesma ssh-passphrase que a senha de login do usuário?

3

É seguro ter a mesma frase secreta para a chave ssh principal (e apenas, no meu caso) que a senha de login do usuário para o computador que uso diariamente? Supondo que eu sou o único usuário desse computador. Quais são os possíveis riscos de segurança?

    
por Martin Heralecký 09.05.2018 / 13:27

4 respostas

3
Em geral, a reutilização de 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 que são administrados pelo mesmo grupo e onde as pessoas que têm acesso a uma das máquinas / serviços geralmente têm 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 na 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 vazar, isso compromete a máquina A e outras 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 na 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 ambos, então pode ser vazado 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 pessoal for comprometido (ou você carregar acidentalmente seu arquivo de chave privada para o Github - você não seria o primeiro¹), o invasor terá acesso ao arquivo de chaves. O formato de arquivo de chave privada OpenSSH é vulnerável a ataques de força bruta no senha . Desde o OpenSSH 6.5, há um novo formato (selecionado com ssh-keygen -o , que usa corretamente um arquivo lento hash , mas não é usado por padrão a partir do OpenSSH 7.7 Então, se um invasor obtiver acesso ao seu arquivo de chave, há um sério risco de que ele obtenha a senha, o que permite que ele use a chave e permite Faça o login sem a chave Mesmo com um hash lento, se sua senha for muito fraca, um invasor que tenha o arquivo-chave pode ser capaz de quebrá-lo offline (isto é, limitado apenas pela quantidade de eletricidade que eles estão dispostos 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ê quiser proteger o arquivo de chave, mas não quiser lembrar uma senha separada, é melhor usar uma senha não memorável e armazena em seu chaveiro (o chaveiro do Gnome usa um hash lento) .²

¹ Acho que o Github agora protege contra o upload direto do arquivo-chave.
² E lembre-se de não vazar backups do seu chaveiro, mas isso é um problema menor do que com o SSH na prática porque as pessoas tendem a fazer backup do diretório .ssh que contém arquivos de configuração como config e authorized_keys .

    
por 09.05.2018 / 22:03
1

A resposta a esta pergunta depende realmente do seu ambiente de computação. Você está fazendo essa pergunta como um usuário consumidor (home) ou está fazendo essa pergunta como um usuário corporativo (trabalho). Se você está perguntando na voz deste último, então eu primeiro recomendo que você consulte seu administrador de sistema e / ou suas políticas internas de segurança corporativa. Como um todo, eu diria (do potencial 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 veracriptografia.

    
por 09.05.2018 / 19:28
-1

Em geral, a reutilização de senhas é uma ideia ruim e insegura.

Você precisa avaliar os riscos versus a simplicidade de usar a mesma senha, considerando o uso da sua chave SSH. Você criptografa informações confidenciais com ele? Acessar servidores de teste remotos? 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, ela ainda não poderá usar sua chave SSH.

    
por 09.05.2018 / 14:51
-1

É de conhecimento geral que se deve sempre usar senhas diferentes para fins diferentes. No entanto, neste caso, eu diria que o risco é baixo, pelo menos se o login do ssh via senha estiver desabilitado em sua estação de trabalho, para que um invasor remoto não tenha nenhum benefício em saber sua senha.

Caso você já tenha um intruso local (conhecendo sua senha), ele pode facilmente configurar coisas para espioná-lo para obter sua senha toda vez que for digitá-la novamente. Muitos usuários têm ssh-agent rodando de qualquer maneira, para que um intruso possa usá-lo sem a necessidade de uma senha. Portanto, senhas diferentes não ajudariam muito aqui, mas talvez ainda pudessem protegê-lo contra invasores "não especialistas" conhecidos, como seus filhos, sogra, etc.;)

Um caso mais interessante seria que um atacante 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 espiar sua frase-chave. Mas seria importante para ele obter a senha do sistema se ele já tivesse acesso? Talvez para usar o sudo, quando é configurado como no Ubuntu por padrão.

Outro caso seria o invasor ter acesso somente aos arquivos /etc/shadow e / ou as 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 invasor, mas acho que essa vantagem é baixa.

    
por 09.05.2018 / 18:41