Ficheiro known_hosts
O que é Ficheiro known_hosts?
Ficheiro known_hostsFicheiro do cliente OpenSSH (~/.ssh/known_hosts) que fixa as chaves publicas dos servidores para que o SSH detete mudancas de host-key indicativas de um ataque MITM.
O ficheiro known_hosts implementa o modelo trust-on-first-use (TOFU) para as identidades dos servidores SSH. Na primeira ligacao, o utilizador verifica e aceita a impressao digital da chave publica e o OpenSSH grava o host e a chave em known_hosts (existe tambem /etc/ssh/ssh_known_hosts a nivel de sistema). Nas ligacoes seguintes, o OpenSSH compara a chave apresentada com a guardada e recusa a ligacao quando diferem, alertando para um possivel MITM. O hashing dos nomes esta ativo por omissao (HashKnownHosts yes), pelo que divulgar o ficheiro nao expoe os hosts visitados. Opcoes mais robustas incluem certificados de host assinados por uma CA (TrustedUserCAKeys / @cert-authority), registos SSHFP em DNS assinados por DNSSEC (RFC 4255) e recusar qualquer prompt com StrictHostKeyChecking=yes em acessos de producao.
● Exemplos
- 01
Aviso do OpenSSH 'REMOTE HOST IDENTIFICATION HAS CHANGED!' quando a chave em known_hosts deixa de coincidir.
- 02
Usar certificados SSH com entradas @cert-authority para evitar centenas de servidores listados um a um em known_hosts.
● Perguntas frequentes
O que é Ficheiro known_hosts?
Ficheiro do cliente OpenSSH (~/.ssh/known_hosts) que fixa as chaves publicas dos servidores para que o SSH detete mudancas de host-key indicativas de um ataque MITM. Pertence à categoria Segurança de rede da cibersegurança.
O que significa Ficheiro known_hosts?
Ficheiro do cliente OpenSSH (~/.ssh/known_hosts) que fixa as chaves publicas dos servidores para que o SSH detete mudancas de host-key indicativas de um ataque MITM.
Como funciona Ficheiro known_hosts?
O ficheiro known_hosts implementa o modelo trust-on-first-use (TOFU) para as identidades dos servidores SSH. Na primeira ligacao, o utilizador verifica e aceita a impressao digital da chave publica e o OpenSSH grava o host e a chave em known_hosts (existe tambem /etc/ssh/ssh_known_hosts a nivel de sistema). Nas ligacoes seguintes, o OpenSSH compara a chave apresentada com a guardada e recusa a ligacao quando diferem, alertando para um possivel MITM. O hashing dos nomes esta ativo por omissao (HashKnownHosts yes), pelo que divulgar o ficheiro nao expoe os hosts visitados. Opcoes mais robustas incluem certificados de host assinados por uma CA (TrustedUserCAKeys / @cert-authority), registos SSHFP em DNS assinados por DNSSEC (RFC 4255) e recusar qualquer prompt com StrictHostKeyChecking=yes em acessos de producao.
Como se defender contra Ficheiro known_hosts?
As defesas contra Ficheiro known_hosts costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.
Quais são outros nomes para Ficheiro known_hosts?
Nomes alternativos comuns: ~/.ssh/known_hosts, TOFU de host SSH.
● Termos relacionados
- network-security№ 1089
Tipos de chaves SSH
Algoritmos de chave assimetrica suportados pelo OpenSSH para autenticacao de utilizador e host: RSA, ECDSA (curvas NIST) e o atual padrao moderno Ed25519.
- network-security№ 1088
Encaminhamento de agente SSH
Funcionalidade do OpenSSH ativada por -A ou ForwardAgent yes que expoe um socket UNIX no host remoto para que comandos ali usem o agente SSH local em saltos seguintes.
- network-security№ 345
DNSSEC
Conjunto de extensões do DNS que utiliza assinaturas digitais para permitir que os resolvedores verifiquem a autenticidade e a integridade dos registos DNS.
- network-security№ 1087
SSH
Protocolo de rede criptografico (RFC 4251, porta 22) que oferece login remoto, execucao de comandos e tunelamento autenticados, cifrados e com integridade sobre redes nao confiaveis.