Rilascio di OpenSSH 8.4

Dopo quattro mesi di sviluppo presentato il rilascio di OpenSSH 8.4, un'implementazione open source del client e del server per l'uso dei protocolli SSH 2.0 e SFTP.

Principali modifiche:

  • Modifiche relative alla sicurezza:
    • Nel ssh-agent, utilizzando chiavi FIDO non create per l'autenticazione tramite SSH (l'identificatore della chiave non inizia con 'ssh:'), ora viene eseguita una verifica che il messaggio sia firmato utilizzando i metodi applicati nel protocollo SSH. Questa modifica impedirà il reindirizzamento di ssh-agent su host remoti con chiavi FIDO, bloccando la possibilità di utilizzare tali chiavi per la firma delle richieste di autenticazione web (il caso inverso, in cui il browser può firmare una richiesta SSH, è stato originariamente escluso grazie all'uso del prefisso 'ssh:' nell'identificatore della chiave).
    • In ssh-keygen, durante la generazione di una chiave residente, è stata inclusa la supporto all'estensione credProtect, descritta nella specifica FIDO 2.1, che fornisce ulteriore protezione per le chiavi attraverso un'imposizione obbligatoria di inserimento del PIN prima di eseguire qualsiasi operazione che potrebbe portare all'estrazione della chiave residente dal token.
  • Modifiche che potrebbero compromettere la compatibilità:
    • Per il supporto FIDO/U2F, si raccomanda di utilizzare la libreria libfido2 versione 1.5.0 o successiva. È parzialmente implementata la possibilità di utilizzare le versioni precedenti, ma in tal caso alcune funzionalità come le chiavi residenti, la richiesta del PIN e la connessione di più token non saranno disponibili.
    • Nel comando ssh-keygen, nel formato delle informazioni di conferma, opzionalmente salvate durante la generazione della chiave FIDO, sono state aggiunte informazioni per l'autenticatore necessarie per la verifica delle firme digitali di conferma.
    • È stata modificata l'API utilizzata durante l'interazione di OpenSSH con il layer di accesso ai token FIDO.
    • Nella costruzione della versione portatile di OpenSSH, ora è richiesto automake per generare lo script configure e i file di build associati (se la build viene effettuata da un file tar pubblicato con il codice, la rigenerazione di configure non è necessaria).
  • È stata aggiunta la supporto per le chiavi FIDO in ssh e ssh-keygen, che richiedono conferma tramite PIN. Per generare chiavi con PIN in ssh-keygen è stata aggiunta l'opzione «verify-required». Quando si utilizzano tali chiavi, prima di eseguire l'operazione di firma, all'utente viene richiesta la conferma delle proprie azioni tramite l'inserimento del PIN.
  • Nel sshd, nella configurazione authorized_keys, è stata implementata l'opzione «verify-required», che richiede l'uso delle funzionalità di verifica della presenza dell'utente durante le operazioni con il token. Lo standard FIDO prevede diverse modalità di verifica simile, ma attualmente in OpenSSH è supportata solo la verifica basata su PIN.
  • In sshd e ssh-keygen è stato aggiunto il supporto per la verifica delle firme digitali, in conformità con lo standard FIDO Webauthn, che consente l'uso delle chiavi FIDO nei web browser.
  • In ssh, nelle impostazioni CertificateFile,
    ControlPath, IdentityAgent, IdentityFile, LocalForward e
    RemoteForward è consentita la sostituzione dei valori delle variabili di ambiente, indicate nel formato «${ENV}».
  • In ssh e ssh-agent è stata aggiunta la variabile di ambiente $SSH_ASKPASS_REQUIRE, che può essere utilizzata per abilitare o disabilitare la chiamata di ssh-askpass.
  • In ssh, nel file ssh_config, nella direttiva AddKeysToAgent è stata aggiunta la possibilità di limitare la durata del key. Dopo il superamento del limite impostato, le chiavi vengono eliminate automaticamente dall'agent ssh.
  • In scp e sftp, con il flag «-A» ora è possibile esplicitamente consentire il forwarding in scp e sftp utilizzando l'ssh-agent (per impostazione predefinita, il forwarding è vietato).
  • Nelle impostazioni SSH è stata aggiunta la supporto per la sostituzione ‘%k’, che definisce il nome della chiave host. Questa funzionalità può essere utilizzata per separare le chiavi in file distinti (ad esempio, «UserKnownHostsFile ~/.ssh/known_hosts.d/%k»).
  • È consentito l'uso dell'operazione «ssh-add -d -» per leggere da stdin le chiavi che devono essere rimosse.
  • In sshd è stata assicurata la registrazione nel log dell'inizio e della fine del processo di riduzione delle connessioni, controllato tramite il parametro MaxStartups.

Gli sviluppatori di OpenSSH hanno anche ricordato della prossima qualificazione come obsoleti degli algoritmi che utilizzano hash SHA-1, in relazione a l'aumento dell'efficacia degli attacchi di collisione con prefisso specificato (il costo di generare una collisione è stimato a circa 45.000 dollari). In una delle prossime versioni, si prevede di disabilitare di default la possibilità di utilizzare l'algoritmo di firma digitale con chiave pubblica «ssh-rsa», che è menzionato nell'RFC originale per il protocollo SSH e rimane ampiamente diffuso nella pratica (per verificare l'utilizzo di ssh-rsa nei propri sistemi, è possibile provare a connettersi tramite SSH con l'opzione «-oHostKeyAlgorithms=-ssh-rsa»).

Per facilitare la transizione ai nuovi algoritmi in OpenSSH, la prossima versione attiverà di default l'impostazione UpdateHostKeys, che permetterà di migrare automaticamente i client verso algoritmi più sicuri. Tra gli algoritmi raccomandati per la migrazione si trovano rsa-sha2-256/512 basati su RFC8332 RSA SHA-2 (supportato da OpenSSH 7.2 e utilizzato di default), ssh-ed25519 (supportato da OpenSSH 6.5) ed ecdsa-sha2-nistp256/384/521 basati su RFC5656 ECDSA (supportato da OpenSSH 5.7).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster