Cifre implicite/preferate OpenSSH, hash, etc. pentru SSH2 (Securitatea informațiilor, Hash, Ssh, Selecție Cifru)

SFun28 a intrebat.
a intrebat.

Atunci când se utilizează serverul OpenSSH (sshd) și client (ssh), care sunt toate cifrele implicite/preferate de program, hash, etc. (legate de securitate) și opțiunile lor implicite (cum ar fi lungimea cheii)?

Deci, care sunt valorile implicite pentru cheia simetrică, MAC, schimbul de chei, etc.

Comentarii

  • Nu este acest lucru acoperit în documentația pentru OpenSSH? „Specifică cifrele permise pentru versiunea 2 a protocolului. Cifrele multiple trebuie să fie separate prin virgulă. Cifrele acceptate sunt ”3des-cbc”, ”aes128-cbc”, ”aes192-cbc”, ”aes256-cbc”, ”aes128-ctr”, ”aes192-ctr”, ”aes256-ctr”, ”arcfour128”, ”arcfour256”, ”arcfour”, ”blowfish-cbc” și ”cast128-cbc”. ” (din sshd_config) –  > Por Mark C. Wallace.
  • Caut valoarea implicită (adică ceea ce se alege) pentru fiecare categorie de elemente legate de securitate. nu toate alegerile posibile pentru fiecare categorie. A se vedea comentariul meu la răspunsul lui Schroeder de mai jos. –  > Por SFun28.
  • Titlu actualizat – solicit informații doar pentru SSH v2. –  > Por SFun28.
2 răspunsuri
Thomas Pornin

Algoritmii impliciți (adică algoritmii pe care clientul și serverul preferă să folosească atunci când au posibilitatea de a alege) depind de implementările clientului și serverului, de modul în care au fost compilate și configurate. Deci, poate depinde de furnizorul de software, de versiunea de software, de distribuția sistemului de operare și de alegerile administratorului de sistem.

Pe un Ubuntu 12.10, man ssh_config indică faptul că ordinea implicită pentru criptare este:

            aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
            aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
            aes256-cbc,arcfour

în timp ce ordinea implicită pentru MAC (integritate) este:

            hmac-md5,hmac-sha1,[email protected],
            hmac-ripemd160,hmac-sha1-96,hmac-md5-96,
            hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,
            hmac-sha2-512-96

Algoritmul de schimb de chei ar urma această ordine de preferință:

            ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
            diffie-hellman-group-exchange-sha256,
            diffie-hellman-group-exchange-sha1,
            diffie-hellman-group14-sha1,
            diffie-hellman-group1-sha1

Desigur, preferințele sunt supuse negocierii. Un algoritm va fi selectat numai dacă atât clientul, cât și serverul îl acceptă (în special, suportul pentru schimbul de chei ECDH este destul de recent), iar atât clientul, cât și serverul au un cuvânt de spus în această privință (dacă nu au exact aceleași preferințe).

Un sondaj este teoretic realizabil: conectați-vă la o adresă IP aleatorie și, dacă un server SSH răspunde, aflați lista preferată de cifrare și MAC a acestuia (prin conectare de mai multe ori, limitând lista de opțiuni anunțate de client). OpenSSH face studii de utilizare dar acestea nu sunt la fel de amănunțite (vor doar „bannerul” serverului).

Comentarii

  • Nu am putut rezista și am făcut o mică benchmark al tuturor cifrelor cunoscute. Dar, ca întotdeauna: „Lies, Damned Lies and Benchmarks” se aplică 🙂 –  > Por ckujau.
schroeder

V-ați uitat la manualul? O căutare rapidă Ctrl-F pentru „default” a dezvăluit multe dintre răspunsurile pe care le căutați:

  • lungimea cheii: 1024
  • 3DES
  • SSH2

Comentarii

  • O parte din informații sunt disponibile acolo, dar nu toate. De exemplu, sunt listate 7 opțiuni MAC, dar clientul alege. Sunt sigur că aceste informații se află în pagina de manual a clientului. Speram ca cineva să aibă toate aceste informații accesibile. Și o parte din această întrebare este de a înțelege care sunt diferitele categorii de opțiuni legate de securitate. SSH are mai multe subprotocoale. Sunt familiarizat cu SSL și, deși unele dintre caracteristicile de securitate din SSH reflectă SSL, nu cred că toate o fac. Așa că încerc, de asemenea, să evit să citesc întregul protocol =) –  > Por SFun28.
  • Îmi vine să spun: „totul este accesibil în paginile de manual dacă faci un ctrl-f”. Mi-a luat un minut să fac căutarea și, în aceste condiții, nu aș avea niciun motiv să păstrez acele date în memorie. Valorile implicite între programe sunt inevitabil diferite, deoarece sshd trebuie să accepte conexiuni de la diferite tipuri de clienți. Dacă, pe de altă parte, doriți să știți care este cea mai sigură configurație, atunci întrebarea dvs. trebuie să fie schimbată. –  > Por schroeder.
  • Mă refer la clientul OpenSSH și la serverul OpenSSH. Acest client are valori implicite diferite pe diferite tipuri de sisteme de tip unix? În afară de MAC hash, cifru simetric, cifru asimetric, ce altceva ar trebui să mai caut? –  > Por SFun28.
  • Clientul și serverul au cu siguranță opțiuni diferite disponibile în momentul compilării. –  > Por Dan Pritts.