OpenSSH

Software screenshot:
OpenSSH
Dettagli del software:
Versione: 7.7 Aggiornato
Data di caricamento: 22 Jun 18
Sviluppatore: OpenBSD Project
Licenza: Libero
Popolarità: 21

Rating: nan/5 (Total Votes: 0)

OpenSSH è un progetto software liberamente distribuito e open source, una libreria e un programma da riga di comando che viene eseguito sullo sfondo del sistema operativo GNU / Linux e protegge l'intera rete da intrusi e aggressori. È la versione open source della specifica SSH (Secure Shell), specificamente progettata per


Caratteristiche a colpo d'occhio

OpenSSH è un progetto open source distribuito sotto una licenza libera. Offre un'autentica autenticazione basata su chiave pubblica, autenticazione Kerberos e standard One-Time Password, crittografia avanzata basata sugli algoritmi AES, Blowfish, Arcfour e 3DES, supporta l'inoltro X11 crittografando l'intero traffico del sistema X Window, nonché AFS e Passaggio del ticket Kerberos.

Inoltre, il software offre il supporto per il port forwarding crittografando i canali per protocolli legacy, supporto per la compressione dei dati, supporto per l'inoltro degli agenti utilizzando il server di autenticazione SSO (Single-Sign-On) standard e il server SFTP (Secure FTP) in entrambi i casi Protocolli SSH2 o SSH1.

Un'altra caratteristica interessante è l'interoperabilità, il che significa che il progetto è conforme alle versioni 1.3, 1.5 e 2.0 del protocollo SSH (Secure Shell) originale. Dopo l'installazione, OpenSSH sostituirà automaticamente i programmi standard FTP, Telnet, RCP e rlogin con versioni sicure di loro, come SFTP, SCP e SSH.


Sotto il cofano, disponibilità e sistemi operativi supportati

Il progetto OpenSSH è scritto interamente nel linguaggio di programmazione C. Comprende l'implementazione principale di SSH e il daemon SSH, che viene eseguito in background. Il software è distribuito principalmente come archivio universale delle fonti, che funzionerà con qualsiasi sistema operativo GNU / Linux su architetture sia a 32 bit che a 64 bit.


OpenSSH portatile

Una versione portatile del protocollo OpenSSH è anche disponibile per il download su Softoware, gratuitamente, chiamato Portable OpenSSH. È un'implementazione open source dei protocolli SSH versione 1 e SSH versione 2 per i sistemi operativi Linux, BSD e Solaris.

Novità in questa versione:

  • Modifiche potenzialmente incompatibili:
  • Questa versione include una serie di modifiche che potrebbero influire sulle configurazioni esistenti:
  • Questa versione rimuove il supporto del server per il protocollo SSH v.1.
  • ssh (1): Rimuovi 3des-cbc dalla proposta predefinita del client. I cifrari a 64 bit non sono sicuri nel 2016 e non vogliamo aspettare fino a quando attacchi come SWEET32 non saranno estesi a SSH. Poiché 3des-cbc era l'unico codice obbligatorio nelle RFC SSH, ciò potrebbe causare problemi di connessione ai dispositivi più vecchi utilizzando la configurazione predefinita, ma è altamente probabile che tali dispositivi già abbiano già bisogno di una configurazione esplicita per gli algoritmi di scambio chiavi e hostkey. sshd (8): rimuove il supporto per la compressione di pre-autenticazione. Probabilmente la compressione all'inizio del protocollo sembrava ragionevole negli anni '90, ma oggi è chiaramente una cattiva idea in termini sia di crittografia (attacchi di oracle a compressione multipla in TLS) che di superficie di attacco. Il supporto per la compressione pre-auth è stato disabilitato per impostazione predefinita per & gt; 10 anni. Il supporto rimane nel client. ssh-agent rifiuterà di caricare i moduli PKCS # 11 al di fuori di una whitelist di percorsi attendibili per impostazione predefinita. La whitelist del percorso può essere specificata in fase di esecuzione.
  • sshd (8): quando un comando forzato viene visualizzato sia in un certificato che in un comando autorizzato keys / principal = restriction, sshd rifiuta di accettare il certificato a meno che non siano identici. Il precedente comportamento (documentato) di avere il comando forzato del certificato che sovrascrive l'altro potrebbe essere un po 'confuso e soggetto a errori. sshd (8): rimuovere la direttiva di configurazione UseLogin e il supporto per avere / bin / login gestire le sessioni di accesso.
  • Cambiamenti da OpenSSH 7.3:
  • Sicurezza:
  • ssh-agent (1): ora rifiuterà di caricare i moduli PKCS # 11 da percorsi esterni a una whitelist attendibile (in fase di esecuzione configurabile). Le richieste di caricamento dei moduli possono essere inoltrate tramite l'inoltro dell'agente e un utente malintenzionato può tentare di caricare un modulo PKCS # 11 ostile attraverso il canale dell'agente inoltrato: i moduli PKCS # 11 sono librerie condivise, pertanto ciò comporterebbe l'esecuzione di codice sul sistema che esegue ssh -agente se l'utente malintenzionato ha il controllo del socket agent inoltrato (sull'host che esegue il server sshd) e la possibilità di scrivere sul filesystem dell'host che esegue ssh-agent (di solito l'host che esegue il client ssh). Segnalato da Jann Horn di Project Zero.
  • sshd (8): quando la separazione dei privilegi è disabilitata, i socket di dominio Unix inoltrati verranno creati da sshd (8) con i privilegi di 'root' invece che dell'utente autenticato. Questa versione rifiuta l'inoltro dei socket del dominio Unix quando la separazione dei privilegi è disabilitata (la separazione dei privilegi è stata abilitata per impostazione predefinita per 14 anni). Segnalato da Jann Horn di Project Zero.
  • sshd (8): Evita la perdita teorica del materiale della chiave privata dell'host nei processi figli separati da privilegi tramite realloc () durante la lettura delle chiavi. In pratica, nessuna perdita di questo tipo è stata osservata per le chiavi di dimensioni normali, né una perdita nei processi secondari espone direttamente il materiale chiave a utenti non privilegiati. Segnalato da Jann Horn di Project Zero.
  • sshd (8): il gestore della memoria condivisa utilizzato dal supporto per la compressione di pre-autenticazione aveva una verifica dei limiti che poteva essere elidata da alcuni compilatori di ottimizzazione. Inoltre, questo gestore di memoria era erroneamente accessibile quando la compressione di pre-autenticazione era disabilitata. Questo potrebbe potenzialmente consentire attacchi contro il processo di monitoraggio privilegiato dal processo di separazione dei privilegi sandboxed (un compromesso di quest'ultimo sarebbe richiesto prima). Questa versione rimuove il supporto per la compressione di pre-autenticazione da sshd (8). Segnalato da Guido Vranken utilizzando lo strumento di identificazione dell'ottimizzazione instabile dello stack (http://css.csail.mit.edu/stack/)
  • sshd (8): correzione della condizione di negazione del servizio in cui un utente malintenzionato che invia più messaggi KEXINIT può consumare fino a 128 MB per connessione. Segnalato da Shi Lei di Gear Team, Qihoo 360.
  • sshd (8): convalida gli intervalli di indirizzi per le direttive AllowUser e DenyUsers al momento del caricamento della configurazione e rifiuta di accettare quelli non validi. In precedenza era possibile specificare intervalli di indirizzi CIDR non validi (ad esempio utente@127.1.2.3/55) e questi corrispondevano sempre, con la conseguente possibilità di concedere l'accesso laddove non era previsto. Segnalato da Laurence Parry.
  • Nuove funzionalità:
  • ssh (1): aggiunge una modalità di multiplexing del proxy a ssh (1) ispirata alla versione in PuTTY di Simon Tatham. Ciò consente a un client multiplexing di comunicare con il processo master utilizzando un sottoinsieme del pacchetto SSH e il protocollo dei canali su un socket dominio Unix, con il processo principale che funge da proxy che traduce gli ID canale, ecc. Ciò consente di eseguire la modalità multiplexing su sistemi privi del passaggio del descrittore di file (utilizzato dal codice multiplexing corrente) e potenzialmente, in combinazione con l'inoltro socket del dominio Unix, con il processo master client e multiplexing su macchine diverse. La modalità proxy di multiplexing può essere invocata usando & quot; ssh -O proxy ... & quot;
  • sshd (8): aggiungi un'opzione DisableForwarding di sshd_config che disabilita l'inoltro socket di dominio X11, agent, TCP, tunnel e Unix, oltre a qualsiasi altra cosa che potremmo implementare in futuro. Come il flag 'restrict' authorized_keys, questo è inteso come un modo semplice e a prova di futuro per limitare un account.
  • sshd (8), ssh (1): supporta la & quot; curve25519-sha256 & quot; metodo di scambio chiave. Questo è identico al metodo attualmente supportato denominato & quot; curve25519-sha256@libssh.org".
  • sshd (8): migliora la gestione di SIGHUP controllando se sshd è già demonizzato all'avvio e saltando la chiamata a demone (3), se lo è. Ciò garantisce che il riavvio SIGHUP di sshd (8) manterrà lo stesso ID di processo dell'esecuzione iniziale. sshd (8) ora scollegherà anche PidFile prima di riavviare SIGHUP e ricrearlo dopo un riavvio riuscito, piuttosto che lasciare un file non aggiornato nel caso di un errore di configurazione. bz # 2641
  • sshd (8): consente di visualizzare le direttive ClientAliveInterval e ClientAliveCountMax nei blocchi di corrispondenza sshd_config.
  • sshd (8): aggiungi% -escapes a AuthorizedPrincipalsCommand per far corrispondere quelli supportati da AuthorizedKeysCommand (chiave, tipo di chiave, impronta digitale, ecc.) e alcuni altri per fornire l'accesso ai contenuti del certificato offerto.
  • Aggiunti test di regressione per la corrispondenza delle stringhe, la corrispondenza degli indirizzi e le funzioni di sanificazione delle stringhe.
  • Migliorato il cablaggio di sostituzione fuzzer delle chiavi.
  • Bugfix:
  • ssh (1): consente a IdentityFile di caricare e utilizzare correttamente certificati privi della corrispondente chiave pubblica. bz # 2617 certificato id_rsa-cert.pub (e nessun id_rsa.pub).
  • ssh (1): corregge l'autenticazione della chiave pubblica quando è in uso più autenticazione e publickey non è solo il primo metodo tentato. bz # 2642
  • regress: consente l'esecuzione automatica dei test di interoperabilità di PuTTY. bz # 2639
  • ssh-agent (1), ssh (1): migliora i rapporti quando si tenta di caricare chiavi dai token PKCS # 11 con meno messaggi di log inutili e maggiori dettagli nei messaggi di debug. bz # 2610
  • ssh (1): quando si abbattono le connessioni ControlMaster, non inquinare stderr quando LogLevel = quiet.
  • sftp (1): On ^ Z aspetta che ssh (1) sottostante sospenda prima di sospendere sftp (1) per assicurare che ssh (1) ripristini correttamente la modalità terminale se sospesa durante una richiesta di password.
  • ssh (1): Evita busy-wait quando ssh (1) viene sospeso durante una richiesta di password.
  • ssh (1), sshd (8): segnala correttamente gli errori durante l'invio di messaggi di estensioni.
  • sshd (8): corregge NULL-deref se sshd (8) ha ricevuto un messaggio NEWKEYS fuori sequenza.
  • sshd (8): elenco corretto degli algoritmi di firma supportati inviati nell'estensione server-sig-algs. bz # 2547
  • sshd (8): corregge l'invio di un messaggio ext_info se privsep è disabilitato.
  • sshd (8): applica più rigorosamente l'ordine previsto per le chiamate di monitoraggio della separazione dei privilegi utilizzate per l'autenticazione e le consente solo quando i rispettivi metodi di autenticazione sono abilitati nella configurazione
  • sshd (8): correggi l'optlen non inizializzato nella chiamata getsockopt (); innocuo su Unix / BSD ma potenzialmente in crash su Cygwin.
  • Risolve i falsi positivi causati da esplicito esplicito di (3) non riconosciuto come inizializzatore di memoria quando compilato con -fsanitize-memory. sshd_config (5): Usa 2001: db8 :: / 32, la subnet IPv6 ufficiale per gli esempi di configurazione.
  • Portabilità:
  • Sugli ambienti configurati con impostazioni locali turche, ricorrere alle impostazioni locali di C / POSIX per evitare errori nell'analisi della configurazione causati dalla gestione univoca di tali impostazioni delle lettere "i" e "I". bz # 2643
  • sftp-server (8), ssh-agent (1): nega ptrace su OS X usando ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): Unbreak di cifrature AES-CTR su vecchio (~ 0.9.8) OpenSSL.
  • Fix compilation per libcrypto compilato senza supporto RIPEMD160.
  • contrib: aggiungi un gnome-ssh-askpass3 con supporto per GTK + 3. bz # 2640 sshd (8): Migliora la reseeding PRNG attraverso la separazione dei privilegi e forza la libcrypto per ottenere un seme di alta qualità prima di chroot o sandboxing.
  • Tutti: test esplicito per strnvis rotto. NetBSD ha aggiunto uno strnvis e purtroppo lo ha reso incompatibile con quello esistente in OpenBSD e Linux libbsd (il primo esistito da oltre dieci anni). Prova a rilevare questo problema e presume l'unica opzione sicura se eseguiamo la compilazione incrociata.

Novità della versione nella versione:

  • Modifiche potenzialmente incompatibili:
  • Questa versione include una serie di modifiche che potrebbero influire sulle configurazioni esistenti:
  • Questa versione rimuove il supporto del server per il protocollo SSH v.1.
  • ssh (1): Rimuovi 3des-cbc dalla proposta predefinita del client. I cifrari a 64 bit non sono sicuri nel 2016 e non vogliamo aspettare fino a quando attacchi come SWEET32 non saranno estesi a SSH. Poiché 3des-cbc era l'unico codice obbligatorio nelle RFC SSH, ciò potrebbe causare problemi di connessione ai dispositivi più vecchi utilizzando la configurazione predefinita, ma è altamente probabile che tali dispositivi già abbiano già bisogno di una configurazione esplicita per gli algoritmi di scambio chiavi e hostkey. sshd (8): rimuove il supporto per la compressione di pre-autenticazione. Probabilmente la compressione all'inizio del protocollo sembrava ragionevole negli anni '90, ma oggi è chiaramente una cattiva idea in termini sia di crittografia (attacchi di oracle a compressione multipla in TLS) che di superficie di attacco. Il supporto per la compressione pre-auth è stato disabilitato per impostazione predefinita per & gt; 10 anni. Il supporto rimane nel client. ssh-agent rifiuterà di caricare i moduli PKCS # 11 al di fuori di una whitelist di percorsi attendibili per impostazione predefinita. La whitelist del percorso può essere specificata in fase di esecuzione.
  • sshd (8): quando un comando forzato viene visualizzato sia in un certificato che in un comando autorizzato keys / principal = restriction, sshd rifiuta di accettare il certificato a meno che non siano identici. Il precedente comportamento (documentato) di avere il comando forzato del certificato che sovrascrive l'altro potrebbe essere un po 'confuso e soggetto a errori. sshd (8): rimuovere la direttiva di configurazione UseLogin e il supporto per avere / bin / login gestire le sessioni di accesso.
  • Cambiamenti da OpenSSH 7.3:
  • Sicurezza:
  • ssh-agent (1): ora rifiuterà di caricare i moduli PKCS # 11 da percorsi esterni a una whitelist attendibile (in fase di esecuzione configurabile). Le richieste di caricamento dei moduli possono essere inoltrate tramite l'inoltro dell'agente e un utente malintenzionato può tentare di caricare un modulo PKCS # 11 ostile attraverso il canale dell'agente inoltrato: i moduli PKCS # 11 sono librerie condivise, pertanto ciò comporterebbe l'esecuzione di codice sul sistema che esegue ssh -agente se l'utente malintenzionato ha il controllo del socket agent inoltrato (sull'host che esegue il server sshd) e la possibilità di scrivere sul filesystem dell'host che esegue ssh-agent (di solito l'host che esegue il client ssh). Segnalato da Jann Horn di Project Zero.
  • sshd (8): quando la separazione dei privilegi è disabilitata, i socket di dominio Unix inoltrati verranno creati da sshd (8) con i privilegi di 'root' invece che dell'utente autenticato. Questa versione rifiuta l'inoltro dei socket del dominio Unix quando la separazione dei privilegi è disabilitata (la separazione dei privilegi è stata abilitata per impostazione predefinita per 14 anni). Segnalato da Jann Horn di Project Zero.
  • sshd (8): Evita la perdita teorica del materiale della chiave privata dell'host nei processi figli separati da privilegi tramite realloc () durante la lettura delle chiavi. In pratica, nessuna perdita di questo tipo è stata osservata per le chiavi di dimensioni normali, né una perdita nei processi secondari espone direttamente il materiale chiave a utenti non privilegiati. Segnalato da Jann Horn di Project Zero.
  • sshd (8): il gestore della memoria condivisa utilizzato dal supporto per la compressione di pre-autenticazione aveva una verifica dei limiti che poteva essere elidata da alcuni compilatori di ottimizzazione. Inoltre, questo gestore di memoria era erroneamente accessibile quando la compressione di pre-autenticazione era disabilitata. Questo potrebbe potenzialmente consentire attacchi contro il processo di monitoraggio privilegiato dal processo di separazione dei privilegi sandboxed (un compromesso di quest'ultimo sarebbe richiesto prima). Questa versione rimuove il supporto per la compressione di pre-autenticazione da sshd (8). Segnalato da Guido Vranken utilizzando lo strumento di identificazione dell'ottimizzazione instabile dello stack (http://css.csail.mit.edu/stack/)
  • sshd (8): correzione della condizione di negazione del servizio in cui un utente malintenzionato che invia più messaggi KEXINIT può consumare fino a 128 MB per connessione. Segnalato da Shi Lei di Gear Team, Qihoo 360.
  • sshd (8): convalida gli intervalli di indirizzi per le direttive AllowUser e DenyUsers al momento del caricamento della configurazione e rifiuta di accettare quelli non validi. In precedenza era possibile specificare intervalli di indirizzi CIDR non validi (ad esempio utente@127.1.2.3/55) e questi corrispondevano sempre, con la conseguente possibilità di concedere l'accesso laddove non era previsto. Segnalato da Laurence Parry.
  • Nuove funzionalità:
  • ssh (1): aggiunge una modalità di multiplexing del proxy a ssh (1) ispirata alla versione in PuTTY di Simon Tatham. Ciò consente a un client multiplexing di comunicare con il processo master utilizzando un sottoinsieme del pacchetto SSH e il protocollo dei canali su un socket dominio Unix, con il processo principale che funge da proxy che traduce gli ID canale, ecc. Ciò consente di eseguire la modalità multiplexing su sistemi privi del passaggio del descrittore di file (utilizzato dal codice multiplexing corrente) e potenzialmente, in combinazione con l'inoltro socket del dominio Unix, con il processo master client e multiplexing su macchine diverse. La modalità proxy di multiplexing può essere invocata usando & quot; ssh -O proxy ... & quot;
  • sshd (8): aggiungi un'opzione DisableForwarding di sshd_config che disabilita l'inoltro socket di dominio X11, agent, TCP, tunnel e Unix, oltre a qualsiasi altra cosa che potremmo implementare in futuro. Come il flag 'restrict' authorized_keys, questo è inteso come un modo semplice e a prova di futuro per limitare un account.
  • sshd (8), ssh (1): supporta la & quot; curve25519-sha256 & quot; metodo di scambio chiave. Questo è identico al metodo attualmente supportato denominato & quot; curve25519-sha256@libssh.org".
  • sshd (8): migliora la gestione di SIGHUP controllando se sshd è già demonizzato all'avvio e saltando la chiamata a demone (3), se lo è. Ciò garantisce che il riavvio SIGHUP di sshd (8) manterrà lo stesso ID di processo dell'esecuzione iniziale. sshd (8) ora scollegherà anche PidFile prima di riavviare SIGHUP e ricrearlo dopo un riavvio riuscito, piuttosto che lasciare un file non aggiornato nel caso di un errore di configurazione. bz # 2641
  • sshd (8): consente di visualizzare le direttive ClientAliveInterval e ClientAliveCountMax nei blocchi di corrispondenza sshd_config.
  • sshd (8): aggiungi% -escapes a AuthorizedPrincipalsCommand per far corrispondere quelli supportati da AuthorizedKeysCommand (chiave, tipo di chiave, impronta digitale, ecc.) e alcuni altri per fornire l'accesso ai contenuti del certificato offerto.
  • Aggiunti test di regressione per la corrispondenza delle stringhe, la corrispondenza degli indirizzi e le funzioni di sanificazione delle stringhe.
  • Migliorato il cablaggio di sostituzione fuzzer delle chiavi.
  • Bugfix:
  • ssh (1): consente a IdentityFile di caricare e utilizzare correttamente certificati privi della corrispondente chiave pubblica. bz # 2617 certificato id_rsa-cert.pub (e nessun id_rsa.pub).
  • ssh (1): corregge l'autenticazione della chiave pubblica quando è in uso più autenticazione e publickey non è solo il primo metodo tentato. bz # 2642
  • regress: consente l'esecuzione automatica dei test di interoperabilità di PuTTY. bz # 2639
  • ssh-agent (1), ssh (1): migliora i rapporti quando si tenta di caricare chiavi dai token PKCS # 11 con meno messaggi di log inutili e maggiori dettagli nei messaggi di debug. bz # 2610
  • ssh (1): quando si abbattono le connessioni ControlMaster, non inquinare stderr quando LogLevel = quiet.
  • sftp (1): On ^ Z aspetta che ssh (1) sottostante sospenda prima di sospendere sftp (1) per assicurare che ssh (1) ripristini correttamente la modalità terminale se sospesa durante una richiesta di password.
  • ssh (1): Evita busy-wait quando ssh (1) viene sospeso durante una richiesta di password.
  • ssh (1), sshd (8): segnala correttamente gli errori durante l'invio di messaggi di estensioni.
  • sshd (8): corregge NULL-deref se sshd (8) ha ricevuto un messaggio NEWKEYS fuori sequenza.
  • sshd (8): elenco corretto degli algoritmi di firma supportati inviati nell'estensione server-sig-algs. bz # 2547
  • sshd (8): corregge l'invio di un messaggio ext_info se privsep è disabilitato.
  • sshd (8): applica più rigorosamente l'ordine previsto per le chiamate di monitoraggio della separazione dei privilegi utilizzate per l'autenticazione e le consente solo quando i rispettivi metodi di autenticazione sono abilitati nella configurazione
  • sshd (8): correggi l'optlen non inizializzato nella chiamata getsockopt (); innocuo su Unix / BSD ma potenzialmente in crash su Cygwin.
  • Risolve i falsi positivi causati da esplicito esplicito di (3) non riconosciuto come inizializzatore di memoria quando compilato con -fsanitize-memory. sshd_config (5): Usa 2001: db8 :: / 32, la subnet IPv6 ufficiale per gli esempi di configurazione.
  • Portabilità:
  • Sugli ambienti configurati con impostazioni locali turche, ricorrere alle impostazioni locali di C / POSIX per evitare errori nell'analisi della configurazione causati dalla gestione univoca di tali impostazioni delle lettere "i" e "I". bz # 2643
  • sftp-server (8), ssh-agent (1): nega ptrace su OS X usando ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): Unbreak di cifrature AES-CTR su vecchio (~ 0.9.8) OpenSSL.
  • Fix compilation per libcrypto compilato senza supporto RIPEMD160.
  • contrib: aggiungi un gnome-ssh-askpass3 con supporto per GTK + 3. bz # 2640 sshd (8): Migliora la reseeding PRNG attraverso la separazione dei privilegi e forza la libcrypto per ottenere un seme di alta qualità prima di chroot o sandboxing.
  • Tutti: test esplicito per strnvis rotto. NetBSD ha aggiunto uno strnvis e purtroppo lo ha reso incompatibile con quello esistente in OpenBSD e Linux libbsd (il primo esistito da oltre dieci anni). Prova a rilevare questo problema e presume l'unica opzione sicura se eseguiamo la compilazione incrociata.

Novità in nella versione 7.4:

  • Modifiche potenzialmente incompatibili:
  • Questa versione include una serie di modifiche che potrebbero influire sulle configurazioni esistenti:
  • Questa versione rimuove il supporto del server per il protocollo SSH v.1.
  • ssh (1): Rimuovi 3des-cbc dalla proposta predefinita del client. I cifrari a 64 bit non sono sicuri nel 2016 e non vogliamo aspettare fino a quando attacchi come SWEET32 non saranno estesi a SSH. Poiché 3des-cbc era l'unico codice obbligatorio nelle RFC SSH, ciò potrebbe causare problemi di connessione ai dispositivi più vecchi utilizzando la configurazione predefinita, ma è altamente probabile che tali dispositivi già abbiano già bisogno di una configurazione esplicita per gli algoritmi di scambio chiavi e hostkey. sshd (8): rimuove il supporto per la compressione di pre-autenticazione. Probabilmente la compressione all'inizio del protocollo sembrava ragionevole negli anni '90, ma oggi è chiaramente una cattiva idea in termini sia di crittografia (attacchi di oracle a compressione multipla in TLS) che di superficie di attacco. Il supporto per la compressione pre-auth è stato disabilitato per impostazione predefinita per & gt; 10 anni. Il supporto rimane nel client. ssh-agent rifiuterà di caricare i moduli PKCS # 11 al di fuori di una whitelist di percorsi attendibili per impostazione predefinita. La whitelist del percorso può essere specificata in fase di esecuzione.
  • sshd (8): quando un comando forzato viene visualizzato sia in un certificato che in un comando autorizzato keys / principal = restriction, sshd rifiuta di accettare il certificato a meno che non siano identici. Il precedente comportamento (documentato) di avere il comando forzato del certificato che sovrascrive l'altro potrebbe essere un po 'confuso e soggetto a errori. sshd (8): rimuovere la direttiva di configurazione UseLogin e il supporto per avere / bin / login gestire le sessioni di accesso.
  • Cambiamenti da OpenSSH 7.3:
  • Sicurezza:
  • ssh-agent (1): ora rifiuterà di caricare i moduli PKCS # 11 da percorsi esterni a una whitelist attendibile (in fase di esecuzione configurabile). Le richieste di caricamento dei moduli possono essere inoltrate tramite l'inoltro dell'agente e un utente malintenzionato può tentare di caricare un modulo PKCS # 11 ostile attraverso il canale dell'agente inoltrato: i moduli PKCS # 11 sono librerie condivise, pertanto ciò comporterebbe l'esecuzione di codice sul sistema che esegue ssh -agente se l'utente malintenzionato ha il controllo del socket agent inoltrato (sull'host che esegue il server sshd) e la possibilità di scrivere sul filesystem dell'host che esegue ssh-agent (di solito l'host che esegue il client ssh). Segnalato da Jann Horn di Project Zero.
  • sshd (8): quando la separazione dei privilegi è disabilitata, i socket di dominio Unix inoltrati verranno creati da sshd (8) con i privilegi di 'root' invece che dell'utente autenticato. Questa versione rifiuta l'inoltro dei socket del dominio Unix quando la separazione dei privilegi è disabilitata (la separazione dei privilegi è stata abilitata per impostazione predefinita per 14 anni). Segnalato da Jann Horn di Project Zero.
  • sshd (8): Evita la perdita teorica del materiale della chiave privata dell'host nei processi figli separati da privilegi tramite realloc () durante la lettura delle chiavi. In pratica, nessuna perdita di questo tipo è stata osservata per le chiavi di dimensioni normali, né una perdita nei processi secondari espone direttamente il materiale chiave a utenti non privilegiati. Segnalato da Jann Horn di Project Zero.
  • sshd (8): il gestore della memoria condivisa utilizzato dal supporto per la compressione di pre-autenticazione aveva una verifica dei limiti che poteva essere elidata da alcuni compilatori di ottimizzazione. Inoltre, questo gestore di memoria era erroneamente accessibile quando la compressione di pre-autenticazione era disabilitata. Questo potrebbe potenzialmente consentire attacchi contro il processo di monitoraggio privilegiato dal processo di separazione dei privilegi sandboxed (un compromesso di quest'ultimo sarebbe richiesto prima). Questa versione rimuove il supporto per la compressione di pre-autenticazione da sshd (8). Segnalato da Guido Vranken utilizzando lo strumento di identificazione dell'ottimizzazione instabile dello stack (http://css.csail.mit.edu/stack/)
  • sshd (8): correzione della condizione di negazione del servizio in cui un utente malintenzionato che invia più messaggi KEXINIT può consumare fino a 128 MB per connessione. Segnalato da Shi Lei di Gear Team, Qihoo 360.
  • sshd (8): convalida gli intervalli di indirizzi per le direttive AllowUser e DenyUsers al momento del caricamento della configurazione e rifiuta di accettare quelli non validi. In precedenza era possibile specificare intervalli di indirizzi CIDR non validi (ad esempio utente@127.1.2.3/55) e questi corrispondevano sempre, con la conseguente possibilità di concedere l'accesso laddove non era previsto. Segnalato da Laurence Parry.
  • Nuove funzionalità:
  • ssh (1): aggiunge una modalità di multiplexing del proxy a ssh (1) ispirata alla versione in PuTTY di Simon Tatham. Ciò consente a un client multiplexing di comunicare con il processo master utilizzando un sottoinsieme del pacchetto SSH e il protocollo dei canali su un socket dominio Unix, con il processo principale che funge da proxy che traduce gli ID canale, ecc. Ciò consente di eseguire la modalità multiplexing su sistemi privi del passaggio del descrittore di file (utilizzato dal codice multiplexing corrente) e potenzialmente, in combinazione con l'inoltro socket del dominio Unix, con il processo master client e multiplexing su macchine diverse. La modalità proxy di multiplexing può essere invocata usando "ssh -O proxy ..."
  • sshd (8): aggiungi un'opzione DisableForwarding di sshd_config che disabilita l'inoltro socket di dominio X11, agent, TCP, tunnel e Unix, oltre a qualsiasi altra cosa che potremmo implementare in futuro. Come il flag 'restrict' authorized_keys, questo è inteso come un modo semplice e a prova di futuro per limitare un account.
  • sshd (8), ssh (1): supporta il metodo di scambio chiavi "curve25519-sha256". Questo è identico al metodo attualmente supportato denominato "curve25519-sha256@libssh.org".
  • sshd (8): migliora la gestione di SIGHUP controllando se sshd è già demonizzato all'avvio e saltando la chiamata a demone (3), se lo è. Ciò garantisce che il riavvio SIGHUP di sshd (8) manterrà lo stesso ID di processo dell'esecuzione iniziale. sshd (8) ora scollegherà anche PidFile prima di riavviare SIGHUP e ricrearlo dopo un riavvio riuscito, piuttosto che lasciare un file non aggiornato nel caso di un errore di configurazione. bz # 2641
  • sshd (8): consente di visualizzare le direttive ClientAliveInterval e ClientAliveCountMax nei blocchi di corrispondenza sshd_config.
  • sshd (8): aggiungi% -escapes a AuthorizedPrincipalsCommand per far corrispondere quelli supportati da AuthorizedKeysCommand (chiave, tipo di chiave, impronta digitale, ecc.) e alcuni altri per fornire l'accesso ai contenuti del certificato offerto.
  • Aggiunti test di regressione per la corrispondenza delle stringhe, la corrispondenza degli indirizzi e le funzioni di sanificazione delle stringhe.
  • Migliorato il cablaggio di sostituzione fuzzer delle chiavi.
  • Bugfix:
  • ssh (1): consente a IdentityFile di caricare e utilizzare correttamente certificati privi della corrispondente chiave pubblica. bz # 2617 certificato id_rsa-cert.pub (e nessun id_rsa.pub).
  • ssh (1): corregge l'autenticazione della chiave pubblica quando è in uso più autenticazione e publickey non è solo il primo metodo tentato. bz # 2642
  • regress: consente l'esecuzione automatica dei test di interoperabilità di PuTTY. bz # 2639
  • ssh-agent (1), ssh (1): migliora i rapporti quando si tenta di caricare chiavi dai token PKCS # 11 con meno messaggi di log inutili e maggiori dettagli nei messaggi di debug. bz # 2610
  • ssh (1): quando si abbattono le connessioni ControlMaster, non inquinare stderr quando LogLevel = quiet.
  • sftp (1): On ^ Z aspetta che ssh (1) sottostante sospenda prima di sospendere sftp (1) per assicurare che ssh (1) ripristini correttamente la modalità terminale se sospesa durante una richiesta di password.
  • ssh (1): Evita busy-wait quando ssh (1) viene sospeso durante una richiesta di password.
  • ssh (1), sshd (8): segnala correttamente gli errori durante l'invio di messaggi di estensioni.
  • sshd (8): corregge NULL-deref se sshd (8) ha ricevuto un messaggio NEWKEYS fuori sequenza.
  • sshd (8): elenco corretto degli algoritmi di firma supportati inviati nell'estensione server-sig-algs. bz # 2547
  • sshd (8): corregge l'invio di un messaggio ext_info se privsep è disabilitato.
  • sshd (8): applica più rigorosamente l'ordine previsto per le chiamate di monitoraggio della separazione dei privilegi utilizzate per l'autenticazione e le consente solo quando i rispettivi metodi di autenticazione sono abilitati nella configurazione
  • sshd (8): correggi l'optlen non inizializzato nella chiamata getsockopt (); innocuo su Unix / BSD ma potenzialmente in crash su Cygwin.
  • Risolve i falsi positivi causati da esplicito esplicito di (3) non riconosciuto come inizializzatore di memoria quando compilato con -fsanitize-memory. sshd_config (5): Usa 2001: db8 :: / 32, la subnet IPv6 ufficiale per gli esempi di configurazione.
  • Portabilità:
  • Sugli ambienti configurati con impostazioni locali turche, ricorrere alle impostazioni locali di C / POSIX per evitare errori nell'analisi della configurazione causati dalla gestione univoca di tali impostazioni delle lettere "i" e "I". bz # 2643
  • sftp-server (8), ssh-agent (1): nega ptrace su OS X usando ptrace (PT_DENY_ATTACH, ..)
  • ssh (1), sshd (8): Unbreak di cifrature AES-CTR su vecchio (~ 0.9.8) OpenSSL.
  • Fix compilation per libcrypto compilato senza supporto RIPEMD160.
  • contrib: aggiungi un gnome-ssh-askpass3 con supporto GTK + 3. bz # 2640 sshd (8): Migliora la reseeding PRNG attraverso la separazione dei privilegi e forza la libcrypto per ottenere un seme di alta qualità prima di chroot o sandboxing.
  • Tutto: test esplicito per strnvis rotto. NetBSD ha aggiunto uno strnvis e purtroppo lo ha reso incompatibile con quello esistente in OpenBSD e Linux libbsd (il primo esistito da oltre dieci anni). Prova a rilevare questo problema e presume l'unica opzione sicura se eseguiamo la compilazione incrociata.

Novità in nella versione 7.3:

  • Sicurezza:
  • sshd (8): attenua un potenziale attacco denial-of-service contro la funzione crypt (3) del sistema tramite sshd (8). Un utente malintenzionato potrebbe inviare password molto lunghe che causerebbero un uso eccessivo della CPU in crypt (3). sshd (8) ora rifiuta di accettare richieste di autenticazione della password di lunghezza superiore a 1024 caratteri. Indipendentemente segnalato da Tomas Kuthan (Oracle), Andres Rojas e Javier Nieto.
  • sshd (8): attenua le differenze temporali nell'autenticazione della password che potrebbero essere utilizzate per distinguere i nomi di account validi da quelli non validi quando sono state inviate lunghe password e sono in uso particolari algoritmi di hash delle password sul server. CVE-2016-6210, riportato da EddieEzra.Harari su verint.com
  • ssh (1), sshd (8): correzione della debolezza osservabile della temporizzazione nelle contromisure oracle padding CBC. Segnalato da Jean Paul Degabriele, Kenny Paterson, Torben Hansen e Martin Albrecht. Tieni presente che i cifrari CBC sono disabilitati per impostazione predefinita e inclusi solo per compatibilità legacy.
  • ssh (1), sshd (8): migliora l'ordine operativo della verifica MAC per gli algoritmi MAC di trasporto in modalità Encrypt-then-MAC (EtM) per verificare il MAC prima di decrittografare qualsiasi testo cifrato. Ciò elimina la possibilità che differenze temporali trapelino fatti sul testo in chiaro, sebbene non sia stata osservata alcuna perdita. Segnalato da Jean Paul Degabriele, Kenny Paterson, Torben Hansen e Martin Albrecht. sshd (8): (solo portatile) Ignora i vars dell'ambiente PAM quando UseLogin = yes. Se PAM è configurato per leggere le variabili di ambiente specificate dall'utente e UseLogin = yes in sshd_config, un utente locale ostile può attaccare / bin / login tramite LD_PRELOAD o variabili d'ambiente simili impostate tramite PAM. CVE-2015-8325, trovato da Shayan Sadigh.
  • Nuove funzionalità:
  • ssh (1): aggiungi un'opzione ProxyJump e il corrispondente flag -J della riga di comando per consentire l'indirizzamento semplificato attraverso uno o più bastioni SSH o "host di salto".
  • ssh (1): aggiungere un'opzione IdentityAgent per consentire la specifica di socket agent specifici anziché accettarne uno dall'ambiente. ssh (1): AllowOnForwardFailure e ClearAllForwardings possono essere sovrascritte facoltativamente quando si usa ssh -W. bz # 2577
  • ssh (1), sshd (8): implementa il supporto per la modalità terminale IUTF8 come da bozza-sgtatham-secsh-iutf8-00. ssh (1), sshd (8): aggiunge il supporto per ulteriori gruppi Diffie-Hellman 2K, 4K e 8K fissi da draft-ietf-curdle-ssh-kex-sha2-03.
  • ssh-keygen (1), ssh (1), sshd (8): supporta le firme RSA SHA256 e SHA512 nei certificati; ssh (1): aggiungi una direttiva Include per i file ssh_config (5).
  • ssh (1): consente di utilizzare i caratteri UTF-8 nei banner di pre-autenticazione inviati dal server. bz # 2058
  • Bugfix:
  • ssh (1), sshd (8): riduce il livello syslog di alcuni eventi di protocollo relativamente comuni da LOG_CRIT. bz # 2585
  • sshd (8): Rifiuta AuthenticationMethods = "" nelle configurazioni e accetta AuthenticationMethods = any per il comportamento predefinito di non richiedere l'autenticazione multipla. bz # 2398
  • sshd (8): rimuovi il tentativo di "BREAK-IN POSSIBILE" obsoleto e fuorviante! " messaggio quando i DNS forward e reverse non corrispondono. bz # 2585
  • ssh (1): chiude il processo in background di ControlPersist stderr tranne che in modalità debug o quando si accede a syslog. bz # 1988
  • misc: crea la descrizione di PROTOCOL per direct-streamlocal@openssh.com i messaggi di apertura del canale corrispondono al codice distribuito. bz # 2529
  • ssh (1): deduplica le voci LocalForward e RemoteForward per correggere gli errori quando sia ExitOnForwardFailure e canonicalizzazione del nome host sono abilitati. bz # 2562
  • sshd (8): rimuovi il fallback dai moduli al file "primi" obsoleto che era stato deprecato nel 2001. bz # 2559.
  • sshd_config (5): descrizione corretta di UseDNS: influenza l'elaborazione del nome host ssh per authorized_keys, non known_hosts; bz # 2554 ssh (1): Corregge l'autenticazione usando chiavi di certificato solitario in un agente senza chiavi private corrispondenti sul filesystem. bz # 2550
  • sshd (8): invia ping ClientAliveInterval quando viene impostato un RekeyLimit basato sul tempo; i pacchetti precedentemente keepalive non venivano inviati. bz # 2252

Novità della versione nella versione 7.2:

  • Sicurezza:
  • ssh (1), sshd (8): rimuove il codice di roaming non finito e non utilizzato (era già forzatamente disabilitato in OpenSSH 7.1p2).
  • ssh (1): elimina il fallback dall'inoltro X11 non attendibile all'inoltro fidato quando il server X disabilita l'estensione SECURITY.
  • ssh (1), sshd (8): aumenta la dimensione minima del modulo supportata per diffie-hellman-group-exchange a 2048 bit.
  • sshd (8): pre-auth sandboxing è ora abilitato di default (le versioni precedenti lo abilitavano per le nuove installazioni tramite sshd_config).
  • Nuove funzionalità:
  • tutto: aggiungi il supporto per le firme RSA usando gli algoritmi hash SHA-256/512 basati su draft-rsa-dsa-sha2-256-03.txt e draft-ssh-ext-info-04.txt.
  • ssh (1): aggiungi un'opzione client AddKeysToAgent che può essere impostata su "sì", "no", "chiedi" o "conferma" e il valore predefinito è "no". Se abilitata, una chiave privata utilizzata durante l'autenticazione verrà aggiunta a ssh-agent se è in esecuzione (con conferma abilitata se impostato su 'conferma').
  • sshd (8): aggiungi una nuova opzione authorized_keys "restrict" che include tutte le restrizioni chiave attuali e future (no - * - forwarding, ecc.). Aggiungi anche versioni permissive delle restrizioni esistenti, ad es. "no-pty" - & gt; "PTY". Ciò semplifica il compito di impostare chiavi limitate e garantisce che siano limitate al massimo, indipendentemente da eventuali autorizzazioni che potremmo implementare in futuro. ssh (1): aggiungi l'opzione CertificateFile di ssh_config per elencare esplicitamente i certificati. bz # 2436
  • ssh-keygen (1): consente a ssh-keygen di modificare il commento chiave per tutti i formati supportati.
  • ssh-keygen (1): consente di prendere le impronte digitali dall'input standard, ad es. "ssh-keygen -lf -"
  • ssh-keygen (1): consente di impronte digitali di più chiavi pubbliche in un file, ad es. "ssh-keygen -lf ~ / .ssh / authorized_keys" bz # 1319
  • sshd (8): supporta "none" come argomento per sshd_config Foreground e ChrootDirectory. Utile all'interno dei blocchi di corrispondenza per sovrascrivere un valore predefinito globale. bz # 2486
  • ssh-keygen (1): supporta più certificati (uno per riga) e la lettura dallo standard input (usando "-f -") per "ssh-keygen -L" ssh-keyscan (1): aggiungi "ssh- keyscan -c ... "flag per consentire il recupero dei certificati invece delle chiavi semplici.
  • ssh (1): gestisci meglio FQDN ancorati (ad esempio "cvs.openbsd.org.") in canonicalizzazione del nome host - trattali come già canonici e rimuovi il finale "." prima di abbinare ssh_config.
  • Bugfix:
  • sftp (1): le directory di destinazione esistenti non dovrebbero terminare i caricamenti ricorsivi (regressione in openssh 6.8) bz # 2528
  • ssh (1), sshd (8): invia correttamente indietro le risposte SSH2_MSG_UNIMPLEMENTED ai messaggi imprevisti durante lo scambio delle chiavi. bz # 2949
  • ssh (1): rifiuta i tentativi di impostare ConnectionAttempts = 0, il che non ha senso e induce ssh a stampare una variabile stack non inizializzata. bz # 2500
  • ssh (1): corregge gli errori quando si tenta di connettersi agli indirizzi IPv6 con scope con canonicalizzazione del nome host abilitato.
  • sshd_config (5): elenca un paio di altre opzioni utilizzabili nei blocchi di corrispondenza. bz # 2489
  • sshd (8): corregge "PubkeyAcceptedKeyTypes + ..." all'interno di un blocco di corrispondenza. ssh (1): espande i caratteri tilde nei nomi dei file passati alle opzioni -i prima di verificare se il file di identità esiste o meno. Evita la confusione per i casi in cui la shell non si espande (ad esempio "-i ~ / file" vs. "-i ~ / file"). bz # 2481
  • ssh (1): non anteporre "exec" al comando shell eseguito da "Match exec" in un file di configurazione, che potrebbe causare il fallimento di alcuni comandi in determinati ambienti. bz # 2471
  • ssh-keyscan (1): corregge l'output per più host / addrs su una riga quando hashing host o una porta non standard è in uso bz # 2479
  • sshd (8): salta il messaggio "Non posso chdir to home directory" quando ChrootDirectory è attivo. bz # 2485
  • ssh (1): include PubkeyAcceptedKeyTypes in ssh -G dump di configurazione. sshd (8): evitare di cambiare i flag dei dispositivi TunnelForwarding se sono già necessari; consente di utilizzare tun / tap networking come utente non root se le autorizzazioni del dispositivo e le flag di interfaccia sono predefinite
  • ssh (1), sshd (8): RekeyLimits potrebbe essere superato da un pacchetto. bz # 2521
  • ssh (1): correggere l'errore del master multiplexing per notare l'uscita del client.
  • ssh (1), ssh-agent (1): evitare fatal () per i token PKCS11 che presentano ID di chiavi vuoti. bz # 1773
  • sshd (8): evita printf dell'argomento NULL. bz # 2535
  • ssh (1), sshd (8): consente RekeyLimits maggiore di 4 GB. bz # 2521
  • ssh-keygen (1): sshd (8): corregge diversi bug nel (non utilizzato) supporto firma KRL.
  • ssh (1), sshd (8): corregge le connessioni con i peer che usano la funzione di key exchange di ipotesi del protocollo. bz # 2515
  • sshd (8): include il numero di porta remota nei messaggi di registro. bz # 2503
  • ssh (1): non provare a caricare la chiave privata SSHv1 quando compilato senza il supporto SSHv1. bz # 2505
  • ssh-agent (1), ssh (1): corregge i messaggi di errore errati durante il caricamento della chiave e gli errori di firma. bz # 2507
  • ssh-keygen (1): non lasciare file temporanei vuoti quando si eseguono modifiche al file known_hosts quando known_hosts non esiste.
  • sshd (8): formato di pacchetto corretto per risposte tcpip-forward per richieste che non assegnano una porta bz # 2509
  • ssh (1), sshd (8): correzione possibile blocco su output chiuso. bz # 2469 ssh (1): espande% i in ControlPath su UID. bz # 2449
  • ssh (1), sshd (8): corregge il tipo di ritorno di openssh_RSA_verify. bz # 2460
  • ssh (1), sshd (8): risolve alcune opzioni analizzando le perdite di memoria. bz # 2182
  • ssh (1): aggiungi un output di debug prima della risoluzione DNS; è un posto dove ssh potrebbe in precedenza bloccarsi silenziosamente in caso di server DNS non responsivi. bz # 2433 ssh (1): rimuove la newline spuria in visualkeykey visuale. bz # 2686
  • ssh (1): correzione della stampa (ssh -G ...) di HostKeyAlgorithms = + ...
  • ssh (1): correzione dell'espansione di HostkeyAlgorithms = + ...
  • Documentazione:
  • ssh_config (5), sshd_config (5): aggiorna gli elenchi di algoritmi predefiniti per corrispondere alla realtà corrente. bz # 2527
  • ssh (1): menziona le opzioni di query key-plain -Q key-cert e -Q. bz # 2455
  • sshd_config (8): descrive più chiaramente cosa AuthorizedKeysFile = none.
  • ssh_config (5): documento migliore ExitOnForwardFailure. bz # 2444
  • sshd (5): menziona i gruppi di fallback DH-GEX interni nel manuale. bz # 2302
  • sshd_config (5): descrizione migliore per l'opzione MaxSessions. bz # 2531
  • Portabilità:
  • ssh (1), sftp-server (8), ssh-agent (1), sshd (8): supporta i privilegi Illumos / Solaris a grana fine. Comprese una sandbox privsep pre-auth e diverse emulazioni pegno (). bz # 2511
  • Rinnova redhat / openssh.spec, rimuovendo opzioni e sintassi deprecate.
  • configure: consenti --without-ssl-engine con --without-openssl
  • sshd (8): correzione dell'autenticazione multipla tramite S / Key. bz # 2502
  • sshd (8): rilettura da libcrypto RAND_before dropping privilegi. Evita le violazioni della sandbox con BoringSSL.
  • Correggi la collisione del nome con le funzioni glob (3) fornite dal sistema. bz # 2463
  • Adatta Makefile per usare ssh-keygen -A durante la generazione delle chiavi dell'host. bz # 2459
  • configure: correggi il valore predefinito per --with-ssh1 bz # 2457
  • configure: migliore rilevamento di _res simbolo bz # 2259
  • supporta getrandom () syscall su Linux

Novità nella versione 7.1:

  • Sicurezza:
  • sshd (8): OpenSSH 7.0 conteneva un errore logico in PermitRootLogin = prohibit-password / without-password che, a seconda della configurazione in fase di compilazione, consente l'autenticazione della password alla radice impedendo altre forme di autenticazione. Questo problema è stato segnalato da Mantas Mikulenas.
  • Bugfix:
  • ssh (1), sshd (8): aggiungi soluzioni alternative per compatibilità con FuTTY
  • ssh (1), sshd (8): raffina le soluzioni di compatibilità per WinSCP
  • Correggere un numero di errori di memoria (doppio libero, privo di memoria non inizializzata, ecc.) in ssh (1) e ssh-keygen (1). Segnalato da Mateusz Kocielski.

Altri software di sviluppo OpenBSD Project

OpenSMTPD
OpenSMTPD

28 Sep 15

Portable OpenSSH
Portable OpenSSH

22 Jun 18

Commenti a OpenSSH

I commenti non trovato
Aggiungi commento
Accendere le immagini!