Quale algoritmo chiave host è meglio usare per SSH?

15

Quando ti connetti per la prima volta a un server SSH che non è contenuto nel tuo file known_hosts , il tuo client SSH mostra l'impronta digitale della chiave pubblica che il server ha fornito. Ho trovato da questa domanda qui che come cliente puoi specificare all'interno di ssh_config quale coppia di chiavi pubblica proviene dalla directory /etc/ssh/ degli host che desideri.

Dalla pagina man di ssh_config ho scoperto che i valori di default correnti sono i seguenti:

    [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

Solo recentemente il mio server SSH mi ha inviato una impronta digitale ECDSA invece di una RSA, ma mi chiedevo quale algoritmo dovrei scegliere se fosse importante?

Questo articolo afferma che ECDSA è the old elliptic-curve DSA implementation that is known to have severe vulnerabilites Dovrei usare RSA o il nuovo algoritmo ed25519?

    
posta user4191887 25.07.2016 - 23:25
fonte

3 risposte

10

Attualmente,

  • RSA è ancora raccomandato come gold standard (strong, ampio compatibile)
  • ed25519 è buono (indipendentemente dal NIST, ma non è compatibile con tutti i vecchi client).

Il server di solito fornisce più tipi di chiavi host differenti, quindi il tuo obiettivo è la compatibilità. L'ordine di priorità nella configurazione del client è da quello più strong a quello più compatibile.

Francamente, per te, come utente finale, non dovrebbe avere importanza. Alcune delle chiavi potrebbero avere alcuni problemi di sicurezza, ma nessuna di esse è considerata completamente rotta con una lunghezza ragionevole, che potrebbe causare un attacco man-in-the-middle o qualcosa di simile.

L'articolo menziona "gravi vulnerabilità", ma non dice nulla di specifico. Se avesse una vulnerabilità di questo tipo, nessuno la userebbe, la supporterebbe, né la consiglierebbe. Senza alcun riferimento, è piuttosto difficile commentare le tue preoccupazioni.

    
risposta data 26.07.2016 - 13:44
fonte
7

Poiché gli algoritmi sono in uno stato di flusso, trovo che usare uno strumento ssh-audit (disponibile su Github ) per essere estremamente utile.

Di seguito è riportato un esempio di output di un SSH corrente ma sicuro:

# 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

Impostazioni utilizzate per /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

Impostazioni utilizzate per /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
    
risposta data 02.04.2017 - 03:44
fonte
0

CHOOSING AN ALGORITHM AND KEY SIZE

SSH supports several public key algorithms for authentication keys. These include:

  • rsa - an old algorithm based on the difficulty of factoring large numbers. A key size of at least 2048 bits is recommended for RSA; 4096 bits is better. RSA is getting old and significant advances are being made in factoring. Choosing a different algorithm may be advisable. It is quite possible the RSA algorithm will become practically breakable in the foreseeable future. All SSH clients support this algorithm.

  • dsa - an old US government Digital Signature Algorithm. It is based on the difficulty of computing discrete logarithms. A key size of 1024 would normally be used with it. DSA in its original form is no longer recommended.

  • ecdsa - a new Digital Signature Algorithm standarized by the US government, using elliptic curves. This is probably a good algorithm for current applications. Only three key sizes are supported: 256, 384, and 521 (sic!) bits. We would recommend always using it with 521 bits, since the keys are still small and probably more secure than the smaller keys (even though they should be safe as well). Most SSH clients now support this algorithm.

  • ed25519 - this is a new algorithm added in OpenSSH. Support for it in clients is not yet universal. Thus its use in general purpose applications may not yet be advisable.

vedi link

    
risposta data 21.06.2018 - 17:01
fonte

Leggi altre domande sui tag