Por que devo usar "HashKnownHosts yes" no ssh_config?

19

Eu tenho alguns servidores com sim, outros sem aqui (só descobri essa opção hoje).

As vantagens do HashKnownHosts no são que eu posso manter o arquivo known_hosts mais facilmente.

Quais são as vantagens factuais do uso do HashKnownHosts yes?

Thibaut Barrère
fonte

Respostas:

8

O arquivo known_hosts representa um pequeno risco de segurança. Ele contém uma lista conveniente de todos os servidores aos quais você se conecta. Um invasor que tenha acesso à sua senha ou chave privada não criptografada precisará simplesmente percorrer a lista até que suas credenciais sejam aceitas. Hashing resolve isso ou pelo menos ofusca a lista.

oneodd1
fonte
4
Esta resposta parece ter sido copiado sem atribuição de vitalvector.com/blog/2009/02/ssh-tip-hash-known-hosts.html
Martey
22

Com um texto não criptografado known_hosts, os invasores saberiam facilmente a quais servidores você se conecta. Há um artigo e um artigo do MIT sobre um possível worm ssh usando um legível known_hosts. É claro que geralmente existem outras maneiras ainda mais complicadas de determinar seus logins diários do ssh, como o histórico do shell, que um invasor pode usar.

Observe que você ainda pode trabalhar com seu hash known_hostsusando o ssh-keygenprograma utilitário:

ssh-keygen -F myhost         # shows myhosts's line in the known_hosts file
ssh-keygen -l -F myhost      # additionally shows myhost's fingerprint
ssh-keygen -R myhost         # remove myhost's line from known_hosts

Isso, especialmente o último comando, deve ser suficiente para 99% dos casos que os usuários realmente precisam acessar known_hosts. Você perderá a conclusão da guia ssh host, é claro.

Observe também que as opções da linha de comando diferenciam ssh-keygenmaiúsculas de minúsculas

Há também uma pergunta relevante no unix.SE.

quazgar
fonte