OpenSSH

Screenshot Software:
OpenSSH
Detalii soft:
Versiune: 7.7 Actualizat
Incarca data: 22 Jun 18
Producător: OpenBSD Project
Licenţă: Gratuit
Popularitate: 21

Rating: nan/5 (Total Votes: 0)

OpenSSH este un proiect software distribuit gratuit și open source, o bibliotecă și un program de linie de comandă care rulează în fundalul sistemului de operare GNU / Linux și protejează întreaga rețea de intruși și atacatori. Este versiunea open source a caietului de sarcini SSH (Secure Shell), conceput special pentru


Caracteristici dintr-o privire

OpenSSH este un proiect open source distribuit sub licență gratuită. Oferă autentificare puternică, bazată pe standardele cheie de autentificare Kerberos și One-Time Password, criptare puternică bazată pe algoritmi AES, Blowfish, Arcfour și 3DES, suporturi de redirecționare X11 prin criptarea întregului trafic X Window System, precum și AFS și Trecerea biletului Kerberos.

În plus, suportul de redirecționare a portului de caracteristici software prin criptarea canalelor pentru protocoalele vechi, suportul de comprimare a datelor, suportul de redirecționare a agenților prin utilizarea standardului de autentificare Single Sign-On (SSO) și a serverului SFTP (Secure FTP) Protocoale SSH2 sau SSH1.

O altă caracteristică interesantă este interoperabilitatea, ceea ce înseamnă că proiectul respectă versiunile 1.3, 1.5 și 2.0 ale protocolului original SSH (Secure Shell). După instalare, OpenSSH va înlocui automat programele standard FTP, Telnet, RCP și rlogin cu versiuni securizate ale acestora, cum ar fi SFTP, SCP și SSH.


Sub capota, disponibilitate și OS suportate

Proiectul OpenSSH este scris în întregime în limba de programare C. Aceasta a inclus implementarea principală a SSH și daemonul SSH, care rulează în fundal. Software-ul este distribuit în principal ca o arhivă a surselor universale, care va funcționa cu orice sistem de operare GNU / Linux, atât pe arhitecturi pe 32 de biți, cât și pe 64 de biți.


Portable OpenSSH

O versiune portabilă a protocolului OpenSSH este de asemenea disponibilă pentru descărcare gratuit pe Softoware, numită OpenSSH portabil. Este o implementare open source a protocoalelor SSH versiunea 1 și SSH versiunea 2 pentru sistemele de operare Linux, BSD și Solaris.

