protege o arquivo known_host da escrita - boa ou má ideia?

1

Eu quero proteger o arquivo known_host da escrita Então eu quero realizar os seguintes passos no meu servidor red-hat Linux

Cp /dev/null   /root/.ssh/known_hosts
chattr +i /root/.ssh/known_hosts

Eu quero que, porque eu quero evitar o login sem sucesso em qualquer máquina de destino e que, por vezes, recebemos o aviso - Identificação do host remoto foi alterado erro e login está com falha

Mas não tenho certeza se minha solução (proteção contra gravação em known_host) é uma boa ideia e qual é o efeito negativo no sistema Linux?

Ou talvez essa solução seja uma boa solução para manter o arquivo known_host vazio?

O que os membros aqui pensam?

    
por maihabunash 13.02.2015 / 13:41

1 resposta

1

IMHO Não é uma boa ideia (veja abaixo).

O comando a seguir removerá a chave incorreta de seu host do arquivo known_hosts

  ssh-keygen -R <host>

por exemplo. ssh-keygen -R my_old_client

Por que isso não é uma boa idéia pode ser discutido a partir de man ssh (pesquisa abaixo você pode ler):

Additionally, the server must be able to verify the client's host key (see the description of /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts, below) for login to be permitted. This authentication method closes security holes due to IP spoofing, DNS spoofing, and routing spoofing. [Note to the administrator: /etc/hosts.equiv, ~/.rhosts, and the rlogin/rsh protocol in general, are inherently insecure and should be disabled if security is desired.]

Algumas palavras a mais: se ssh avisar que a tecla máquina é alterada, geralmente é porque você reinstalou ssh naquela máquina, ou talvez tenha forçado uma reconstrução das chaves. No entanto, não é mais a chave ssh que foi usada da última vez ... pode ser outro computador que tenta pegar essa identidade. Se tiver certeza de que é o mesmo computador, você pode remover / atualizar a chave incorreta e prosseguir.

Sempre em man ssh sobre como isso funciona:

ssh automatically maintains and checks a database containing identification for all hosts it has ever been used with.
Host keys are stored in ~/.ssh/known_hosts in the user's home directory. Additionally, the file /etc/ssh/ssh_known_hosts is automatically checked for known hosts. Any new hosts are automatically added to the user's file. If a host's identification ever changes, ssh warns about this and disables password authentication to prevent server spoofing or man-in-the-middle attacks, which could otherwise be used to circumvent the encryption.

The StrictHostKeyChecking option can be used to control logins to machines whose host key is not known or has changed.

    
por 13.02.2015 / 13:58