3 votos

ssh VerifyHostKeyDNS no funciona

Estoy atascado en averiguar por qué ssh es incapaz de verificar mi SSHFP entradas.
VerifyHostKeyDNS=yes se encuentra en mi ~/.ssh/config

  • La Zona está correctamente firmado como verificado con https://dnssec-analyzer.verisignlabs.com.
  • SSHFP de las entradas se han generado con ssh-keygen -r myhostname
  • dig +dnssec myhostname.myzone.tld de respuestas con el adecuado RSIG entradas y el do indicador (probado con internos de resolución (pfsense) y externos (quad1, quad8, quad9))

He probado de todo con mi Ubuntu 18.04 de la máquina y comprobar que funciona (DNSSEC y la verificación de la clave SSH), pero mi MacBook "piensa diferente"...

debug1: Server host key: ecdsa-sha2-nistp256 SHA256:tV75nOBtVSASQEc4Ruf3iwBDAokvusd8BnLsfIWrzPQ
debug1: found 6 insecure fingerprints in DNS
debug1: matching host key fingerprint found in DNS
The authenticity of host 'myhostname.myzone.tld (192.0.2.1)' can't be established.
ECDSA key fingerprint is SHA256:tV75nOBtVSASQEc4Ruf3iwBDAokvusd8BnLsfIWrzPQ.
Matching host key fingerprint found in DNS.
Are you sure you want to continue connecting (yes/no)?

Yo tenía el mismo problema en mi Máquina de Ubuntu como systemd-resolved había DNSSEC no habilitado. Pero macOS s mDNSResponder no tiene ninguna opción en absoluto.
Podría ser que macOS Catalina no tiene soporte para DNSSEC (¿todavía?/activado por defecto?)

  • Sistema: macOS Catalina 10.15.1
  • Local de Resolución: pfsense (independiente)
$ uname -a
Darwin MacBook.home 19.0.0 Darwin Kernel Version 19.0.0: Thu Oct 17 16:17:18 CET 2019; root:xnu-6153.41.3~29/RELEASE_X86_64 x86_64
$ ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3

2voto

Old Pro Puntos 2851

Como parece que usted sabe, usted tiene que conseguir sus entradas DNS y solucionador de soporte para DNSSEC antes de VerifyHostKeyDNS posible.

Esta línea en su salida

debug1: found 6 insecure fingerprints in DNS

nos dice que ssh encontrado la DNSSEC entradas, pero no se fiaba de ellos. Esto es más probable, ya que correctamente pidió Autenticada de Datos (de lo contrario sería no encontrar huellas dactilares en todos), pero la resolución de DNS no se indican los resultados fueron autenticados (de lo contrario, las huellas dactilares podría ser etiquetado como "seguro" no "inseguro").

La primera cosa a hacer es comprobar que dig puede validar su DNS buscando la ad indicador en los resultados de dig, como este (los componentes de la respuesta omitido por razones de brevedad):

$ dig +dnssec @1.1.1.1 icann.org

; <<>> DiG 9.8.3-P1 <<>> +dnssec @1.1.1.1 icann.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17489
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 1452
;; QUESTION SECTION:
;icann.org.         IN  A

;; ANSWER SECTION:
icann.org.      587 IN  A   192.0.43.7
icann.org.      587 IN  RRSIG   A 7 2 600 20191202002438 20191110134355 8150 icann.org. W9PTVWEF4Dd6fQmPRmaq9n7IMCds3JSRks1GB+JBHzrL63OX2QMZ7o1X YSZb90Rr6m2Di7ckcBiZtp/JGwvwEN2xPfWc5XubFsfQ8Vxpdze3o6DK llilOoHxrdTtnvYQ2djV+pWBoIkmX+eIKJSEhofy/c5K95nLxQ51RYBB AfU=

Tenga en cuenta que ad (Datos Autorizados) aparece en la lista de flags. Esto indica que dig fue capaz de validar la integridad de los datos a través de DNSSEC. A partir de los comentarios de la pregunta, parece que usted no está viendo el ad bandera, y por lo que necesita a la dirección que por la comprobación de que las DNSSEC claves son todos configurado correctamente y que el servidor DNS compatible con DNSSEC. Esto incluye asegurarse de que su servidor DNS local tiene la correcta root de las claves para la validación de la cadena de confianza DNSSEC.

Algunas otras notas

Una vez que usted consiga ad indicador de dig, usted todavía tiene que ser consciente del hecho de que, como se señaló en la dig página man en el Mac, dig utiliza su propio sistema de consulta, no para todo el sistema, por lo que todos dig realmente puede comprobar es que tienes tus entradas DNS correctamente configurado en su servidor de nombre y de que el servidor DNS que está en contacto con DNSSEC. Para que la materia, ssh no utiliza necesariamente el sistema de DNS, aunque en su caso parece ser.

También, desde una perspectiva de seguridad, usted todavía tiene el problema de confiar en el servidor DNS que está hablando. A menos que usted también establecer algún tipo de autenticación entre el host y el servidor DNS, siguen siendo vulnerables a un hombre en el ataque medio.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X