Ce este nou în această versiune:

  • Modificări potențial incompatibile:
  • Această versiune include o serie de modificări care pot afecta configurațiile existente:
  • Această versiune elimină suportul serverului pentru protocolul SSH v.1.
  • ssh (1): Eliminați 3des-cbc din propunerea implicită a clientului. Cipurile de blocuri pe 64 de biți nu sunt sigure în 2016 și nu vrem să așteptăm până când atacurile precum SWEET32 sunt extinse la SSH. Deoarece 3des-cbc a fost singurul cifru obligatoriu în RFC-urile SSH, acest lucru poate cauza probleme de conectare la dispozitivele mai vechi folosind configurația implicită, dar este foarte probabil ca astfel de dispozitive să aibă deja deja o configurație explicită pentru algoritmul de schimb al cheilor și al keykey-ului. sshd (8): Eliminați suportul pentru compresia de pre-autentificare. Efectuarea compresiei la începutul protocolului părea probabil rezonabilă în anii 1990, dar astăzi este clar o idee proastă în ceea ce privește criptografia (vezi mai multe atacuri oracle de compresie în TLS) și suprafața de atac. Suportul de compresie pre-auth a fost dezactivat implicit pentru> 10 ani. Suportul rămâne în client. ssh-agent va refuza să încarce modulele PKCS # 11 în afara unui whitelist de căi de încredere în mod implicit. Lista albă a căii poate fi specificată la timpul de execuție.
  • sshd (8): Când o comandă forțată apare atât în ​​certificat, cât și într-o comandă = comandă limitată, sshd va refuza să accepte certificatul dacă nu este identic. Comportamentul anterior (documentat) al suprimării certificatului forțat-comandă al celuilalt ar putea fi puțin confuz și predispus la erori. sshd (8): eliminați directiva de configurare UseLogin și suportul pentru gestionarea sesiunilor de conectare / bin / login.
  • Modificări de la OpenSSH 7.3:
  • Securitate:
  • ssh-agent (1): Acum va refuza încărcarea modulelor PKCS # 11 din căile din afara unei liste de încredere (configurabilă în timpul rulării). Solicitările de încărcare a modulelor ar putea fi transmise prin redirecționarea agentului și un atacator ar putea încerca să încarce un modul PKCS # 11 ostil pe canalul agentului de expediere: modulele PKCS # 11 sunt biblioteci partajate, astfel încât aceasta ar duce la executarea codului pe sistemul care rulează ssh - dacă atacantul are controlul socket-ului agentului de expediere (pe gazda care rulează serverul sshd) și abilitatea de a scrie în sistemul de fișiere al gazdei care rulează ssh-agent (de obicei, gazda care execută clientul ssh). Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Când separarea privilegiilor este dezactivată, socketurile de domenii Unix redirecționate vor fi create de sshd (8) cu privilegiile "root" în locul utilizatorului autentificat. Această versiune refuză redirecționarea socket-ului de domeniu Unix atunci când separarea privilegiilor este dezactivată (separarea Privilege a fost activată implicit timp de 14 ani). Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Evitați scurgerea teoretică a materialului cheii private de gazdă pentru procesele copilului separat prin privilegii prin realloc () atunci când citiți cheile. Nu a fost observată o astfel de scurgere în practică pentru cheile cu dimensiuni normale și nici o scurgere către copil nu procesează expunerea directă a materialelor cheie utilizatorilor neavizați. Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Managerul de memorie partajat folosit de suportul de compresie pre-autentificare a avut o verificare a limitelor care ar putea fi elided de unele compilatoare de optimizare. În plus, acest manager de memorie a fost accesibil incorect când a fost dezactivată compresia de pre-autentificare. Acest lucru ar putea permite atacuri împotriva procesului privilegiat de monitorizare din procesul de separare a privilegiilor cu ajutorul unui sistem de tip sandbox (un compromis al acestuia din urmă ar fi necesar mai întâi). Această versiune elimină suportul pentru compresia de pre-autentificare de la sshd (8). A raportat de către Guido Vranken utilizând instrumentul de identificare a instabilității instabile Stack (http://css.csail.mit.edu/stack/)
  • sshd (8): Fixați condiția de negare a serviciului în cazul în care un atacator care trimite mai multe mesaje KEXINIT poate consuma până la 128 MB pe conexiune. Raportat de Shi Lei de Gear Team, Qihoo 360.
  • sshd (8): Validarea intervalelor de adrese pentru directivele AllowUser și DenyUsers la timpul de încărcare a configurației și refuzarea acceptării celor nevalide. A fost posibil anterior să se specifice intervale de adrese CIDR nevalide (de exemplu, user@127.1.2.3/55) și acestea s-ar potrivi întotdeauna, eventual ducând la acordarea accesului acolo unde nu era destinat. Raportat de Laurence Parry.
  • Caracteristici noi:
  • ssh (1): Adăugați un mod de multiplexare proxy la ssh (1) inspirat de versiunea în PuTTY de Simon Tatham. Acest lucru permite unui client de multiplexare să comunice cu procesul principal folosind un subset al protocolului SSH pentru pachete și canale printr-un socket de domeniu Unix, procesul principal acționând ca un proxy care traduce ID-urile canalelor etc. Aceasta permite ca modul de multiplexare să ruleze pe sisteme care nu dispun de descrierea fișierelor descriptive (utilizate de codul de multiplexare curent) și, eventual, în legătură cu redirecționarea socket-ului de domeniu Unix, cu clientul și procesul de master multiplexare pe diferite mașini. Modul proxy de multiplexare poate fi invocat folosind "ssh -O proxy ..." "
  • sshd (8): Adăugați o opțiune sshd_config DisableForwarding care dezactivează redirecționarea socketului X11, agent, TCP, tunel și socket, precum și orice altceva pe care îl vom putea implementa în viitor. Ca și flagul "restricționați" autorizat_keys, aceasta este o modalitate simplă și de viitor pentru a restricționa un cont.
  • sshd (8), ssh (1): Suportul "curve25519-sha256" metoda de schimb de cheie. Acest lucru este identic cu metoda actual acceptată numită "curve25519-sha256@libssh.org".
  • sshd (8): Îmbunătățirea manipulării SIGHUP verificând dacă sshd este deja daemonizată la pornire și sărind peste apel la daemon (3) dacă este. Acest lucru asigură că o reluare SIGHUP a sshd (8) va păstra același proces-ID ca execuția inițială. De asemenea, sshd (8) va deconecta PidFile înainte de restartarea SIGHUP și o va crea din nou după o repornire reușită, în loc să lase un fișier vechi în cazul unei erori de configurare. bz # 2641
  • sshd (8): Permiteți ca directivele ClientAliveInterval și ClientAliveCountMax să apară în blocurile de potrivire sshd_config.
  • sshd (8): Adăugați% -escapes la AuthorizedPrincipalsCommand pentru a se potrivi cu cele acceptate de AuthorizedKeysCommand (cheie, tip cheie, amprentă digitală etc.) și câteva altele pentru a oferi acces la conținutul certificatului oferit. >
  • S-au adăugat teste de regresie pentru potrivirea șirului, funcțiile de potrivire a adreselor și funcțiile de sanitație a șirului.
  • Îmbunătățirea hamului de schimbare a cheilor.
  • Corecții ale erorilor:
  • ssh (1): Permiteți identificării fișierului IdentityFile să încarce și să utilizeze cu succes certificate care nu au o cheie publică uzată. bz # 2617 certificat id_rsa-cert.pub (și nu id_rsa.pub).
  • ssh (1): Fixați autentificarea cheii publice atunci când se utilizează mai multe autentificări și publickey nu este doar prima încercată metodă. bz # 2642
  • regress: Permiteți ca testele de interop PuTTY să ruleze nesupravegheate. bz # 2639
  • ssh-agent (1), ssh (1): îmbunătățirea raportării atunci când încercați să încărcați chei din jetoanele PKCS # 11 cu mai puține mesaje jurnal inutile și mai multe detalii în mesajele de depanare. bz # 2610
  • ssh (1): Când rupeți conexiunile ControlMaster, nu poluează stderr când LogLevel = silențios.

  • sftp (1): On ^ Z așteptați ca ssh (1) să suspende înainte de suspendarea sftp (1) pentru a se asigura că ssh (1)
  • ssh (1): evitați ocupat-așteptați când ssh (1) este suspendat în timpul unei solicitări de parolă.
  • ssh (1), sshd (8): Raportează corect erorile în timpul trimiterii mesajelor ext-info.
  • sshd (8): remediați crash-ul NULL-deref dacă sshd (8) a primit un mesaj NEWKEYS în afara secvenței.
  • sshd (8): Listă corectă de algoritmi de semnătură acceptate trimisă în extensia server-sig-algs. bz # 2547
  • sshd (8): Fixarea trimiterii mesajului ext_info dacă privsep este dezactivat.
  • sshd (8): să impună mai stricte ordonarea așteptată a apelurilor de monitorizare a separării privilegiilor utilizate pentru autentificare și să le permită numai atunci când metodele lor de autentificare sunt activate în configurație
  • sshd (8): Fix uninitialised optlen în apelul getockopt (); inofensiv pe Unix / BSD, dar potențial periculos pe Cygwin.
  • Remediați rapoartele false pozitive cauzate de explicit_bzero (3) care nu sunt recunoscute ca inițiatoare de memorie atunci când sunt compilate cu memoria -fsanitize. sshd_config (5): Utilizați 2001: db8 :: / 32, subnetul oficial IPv6 pentru exemple de configurare.
  • Portabilitate:
  • În mediile configurate cu localizări turcești, reveniți la locația C / POSIX pentru a evita erorile în parsarea configurației cauzate de manevrarea unică a literelor "i" și "I". bz # 2643
  • sftp-server (8), ssh-agent (1): Deny ptrace pe OS X folosind ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): Ștergeți codurile AES-CTR pe vechi (~ 0.9.8) OpenSSL.
  • Fixați compilația pentru compilația libcrypto fără suportul RIPEMD160.
  • contrib: adăugați un gnome-ssh-askpass3 cu suport GTK + 3. bz # 2640 sshd (8): Îmbunătățirea reinserției PRNG prin separarea privilegiilor și forțarea libcrypto pentru obținerea unei semințe de înaltă calitate înainte de chroot sau sandboxing.
  • Toate: Examinare explicită pentru strnvis rupt. NetBSD a adăugat un strnvis și, din nefericire, a făcut-o incompatibilă cu cea existentă în OpenBSD și Linux libbsd (prima care a existat de peste zece ani). Încercați să detectați această dezordine și să vă asumați singura opțiune sigură dacă ne compilam încrucișat.

