Fichero known_hosts
¿Qué es Fichero known_hosts?
Fichero known_hostsFichero del cliente OpenSSH (~/.ssh/known_hosts) que fija las claves publicas de los servidores para que SSH detecte cambios de host-key que podrian indicar un ataque MITM.
El fichero known_hosts implementa el modelo trust-on-first-use (TOFU) para las identidades de los servidores SSH. En la primera conexion a un host, se pide al usuario verificar y aceptar la huella de su clave publica; OpenSSH guarda host y clave en known_hosts (existe tambien /etc/ssh/ssh_known_hosts global). En conexiones posteriores compara la clave ofrecida con la registrada y rechaza la conexion si difieren, avisando de un posible MITM. Por defecto el hashing esta activo (HashKnownHosts yes), por lo que exponer el fichero no revela los hosts visitados. Opciones mas robustas son certificados de host firmados por una CA (TrustedUserCAKeys / @cert-authority), registros SSHFP en DNS firmados con DNSSEC (RFC 4255) y rechazar cualquier prompt con StrictHostKeyChecking=yes en accesos de produccion.
● Ejemplos
- 01
Aviso de OpenSSH 'REMOTE HOST IDENTIFICATION HAS CHANGED!' cuando la clave registrada deja de coincidir.
- 02
Usar certificados SSH con entradas @cert-authority para que centenares de servidores no aparezcan uno a uno en known_hosts.
● Preguntas frecuentes
¿Qué es Fichero known_hosts?
Fichero del cliente OpenSSH (~/.ssh/known_hosts) que fija las claves publicas de los servidores para que SSH detecte cambios de host-key que podrian indicar un ataque MITM. Pertenece a la categoría de Seguridad de red en ciberseguridad.
¿Qué significa Fichero known_hosts?
Fichero del cliente OpenSSH (~/.ssh/known_hosts) que fija las claves publicas de los servidores para que SSH detecte cambios de host-key que podrian indicar un ataque MITM.
¿Cómo funciona Fichero known_hosts?
El fichero known_hosts implementa el modelo trust-on-first-use (TOFU) para las identidades de los servidores SSH. En la primera conexion a un host, se pide al usuario verificar y aceptar la huella de su clave publica; OpenSSH guarda host y clave en known_hosts (existe tambien /etc/ssh/ssh_known_hosts global). En conexiones posteriores compara la clave ofrecida con la registrada y rechaza la conexion si difieren, avisando de un posible MITM. Por defecto el hashing esta activo (HashKnownHosts yes), por lo que exponer el fichero no revela los hosts visitados. Opciones mas robustas son certificados de host firmados por una CA (TrustedUserCAKeys / @cert-authority), registros SSHFP en DNS firmados con DNSSEC (RFC 4255) y rechazar cualquier prompt con StrictHostKeyChecking=yes en accesos de produccion.
¿Cómo defenderse de Fichero known_hosts?
Las defensas contra Fichero known_hosts combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Fichero known_hosts?
Nombres alternativos comunes: ~/.ssh/known_hosts, TOFU de host SSH.
● Términos relacionados
- network-security№ 1089
Tipos de claves SSH
Algoritmos de clave asimetrica aceptados por OpenSSH para autenticar usuarios y hosts: RSA, ECDSA (curvas NIST) y la opcion moderna por defecto Ed25519.
- network-security№ 1088
Reenvio de agente SSH
Funcion de OpenSSH activada con -A o ForwardAgent yes que expone un socket UNIX en el host remoto para que sus comandos usen el agente SSH local y autentiquen saltos posteriores.
- network-security№ 345
DNSSEC
Conjunto de extensiones del DNS que usa firmas digitales para que los resolutores verifiquen la autenticidad e integridad de los registros DNS.
- network-security№ 1087
SSH
Protocolo de red criptográfico (RFC 4251, puerto 22) que ofrece inicio de sesión remoto, ejecución de comandos y túneles autenticados, cifrados e íntegros sobre redes no fiables.