Il server OpenSSH utilizza un parametro DH fallback codificato per 2048 bit?

4

Sto giocando con le configurazioni OpenSSH e sto analizzando i parametri di Diffie-Hellman. Utilizzo lo strumento di GDSSecurity per controllare le impostazioni DH e questa pagina per visualizzare altre impostazioni SSH.

Per i funs, ho rimosso tutti i moduli più piccoli di 4096 bit da /etc/ssh/moduli :

$ awk '{print $5}' /etc/ssh/moduli | sort | uniq
4095
6143
8191

Mi aspetto che lo scambio di chiavi fallisca se il client accetta solo 2048 bit o 3072 bit group. È interessante notare che fallisce in quest'ultimo caso, ma non nel caso precedente, a 2048 bit.

KEX proposal client: diffie-hellman-group-exchange-sha256
KEX proposal server: [email protected],diffie-hellman-group-exchange-sha256
KEX algorithm chosen: diffie-hellman-group-exchange-sha256
KEX client group sizes: min = 2048, nbits = 2048, max = 2048
KEX server-chosen group size in bits: 2048
Warning: Permanently added 'test,x.x.x.x' (ED25519) to the list of known hosts.
KEX proposal client: diffie-hellman-group-exchange-sha256
KEX proposal server: [email protected],diffie-hellman-group-exchange-sha256
KEX algorithm chosen: diffie-hellman-group-exchange-sha256
KEX client group sizes: min = 3072, nbits = 3072, max = 3072
ssh_dispatch_run_fatal: Connection to x.x.x.x: DH GEX group out of range

Il sito sopra menzionato afferma anche uno scambio di chiavi con successo utilizzando un gruppo di 2048 bit.

Conosco troppo poco i dettagli né del protocollo SSH né di OpenSSH per capire cosa sta succedendo qui. OpenSSH utilizza un parametro di fallback se nessun gruppo appropriato è disponibile dal file dei moduli?

    
posta tarleb 17.02.2016 - 17:19
fonte

1 risposta

4

I gruppi di fallback DH sono definiti nel codice sorgente qui . Il gruppo corrente può essere 2k o 4k. Ma in realtà dipende da quale versione stai usando (ci sono state alcune modifiche di recente).

Nota RFC 4419 , che specifica:

Servers and clients SHOULD support groups with a modulus length of k bits, where 1024 <= k <= 8192. The recommended values for min and max are 1024 and 8192, respectively.

E le note di rilascio recenti per il futuro openssh-7.2 :

  • ssh(1), sshd(8): increase the minimum modulus size supported for diffie-hellman-group-exchange to 2048 bits.
    
risposta data 17.02.2016 - 17:45
fonte

Leggi altre domande sui tag