Ce este nou în versiune:

  • Modificări potențial incompatibile:
  • Această versiune include o serie de modificări care pot afecta configurațiile existente:
  • Această versiune elimină suportul serverului pentru protocolul SSH v.1.
  • ssh (1): Eliminați 3des-cbc din propunerea implicită a clientului. Cipurile de blocuri pe 64 de biți nu sunt sigure în 2016 și nu vrem să așteptăm până când atacurile precum SWEET32 sunt extinse la SSH. Deoarece 3des-cbc a fost singurul cifru obligatoriu în RFC-urile SSH, acest lucru poate cauza probleme de conectare la dispozitivele mai vechi folosind configurația implicită, dar este foarte probabil ca astfel de dispozitive să aibă deja deja o configurație explicită pentru algoritmul de schimb al cheilor și al keykey-ului. sshd (8): Eliminați suportul pentru compresia de pre-autentificare. Efectuarea compresiei la începutul protocolului părea probabil rezonabilă în anii 1990, dar astăzi este clar o idee proastă în ceea ce privește criptografia (vezi mai multe atacuri oracle de compresie în TLS) și suprafața de atac. Suportul de compresie pre-auth a fost dezactivat implicit pentru> 10 ani. Suportul rămâne în client. ssh-agent va refuza să încarce modulele PKCS # 11 în afara unui whitelist de căi de încredere în mod implicit. Lista albă a căii poate fi specificată la timpul de execuție.
  • sshd (8): Când o comandă forțată apare atât în ​​certificat, cât și într-o comandă = comandă limitată, sshd va refuza să accepte certificatul dacă nu este identic. Comportamentul anterior (documentat) al suprimării certificatului forțat-comandă al celuilalt ar putea fi puțin confuz și predispus la erori. sshd (8): eliminați directiva de configurare UseLogin și suportul pentru gestionarea sesiunilor de conectare / bin / login.
  • Modificări de la OpenSSH 7.3:
  • Securitate:
  • ssh-agent (1): Acum va refuza încărcarea modulelor PKCS # 11 din căile din afara unei liste de încredere (configurabilă în timpul rulării). Solicitările de încărcare a modulelor ar putea fi transmise prin redirecționarea agentului și un atacator ar putea încerca să încarce un modul PKCS # 11 ostil pe canalul agentului de expediere: modulele PKCS # 11 sunt biblioteci partajate, astfel încât aceasta ar duce la executarea codului pe sistemul care rulează ssh - dacă atacantul are controlul socket-ului agentului de expediere (pe gazda care rulează serverul sshd) și abilitatea de a scrie în sistemul de fișiere al gazdei care rulează ssh-agent (de obicei, gazda care execută clientul ssh). Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Când separarea privilegiilor este dezactivată, socketurile de domenii Unix redirecționate vor fi create de sshd (8) cu privilegiile "root" în locul utilizatorului autentificat. Această versiune refuză redirecționarea socket-ului de domeniu Unix atunci când separarea privilegiilor este dezactivată (separarea Privilege a fost activată implicit timp de 14 ani). Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Evitați scurgerea teoretică a materialului cheii private de gazdă pentru procesele copilului separat prin privilegii prin realloc () atunci când citiți cheile. Nu a fost observată o astfel de scurgere în practică pentru cheile cu dimensiuni normale și nici o scurgere către copil nu procesează expunerea directă a materialelor cheie utilizatorilor neavizați. Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Managerul de memorie partajat folosit de suportul de compresie pre-autentificare a avut o verificare a limitelor care ar putea fi elided de unele compilatoare de optimizare. În plus, acest manager de memorie a fost accesibil incorect când a fost dezactivată compresia de pre-autentificare. Acest lucru ar putea permite atacuri împotriva procesului privilegiat de monitorizare din procesul de separare a privilegiilor cu ajutorul unui sistem de tip sandbox (un compromis al acestuia din urmă ar fi necesar mai întâi). Această versiune elimină suportul pentru compresia de pre-autentificare de la sshd (8). A raportat de către Guido Vranken utilizând instrumentul de identificare a instabilității instabile Stack (http://css.csail.mit.edu/stack/)
  • sshd (8): Fixați condiția de negare a serviciului în cazul în care un atacator care trimite mai multe mesaje KEXINIT poate consuma până la 128 MB pe conexiune. Raportat de Shi Lei de Gear Team, Qihoo 360.
  • sshd (8): Validarea intervalelor de adrese pentru directivele AllowUser și DenyUsers la timpul de încărcare a configurației și refuzarea acceptării celor nevalide. A fost posibil anterior să se specifice intervale de adrese CIDR nevalide (de exemplu, user@127.1.2.3/55) și acestea s-ar potrivi întotdeauna, eventual ducând la acordarea accesului acolo unde nu era destinat. Raportat de Laurence Parry.
  • Caracteristici noi:
  • ssh (1): Adăugați un mod de multiplexare proxy la ssh (1) inspirat de versiunea în PuTTY de Simon Tatham. Acest lucru permite unui client de multiplexare să comunice cu procesul principal folosind un subset al protocolului SSH pentru pachete și canale printr-un socket de domeniu Unix, procesul principal acționând ca un proxy care traduce ID-urile canalelor etc. Aceasta permite ca modul de multiplexare să ruleze pe sisteme care nu dispun de descrierea fișierelor descriptive (utilizate de codul de multiplexare curent) și, eventual, în legătură cu redirecționarea socket-ului de domeniu Unix, cu clientul și procesul de master multiplexare pe diferite mașini. Modul proxy de multiplexare poate fi invocat folosind "ssh -O proxy ..." "
  • sshd (8): Adăugați o opțiune sshd_config DisableForwarding care dezactivează redirecționarea socketului X11, agent, TCP, tunel și socket, precum și orice altceva pe care îl vom putea implementa în viitor. Ca și flagul "restricționați" autorizat_keys, aceasta este o modalitate simplă și de viitor pentru a restricționa un cont.
  • sshd (8), ssh (1): Suportul "curve25519-sha256" metoda de schimb de cheie. Acest lucru este identic cu metoda actual acceptată numită "curve25519-sha256@libssh.org".
  • sshd (8): Îmbunătățirea manipulării SIGHUP verificând dacă sshd este deja daemonizată la pornire și sărind peste apel la daemon (3) dacă este. Acest lucru asigură că o reluare SIGHUP a sshd (8) va păstra același proces-ID ca execuția inițială. De asemenea, sshd (8) va deconecta PidFile înainte de restartarea SIGHUP și o va crea din nou după o repornire reușită, în loc să lase un fișier vechi în cazul unei erori de configurare. bz # 2641
  • sshd (8): Permiteți ca directivele ClientAliveInterval și ClientAliveCountMax să apară în blocurile de potrivire sshd_config.
  • sshd (8): Adăugați% -escapes la AuthorizedPrincipalsCommand pentru a se potrivi cu cele acceptate de AuthorizedKeysCommand (cheie, tip cheie, amprentă digitală etc.) și câteva altele pentru a oferi acces la conținutul certificatului oferit. >
  • S-au adăugat teste de regresie pentru potrivirea șirului, funcțiile de potrivire a adreselor și funcțiile de sanitație a șirului.
  • Îmbunătățirea hamului de schimbare a cheilor.
  • Corecții ale erorilor:
  • ssh (1): Permiteți identificării fișierului IdentityFile să încarce și să utilizeze cu succes certificate care nu au o cheie publică uzată. bz # 2617 certificat id_rsa-cert.pub (și nu id_rsa.pub).
  • ssh (1): Fixați autentificarea cheii publice atunci când se utilizează mai multe autentificări și publickey nu este doar prima încercată metodă. bz # 2642
  • regress: Permiteți ca testele de interop PuTTY să ruleze nesupravegheate. bz # 2639
  • ssh-agent (1), ssh (1): îmbunătățirea raportării atunci când încercați să încărcați chei din jetoanele PKCS # 11 cu mai puține mesaje jurnal inutile și mai multe detalii în mesajele de depanare. bz # 2610
  • ssh (1): Când rupeți conexiunile ControlMaster, nu poluează stderr când LogLevel = silențios.

  • sftp (1): On ^ Z așteptați ca ssh (1) să suspende înainte de suspendarea sftp (1) pentru a se asigura că ssh (1)
  • ssh (1): evitați ocupat-așteptați când ssh (1) este suspendat în timpul unei solicitări de parolă.
  • ssh (1), sshd (8): Raportează corect erorile în timpul trimiterii mesajelor ext-info.
  • sshd (8): remediați crash-ul NULL-deref dacă sshd (8) a primit un mesaj NEWKEYS în afara secvenței.
  • sshd (8): Listă corectă de algoritmi de semnătură acceptate trimisă în extensia server-sig-algs. bz # 2547
  • sshd (8): Fixarea trimiterii mesajului ext_info dacă privsep este dezactivat.
  • sshd (8): să impună mai stricte ordonarea așteptată a apelurilor de monitorizare a separării privilegiilor utilizate pentru autentificare și să le permită numai atunci când metodele lor de autentificare sunt activate în configurație
  • sshd (8): Fix uninitialised optlen în apelul getockopt (); inofensiv pe Unix / BSD, dar potențial periculos pe Cygwin.
  • Remediați rapoartele false pozitive cauzate de explicit_bzero (3) care nu sunt recunoscute ca inițiatoare de memorie atunci când sunt compilate cu memoria -fsanitize. sshd_config (5): Utilizați 2001: db8 :: / 32, subnetul oficial IPv6 pentru exemple de configurare.
  • Portabilitate:
  • În mediile configurate cu localizări turcești, reveniți la locația C / POSIX pentru a evita erorile în parsarea configurației cauzate de manevrarea unică a literelor "i" și "I". bz # 2643
  • sftp-server (8), ssh-agent (1): Deny ptrace pe OS X folosind ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): Ștergeți codurile AES-CTR pe vechi (~ 0.9.8) OpenSSL.
  • Fixați compilația pentru compilația libcrypto fără suportul RIPEMD160.
  • contrib: adăugați un gnome-ssh-askpass3 cu suport GTK + 3. bz # 2640 sshd (8): Îmbunătățirea reinserției PRNG prin separarea privilegiilor și forțarea libcrypto pentru obținerea unei semințe de înaltă calitate înainte de chroot sau sandboxing.
  • Toate: Examinare explicită pentru strnvis rupt. NetBSD a adăugat un strnvis și, din nefericire, a făcut-o incompatibilă cu cea existentă în OpenBSD și Linux libbsd (prima care a existat de peste zece ani). Încercați să detectați această dezordine și să vă asumați singura opțiune sigură dacă ne compilam încrucișat.

