¿Qué algoritmo de clave de host es mejor usar para SSH?

15

Cuando se conecta por primera vez a un servidor SSH que no está contenido dentro de su archivo known_hosts , su cliente SSH muestra la huella digital de la clave pública que proporcionó el servidor. Encontré de esta pregunta aquí que como cliente puede especificar dentro de ssh_config cuál de los pares de claves públicas del directorio /etc/ssh/ de los hosts desea

Desde la página de manual de ssh_config encontré que los valores predeterminados actuales son los siguientes:

    [email protected],
    [email protected],
    [email protected],
    [email protected],
    [email protected],
    [email protected],
    ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,
    ecdsa-sha2-nistp521,ssh-ed25519,
    ssh-rsa,ssh-dss

Recientemente, mi servidor SSH me ha estado enviando una huella digital ECDSA en lugar de un RSA, pero me preguntaba qué algoritmo debería elegir si es que importa.

Este artículo afirma que ECDSA es the old elliptic-curve DSA implementation that is known to have severe vulnerabilites ¿Debo usar RSA o el algoritmo ed25519 más reciente?

    
pregunta user4191887 25.07.2016 - 23:25
fuente

3 respuestas

10

Actualmente,

  • RSA todavía se recomienda como estándar de oro (fuerte, compatible con ancho)
  • ed25519 es bueno (independiente de NIST, pero no es compatible con todos los clientes antiguos).

El servidor generalmente proporciona más tipos de claves de host diferentes, por lo que está apuntando a la compatibilidad. El orden de prioridad en la configuración del cliente es desde el más fuerte hasta el más compatible.

Francamente, para usted, como usuario final, no debería importar. Algunas de las claves pueden tener algunos problemas de seguridad, pero ninguna de ellas se considera completamente rota con longitudes razonables, lo que podría causar un ataque de hombre en el medio o algo similar.

El artículo menciona "vulnerabilidades graves", pero no dice nada específico. Si tuviera tal vulnerabilidad de servicio, nadie lo usaría, lo apoyaría, ni lo recomendaría. Sin ninguna referencia, es bastante difícil comentar sus inquietudes.

    
respondido por el Jakuje 26.07.2016 - 13:44
fuente
7

Dado que los algoritmos están en un estado de flujo, encuentro que estoy usando una herramienta ssh-audit (disponible en Github ) para ser extremadamente útil.

A continuación se muestra un ejemplo de salida de una configuración SSH actual pero segura:

# general
(gen) banner: SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3
(gen) software: OpenSSH 6.7p1
(gen) compatibility: OpenSSH 6.5+, Dropbear SSH 2013.62+
(gen) compression: enabled ([email protected])

# key exchange algorithms
(kex) [email protected]          -- [info] available since OpenSSH 6.5, Dropbear SSH 2013.62
(kex) diffie-hellman-group-exchange-sha256  -- [warn] using custom size modulus (possibly weak)
                                            '- [info] available since OpenSSH 4.4

# host-key algorithms
(key) ssh-ed25519                           -- [info] available since OpenSSH 6.5
(key) ssh-rsa                               -- [info] available since OpenSSH 2.5.0, Dropbear SSH 0.28

# encryption algorithms (ciphers)
(enc) [email protected]         -- [info] available since OpenSSH 6.5
                                            '- [info] default cipher since OpenSSH 6.9.
(enc) [email protected]                -- [info] available since OpenSSH 6.2
(enc) [email protected]                -- [info] available since OpenSSH 6.2
(enc) aes256-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52
(enc) aes192-ctr                            -- [info] available since OpenSSH 3.7
(enc) aes128-ctr                            -- [info] available since OpenSSH 3.7, Dropbear SSH 0.52

# message authentication code algorithms
(mac) [email protected]         -- [info] available since OpenSSH 6.2
(mac) [email protected]         -- [info] available since OpenSSH 6.2
(mac) [email protected]              -- [info] available since OpenSSH 6.2
(mac) hmac-sha1                             -- [warn] using encrypt-and-MAC mode
                                            '- [warn] using weak hashing algorithm
                                            '- [info] available since OpenSSH 2.1.0, Dropbear SSH 0.28

# algorithm recommendations (for OpenSSH 6.7)
(rec) -hmac-sha1                            -- mac algorithm to remove

Configuración utilizada para /etc/ssh/sshd_config :

KexAlgorithms [email protected],diffie-hellman-group-exchange-sha256
Ciphers [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
# Following MACs does not work on Mac OSX 10.10 or older
MACs [email protected],[email protected],[email protected],hmac-sha1

Configuración utilizada para /etc/ssh/ssh_config :

HostKeyAlgorithms [email protected],[email protected],ssh-ed25519,ssh-rsa
KexAlgorithms [email protected],diffie-hellman-group-exchange-sha256
MACs [email protected],[email protected],[email protected],hmac-sha1
Ciphers [email protected],[email protected],[email protected],aes256-ctr,aes192-ctr,aes128-ctr
    
respondido por el Egbert S 02.04.2017 - 03:44
fuente
0
  

ELEGIR UN ALGORITMO Y EL TAMAÑO DE LA TECLA

     

SSH admite varios algoritmos de clave pública para las claves de autenticación.   Estos incluyen:

     
  • rsa : un algoritmo antiguo basado en la dificultad de factorizar grandes   números. Se recomienda un tamaño de clave de al menos 2048 bits para RSA; 4096   bits es mejor RSA está envejeciendo y se están haciendo avances significativos.   Hecho en factoring. Elegir un algoritmo diferente puede ser recomendable. Eso   Es bastante posible que el algoritmo RSA sea prácticamente rompible.   en el futuro previsible. Todos los clientes de SSH admiten este algoritmo.

  •   
  • dsa : un antiguo algoritmo de firma digital del gobierno de EE. UU. Está basado en   La dificultad de computar logaritmos discretos. Un tamaño de llave de 1024.   Normalmente se utilizaría con él. DSA en su forma original ya no es   recomendado.

  •   
  • ecdsa : un nuevo algoritmo de firma digital estandarizado en EE. UU.   Gobierno, utilizando curvas elípticas. Este es probablemente un buen algoritmo   para aplicaciones actuales. Sólo se admiten tres tamaños de clave: 256,   384, y 521 (sic!) Bits. Recomendamos usarlo siempre con 521.   bits, ya que las teclas son aún pequeñas y probablemente más seguras que las   Llaves más pequeñas (aunque también deberían ser seguras). La mayoría de los SSH   los clientes ahora soportan este algoritmo.

  •   
  • ed25519 - este es un nuevo algoritmo agregado en OpenSSH. Apoyo para ello en   Los clientes aún no son universales. Así su uso en general.   Es posible que las aplicaciones aún no sean recomendables.

  •   

vea enlace

    
respondido por el cdmo 21.06.2018 - 17:01
fuente

Lea otras preguntas en las etiquetas