Ce este nou în versiunea 7.4:

  • Modificări potențial incompatibile:
  • Această versiune include o serie de modificări care pot afecta configurațiile existente:
  • Această versiune elimină suportul serverului pentru protocolul SSH v.1.
  • ssh (1): Eliminați 3des-cbc din propunerea implicită a clientului. Cipurile de blocuri pe 64 de biți nu sunt sigure în 2016 și nu vrem să așteptăm până când atacurile precum SWEET32 sunt extinse la SSH. Deoarece 3des-cbc a fost singurul cifru obligatoriu în RFC-urile SSH, acest lucru poate cauza probleme de conectare la dispozitivele mai vechi folosind configurația implicită, dar este foarte probabil ca astfel de dispozitive să aibă deja deja o configurație explicită pentru algoritmul de schimb al cheilor și al keykey-ului. sshd (8): Eliminați suportul pentru compresia de pre-autentificare. Efectuarea compresiei la începutul protocolului părea probabil rezonabilă în anii 1990, dar astăzi este clar o idee proastă în ceea ce privește criptografia (vezi mai multe atacuri oracle de compresie în TLS) și suprafața de atac. Suportul de compresie pre-auth a fost dezactivat implicit pentru> 10 ani. Suportul rămâne în client. ssh-agent va refuza să încarce modulele PKCS # 11 în afara unui whitelist de căi de încredere în mod implicit. Lista albă a căii poate fi specificată la timpul de execuție.
  • sshd (8): Când o comandă forțată apare atât în ​​certificat, cât și într-o comandă = comandă limitată, sshd va refuza să accepte certificatul dacă nu este identic. Comportamentul anterior (documentat) al suprimării certificatului forțat-comandă al celuilalt ar putea fi puțin confuz și predispus la erori. sshd (8): eliminați directiva de configurare UseLogin și suportul pentru gestionarea sesiunilor de conectare / bin / login.
  • Modificări de la OpenSSH 7.3:
  • Securitate:
  • ssh-agent (1): Acum va refuza încărcarea modulelor PKCS # 11 din căile din afara unei liste de încredere (configurabilă în timpul rulării). Solicitările de încărcare a modulelor ar putea fi transmise prin redirecționarea agentului și un atacator ar putea încerca să încarce un modul PKCS # 11 ostil pe canalul agentului de expediere: modulele PKCS # 11 sunt biblioteci partajate, astfel încât aceasta ar duce la executarea codului pe sistemul care rulează ssh - dacă atacantul are controlul socket-ului agentului de expediere (pe gazda care rulează serverul sshd) și abilitatea de a scrie în sistemul de fișiere al gazdei care rulează ssh-agent (de obicei, gazda care execută clientul ssh). Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Când separarea privilegiilor este dezactivată, socketurile de domenii Unix redirecționate vor fi create de sshd (8) cu privilegiile "root" în locul utilizatorului autentificat. Această versiune refuză redirecționarea socket-ului de domeniu Unix atunci când separarea privilegiilor este dezactivată (separarea Privilege a fost activată implicit timp de 14 ani). Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Evitați scurgerea teoretică a materialului cheii private de gazdă pentru procesele copilului separat prin privilegii prin realloc () atunci când citiți cheile. Nu a fost observată o astfel de scurgere în practică pentru cheile cu dimensiuni normale și nici o scurgere către copil nu procesează expunerea directă a materialelor cheie utilizatorilor neavizați. Raportat de Jann Horn de la Proiectul Zero.
  • sshd (8): Managerul de memorie partajat folosit de suportul de compresie pre-autentificare a avut o verificare a limitelor care ar putea fi elided de unele compilatoare de optimizare. În plus, acest manager de memorie a fost accesibil incorect când a fost dezactivată compresia de pre-autentificare. Acest lucru ar putea permite atacuri împotriva procesului privilegiat de monitorizare din procesul de separare a privilegiilor cu ajutorul unui sistem de tip sandbox (un compromis al acestuia din urmă ar fi necesar mai întâi). Această versiune elimină suportul pentru compresia de pre-autentificare de la sshd (8). A raportat de către Guido Vranken utilizând instrumentul de identificare a instabilității instabile Stack (http://css.csail.mit.edu/stack/)
  • sshd (8): Fixați condiția de negare a serviciului în cazul în care un atacator care trimite mai multe mesaje KEXINIT poate consuma până la 128 MB pe conexiune. Raportat de Shi Lei de Gear Team, Qihoo 360.
  • sshd (8): Validarea intervalelor de adrese pentru directivele AllowUser și DenyUsers la timpul de încărcare a configurației și refuzarea acceptării celor nevalide. A fost posibil anterior să se specifice intervale de adrese CIDR nevalide (de exemplu, user@127.1.2.3/55) și acestea s-ar potrivi întotdeauna, eventual ducând la acordarea accesului acolo unde nu era destinat. Raportat de Laurence Parry.
  • Caracteristici noi:
  • ssh (1): Adăugați un mod de multiplexare proxy la ssh (1) inspirat de versiunea în PuTTY de Simon Tatham. Acest lucru permite unui client de multiplexare să comunice cu procesul principal folosind un subset al protocolului SSH pentru pachete și canale printr-un socket de domeniu Unix, procesul principal acționând ca un proxy care traduce ID-urile canalelor etc. Aceasta permite ca modul de multiplexare să ruleze pe sisteme care nu dispun de descrierea fișierelor descriptive (utilizate de codul de multiplexare curent) și, eventual, în legătură cu redirecționarea socket-ului de domeniu Unix, cu clientul și procesul de master multiplexare pe diferite mașini. Modul proxy multiplu poate fi invocat folosind "ssh -O proxy ..."
  • sshd (8): Adăugați o opțiune sshd_config DisableForwarding care dezactivează redirecționarea socketului X11, agent, TCP, tunel și socket, precum și orice altceva pe care îl vom putea implementa în viitor. Ca și flagul "restricționați" autorizat_keys, aceasta este o modalitate simplă și de viitor pentru a restricționa un cont.
  • sshd (8), ssh (1): Susțineți metoda de schimb a cheilor "curve25519-sha256". Acest lucru este identic cu metoda actual acceptată numită "curve25519-sha256@libssh.org".
  • sshd (8): Îmbunătățirea manipulării SIGHUP verificând dacă sshd este deja daemonizată la pornire și sărind peste apel la daemon (3) dacă este. Acest lucru asigură că o reluare SIGHUP a sshd (8) va păstra același proces-ID ca execuția inițială. De asemenea, sshd (8) va deconecta PidFile înainte de restartarea SIGHUP și o va crea din nou după o repornire reușită, în loc să lase un fișier vechi în cazul unei erori de configurare. bz # 2641
  • sshd (8): Permiteți ca directivele ClientAliveInterval și ClientAliveCountMax să apară în blocurile de potrivire sshd_config.
  • sshd (8): Adăugați% -escapes la AuthorizedPrincipalsCommand pentru a se potrivi cu cele acceptate de AuthorizedKeysCommand (cheie, tip cheie, amprentă digitală etc.) și câteva altele pentru a oferi acces la conținutul certificatului oferit. >
  • S-au adăugat teste de regresie pentru potrivirea șirului, funcțiile de potrivire a adreselor și funcțiile de sanitație a șirului.
  • Îmbunătățirea hamului de schimbare a cheilor.
  • Corecții ale erorilor:
  • ssh (1): Permiteți identificării fișierului IdentityFile să încarce și să utilizeze cu succes certificate care nu au o cheie publică uzată. bz # 2617 certificat id_rsa-cert.pub (și nu id_rsa.pub).
  • ssh (1): Fixați autentificarea cheii publice atunci când se utilizează mai multe autentificări și publickey nu este doar prima încercată metodă. bz # 2642
  • regress: Permiteți ca testele de interop PuTTY să ruleze nesupravegheate. bz # 2639
  • ssh-agent (1), ssh (1): îmbunătățirea raportării atunci când încercați să încărcați chei din jetoanele PKCS # 11 cu mai puține mesaje jurnal inutile și mai multe detalii în mesajele de depanare. bz # 2610
  • ssh (1): Când rupeți conexiunile ControlMaster, nu poluează stderr când LogLevel = silențios.

  • sftp (1): On ^ Z așteptați ca ssh (1) să suspende înainte de suspendarea sftp (1) pentru a se asigura că ssh (1)
  • ssh (1): evitați ocupat-așteptați când ssh (1) este suspendat în timpul unei solicitări de parolă.
  • ssh (1), sshd (8): Raportează corect erorile în timpul trimiterii mesajelor ext-info.
  • sshd (8): remediați crash-ul NULL-deref dacă sshd (8) a primit un mesaj NEWKEYS în afara secvenței.
  • sshd (8): Listă corectă de algoritmi de semnătură acceptate trimisă în extensia server-sig-algs. bz # 2547
  • sshd (8): Fixarea trimiterii mesajului ext_info dacă privsep este dezactivat.
  • sshd (8): să impună mai stricte ordonarea așteptată a apelurilor de monitorizare a separării privilegiilor utilizate pentru autentificare și să le permită numai atunci când metodele lor de autentificare sunt activate în configurație
  • sshd (8): Fix uninitialised optlen în apelul getockopt (); inofensiv pe Unix / BSD, dar potențial periculos pe Cygwin.
  • Remediați rapoartele false pozitive cauzate de explicit_bzero (3) care nu sunt recunoscute ca inițiatoare de memorie atunci când sunt compilate cu memoria -fsanitize. sshd_config (5): Utilizați 2001: db8 :: / 32, subnetul oficial IPv6 pentru exemple de configurare.
  • Portabilitate:
  • În mediile configurate cu localizări turcești, reveniți la locația C / POSIX pentru a evita erorile în parsarea configurației cauzate de manevrarea unică a literelor "i" și "I". bz # 2643
  • sftp-server (8), ssh-agent (1): Deny ptrace pe OS X folosind ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): Ștergeți codurile AES-CTR pe vechi (~ 0.9.8) OpenSSL.
  • Fixați compilația pentru compilația libcrypto fără suportul RIPEMD160.
  • contrib: adăugați un gnome-ssh-askpass3 cu suport GTK + 3. bz # 2640 sshd (8): Îmbunătățirea reinserției PRNG prin separarea privilegiilor și forțarea libcrypto pentru obținerea unei semințe de înaltă calitate înainte de chroot sau sandboxing.
  • Toate: Examinați testul pentru strnvis rupt. NetBSD a adăugat un strnvis și, din nefericire, a făcut-o incompatibilă cu cea existentă în OpenBSD și Linux libbsd (prima care a existat de peste zece ani). Încercați să detectați această dezordine și să vă asumați singura opțiune sigură dacă ne compilam încrucișat.

Ce este nou în versiunea 7.3:

  • Securitate:
  • sshd (8): Reducerea unui atac potențial de negare a serviciului împotriva funcției de criptare a sistemului (3) prin intermediul sshd (8). Un atacator ar putea trimite parole foarte lungi care ar cauza utilizarea CPU excesivă în criptă (3). sshd (8) refuză acum să accepte cereri de autentificare cu parolă cu o lungime mai mare de 1024 de caractere. Raportat independent de Tomas Kuthan (Oracle), Andres Rojas și Javier Nieto.
  • sshd (8): Reducerea diferențelor de timp în autentificarea parolei care ar putea fi utilizată pentru a discerne valabil din numele contului nevalid atunci când au fost trimise parole lungi și algoritmii de hash de parole specifici sunt utilizați pe server. CVE-2016-6210, raportată de EddieEzra.Harari la verint.com
  • ssh (1), sshd (8): Fixați o slăbiciune temporizabilă observabilă în contramăsurile orbitei CBC. Raportat de Jean Paul Degabriele, Kenny Paterson, Torben Hansen și Martin Albrecht. Rețineți că cipurile CBC sunt dezactivate în mod prestabilit și sunt incluse numai pentru compatibilitatea cu versiuni vechi.
  • ssh (1), sshd (8): Îmbunătățirea comenzii de operare a verificării MAC pentru algoritmii de transport Mac-Encrypt-then-MAC (EtM) pentru a verifica MAC-ul înainte de a decripta orice text cipher. Acest lucru elimină posibilitatea de diferențe de timp scurgerii faptelor despre textul plaintext, deși nu s-au observat astfel de scurgeri. Raportat de Jean Paul Degabriele, Kenny Paterson, Torben Hansen și Martin Albrecht. sshd (8): (numai portabil) Ignorați mediul PAM vars când UseLogin = da. Dacă PAM este configurat să citească variabilele de mediu specificate de utilizator și UseLogin = da în sshd_config, atunci un utilizator local ostil poate ataca / bin / login prin LD_PRELOAD sau variabile de mediu similare setate prin PAM. CVE-2015-8325, găsită de Shayan Sadigh.
  • Caracteristici noi:
  • ssh (1): Adăugați o opțiune ProxyJump și flag-ul corespunzător pentru linia de comandă -J pentru a permite o indirecție simplificată printr-una sau mai multe bastionări SSH sau "sari gazde".
  • ssh (1): Adăugați o opțiune IdentityAgent pentru a permite specificarea socketurilor specifice de agenți în loc să acceptați unul din mediul înconjurător. ssh (1): Permiteți ca opțiunile ExitOnForwardFailure și ClearAllForwardings să fie suprimate opțional când se utilizează ssh -W. bz # 2577
  • ssh (1), sshd (8): Implementarea suportului pentru modul terminale IUTF8 conform draft-sgtatham-secsh-iutf8-00. ssh (1), sshd (8): Adăugați suport pentru grupuri fixe Diffie-Hellman 2K, 4K și 8K fixe din draft-ietf-curdle-ssh-kex-sha2-03.
  • ssh-keygen (1), ssh (1), sshd (8): suport SHA256 și SHA512 semnături RSA în certificate; ssh (1): Adăugați o directivă Include pentru fișierele ssh_config (5).
  • ssh (1): Permiteți caracterele UTF-8 în bannerele de pre-autentificare trimise de la server. bz # 2058
  • Corecții ale erorilor:
  • ssh (1), sshd (8): Reduceți nivelul syslog al unor evenimente relativ comune din LOG_CRIT. bz # 2585
  • sshd (8): Refuse AuthenticationMethods = "" în configurații și acceptați AuthenticationMethods = oricare pentru comportamentul implicit de a nu necesita mai multe autentificări. bz # 2398
  • sshd (8): Îndepărtați depășirea și înșelăciunea "ATENȚIE POSIBILĂ DE BREAK"! mesaj când DNS înainte și înapoi nu se potrivesc. bz # 2585
  • ssh (1): Închiderea procesului de fundal ControlPersist stderr, cu excepția modului de depanare sau a conectării la syslog. bz # 1988
  • misc: Faceți descrierea PROTOCOL pentru direct-streamlocal@openssh.com mesajele deschise ale canalului se potrivesc cu codul desfășurat. bz # 2529
  • ssh (1): Intrările Deduplicate LocalForward și RemoteForward pentru a remedia defecțiunile când sunt activate ExitOnForwardFailure și canonicalisation. bz # 2562
  • sshd (8): Eliminați backback-ul de la moduli la fișierul "primes" depășit în 2001. bz # 2559.
  • sshd_config (5): Descrierea corectă a UseDNS: afectează ssh procesarea numelui de gazdă pentru authorized_keys, not known_hosts; bz # 2554 ssh (1): Fixați autentificarea utilizând chei de certificat lone într-un agent fără chei private corespunzătoare pe sistemul de fișiere. bz # 2550
  • sshd (8): Trimite ClientAliveInterval ping-uri atunci când este setat un RekeyLimit bazat pe timp; pachetele păstrate anterior nu au fost trimise. bz # 2252

Ce este nou în versiunea 7.2:

  • Securitate:
  • ssh (1), sshd (8): eliminați codul de roaming neterminat și neutilizat (a fost deja dezactivat forțat în OpenSSH 7.1p2).
  • ssh (1): eliminați căderea de la transmisia nesigură X11 la redirecționarea de încredere atunci când serverul X dezactivează extensia SECURITY.
  • ssh (1), sshd (8): crește mărimea minimă a modulului suportată pentru schimbul de grup diffie-hellman la 2048 de biți.
  • sshd (8): sandboxing-ul pre-auth este acum activat în mod implicit (versiunile anterioare le-au activat pentru instalări noi prin sshd_config).
  • Caracteristici noi:
  • toate: adăugați suport pentru semnăturile RSA utilizând algoritmi hash SHA-256/512 bazat pe draft-rsa-dsa-sha2-256-03.txt și draft-ssh-ext-info-04.txt.
  • ssh (1): Adăugați o opțiune pentru client AddKeysToAgent care poate fi setată la "da", "nu", "cere" sau "confirma" și implicit la "nu". Dacă este activată, o cheie privată care este utilizată în timpul autentificării va fi adăugată la ssh-agent dacă rulează (dacă confirmarea este activată dacă este setată la "confirmare").
  • sshd (8): adăugați o nouă opțiune authorized_keys "restrict" care include toate restricțiile cheie actuale și viitoare (nu - * - redirecționare, etc.). De asemenea, adăugați versiuni permise ale restricțiilor existente, de ex. "no-pty" -> "Pty". Acest lucru simplifică sarcina de a configura chei restrânse și asigură că acestea sunt limitate maxim, indiferent de permisiuni pe care le putem implementa în viitor. ssh (1): adăugați opțiunea ssh_config CertificateFile pentru a afișa în mod explicit certificatele. bz # 2436
  • ssh-keygen (1): permite ssh-keygen să modifice comentariul cheie pentru toate formatele acceptate.
  • ssh-keygen (1): permiteți amprentarea de la o intrare standard, de ex. "ssh-keygen -lf -"
  • ssh-keygen (1): permiteți amprentarea mai multor chei publice într-un fișier, de ex. "ssh-keygen -lf ~ / .ssh / authorized_keys" bz # 1319
  • sshd (8): susține "none" ca argument pentru sshd_config Foreground și ChrootDirectory. Utile în interiorul blocurilor de potrivire pentru a suprascrie o valoare implicită la nivel mondial. bz # 2486
  • ssh-keygen (1): suportă mai multe certificate (câte unul pe fiecare rând) și lectură de la intrarea standard (folosind "-f -") keyscan -c ... "pentru a permite preluarea certificatelor în loc de chei simple.
  • ssh (1): gestionați mai bine FQDN-urile ancorate (de ex. "cvs.openbsd.org.") în canonicalisation nume-gazdă - tratați-le ca deja canonical și eliminați " înainte de a se potrivi cu ssh_config.
  • Corecții ale erorilor:
  • sftp (1): directoarele de destinație existente nu ar trebui să rezilieze încărcările recursive (regresia în openssh 6.8) bz # 2528
  • ssh (1), sshd (8): trimite corect răspunsurile SSH2_MSG_UNIMPLEMENTED la mesaje neașteptate în timpul schimbului de taste. bz # 2949
  • ssh (1): refuză încercarea de a seta ConnectionAttempts = 0, care nu are sens și ar determina ssh să imprime o variabilă stivă neinitializată. bz # 2500
  • ssh (1): remediați erorile atunci când încercați să vă conectați la adrese IPv6 cu domeniu de activitate, cu canonicalisation enabled.
  • sshd_config (5): listați mai multe opțiuni utilizabile în blocurile de potrivire. bz # 2489
  • sshd (8): fixați "PubkeyAcceptedKeyTypes + ..." în interiorul unui bloc de potrivire. ssh (1): extindeți caracterele tilde în nume de fișiere trimise la opțiunile -i înainte de a verifica existența sau nu a fișierului de identitate. Evită confuzia pentru cazurile în care shell-ul nu se extinde (de ex. "-i ~ / file" vs. "-i ~ / file"). bz # 2481
  • ssh (1): nu prependați "exec" la comanda shell executată de "Match exec" într-un fișier de configurare, ceea ce ar putea determina anumite comenzi să eșueze în anumite medii. bz # 2471
  • ssh-keyscan (1): ieșire fix pentru mai multe host-uri / addrs pe o singură linie atunci când hash-ul gazdă sau un port non-standard este în uz bz # 2479
  • sshd (8): săriți mesajul "Nu s-a putut citi directorul home" atunci când este activ ChrootDirectory. bz # 2485
  • ssh (1): includeți PubkeyAcceptedKeyTypes în ssh -G config dump. sshd (8): evitați modificarea steagurilor dispozitivului TunnelForwarding dacă acestea sunt deja necesare; face posibilă utilizarea rețelei tun / tap ca utilizator non-root dacă permisiunile de dispozitiv și parametrii de interfață sunt prestabilite
  • ssh (1), sshd (8): RekeyLimits ar putea fi depășită de un pachet. bz # 2521
  • ssh (1): remedierea eșecului principal de multiplexare pentru a observa ieșirea clientului.
  • ssh (1), ssh-agent (1): evitați letal () pentru jetoanele PKCS11 care prezintă ID-uri de chei goale. bz # 1773
  • sshd (8): evitați argumentul printf al NULL. bz # 2535
  • ssh (1), sshd (8): permite RekeyLimits mai mare de 4GB. bz # 2521
  • ssh-keygen (1): sshd (8): reparați mai multe erori în suportul de semnături KRL (neutilizat).
  • ssh (1), sshd (8): stabiliți conexiuni cu colegii care utilizează caracteristica de schimbare a ghizilor de schimbare a protocolului. bz # 2515
  • sshd (8): include numărul de port la distanță în mesajele din jurnal. bz # 2503
  • ssh (1): nu încercați să încărcați cheia privată SSHv1 când este compilată fără suport SSHv1. bz # 2505
  • ssh-agent (1), ssh (1): remediați mesajele de eroare incorecte în timpul erorilor cheie de încărcare și semnare. bz # 2507
  • ssh-keygen (1): nu lăsa fișierele temporare goale atunci când efectuează editări de fișiere cunoscute, atunci când know_hosts nu există.
  • sshd (8): formatul corect de pachete pentru răspunsurile tcpip-forward pentru cererile care nu alocă un port bz # 2509
  • ssh (1), sshd (8): fixarea posibilă se blochează la ieșirea închisă. bz # 2469 ssh (1): extindeți% i în ControlPath la UID. bz # 2449
  • ssh (1), sshd (8): tipul returului fix de openssh_RSA_verify. bz # 2460
  • ssh (1), sshd (8): remediați unele opțiuni de parcurgere a scurgeri de memorie. bz # 2182
  • ssh (1): adăugați o ieșire de depanare înainte de rezoluția DNS; este un loc în care ssh ar putea să stea înainte în tăcere în cazurile de servere DNS care nu răspund. bz # 2433 ssh (1): eliminați noua linie falsă în cheia vizuală hostkey. bz # 2686
  • ssh (1): fixarea tipăririi (ssh -G ...) a HostKeyAlgorithms = + ...
  • ssh (1): fixarea extensiei HostkeyAlgorithms = + ...
  • Documentation:
  • ssh_config (5), sshd_config (5): actualizați listele de algoritmi implicit pentru a se potrivi cu realitatea curentă. bz # 2527
  • ssh (1): menționați opțiunile de interogare cheie-Q-simplu și -Q cheie-cert interogare. bz # 2455
  • sshd_config (8): descrieți mai clar ceea ce AutorizațiKeysFile = nu are.
  • ssh_config (5): document mai bun ExitOnForwardFailure. bz # 2444
  • sshd (5): menționați grupurile interne de rezervă DH-GEX în manual. bz # 2302
  • sshd_config (5): o descriere mai bună pentru opțiunea MaxSessions. bz # 2531
  • Portabilitate:
  • ssh (1), sftp-server (8), ssh-agent (1), sshd (8): privilegii Illumos / Solaris. Includerea unei nisipuri pre-auth privsep și a mai multor emulații ale angajamentului (). bz # 2511
  • Renovați redhat / openssh.spec, eliminând opțiunile și sintaxa depreciate.
  • configure: permite --without-ssl-engine cu -without-openssl
  • sshd (8): reparați mai multe autentificări utilizând tasta S /. bz # 2502
  • sshd (8): citiți înapoi din RAND_ libcrypto înainte de a renunța la privilegii. Evită încălcările sandbox-urilor cu BoringSSL.
  • Fixați coliziunea numelui cu funcțiile Glob (3) furnizate de sistem. bz # 2463
  • Adaptați Makefile pentru a utiliza ssh-keygen -A atunci când generați chei de gazdă. bz # 2459
  • configure: valoarea implicită corectă pentru --with-ssh1 bz # 2457
  • configure: detectarea mai bună a simbolului _res bz # 2259
  • suporta getrandom () syscall pe Linux

Ce este nou în versiunea 7.1:

  • Securitate:
  • sshd (8): OpenSSH 7.0 conține o eroare logică în PermitRootLogin = interzicere parolă / fără parolă care ar putea, în funcție de configurarea timpului de compilare, să permită autentificarea parolei să rădăcină în timp ce împiedică alte forme de autentificare. Această problemă a fost raportată de Mantas Mikulenas.
  • Corecții ale erorilor:
  • ssh (1), sshd (8): adăugați soluții de compatibilitate pentru FuTTY
  • ssh (1), sshd (8): rafinați soluțiile de compatibilitate pentru WinSCP
  • Fixați un număr de erori de memorie (dublu-liber, fără memorie neinitializată etc.) în ssh (1) și ssh-keygen (1). A raportat de Mateusz Kocielski.

Alte software-uri de dezvoltator OpenBSD Project

OpenSMTPD
OpenSMTPD

28 Sep 15

Portable OpenSSH
Portable OpenSSH

22 Jun 18

Comentarii la OpenSSH

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!