Rilascio di OpenSSH 8.4

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

Variazioni principali:

  • Modifiche relative alla sicurezza:
    • Nello ssh-agent, quando si utilizzano chiavi FIDO non destinate all'autenticazione tramite SSH (l'identificatore della chiave non inizia con la stringa 'ssh:'), ora viene eseguita una verifica che il messaggio sarà firmato utilizzando i metodi applicati nel protocollo SSH. Questa modifica impedirà di reindirizzare ssh-agent su host remoti che dispongono di chiavi FIDO, bloccando la possibilità di utilizzare tali chiavi per la generazione di firme di richieste di web-autenticazione (il caso inverso, in cui un browser può firmare una richiesta SSH, è stato inizialmente escluso grazie all'uso del prefisso 'ssh:' nell'identificatore della chiave).
    • In ssh-keygen, durante la generazione di una chiave residente, è stata inclusa la compatibilità con l'estensione credProtect, descritta nella specifica FIDO 2.1, che fornisce una protezione aggiuntiva per le chiavi tramite una richiesta obbligatoria di PIN prima di eseguire qualsiasi operazione che potrebbe portare all'estrazione della chiave residente dal token.
  • Modifiche potenzialmente incompatibili:
    • Per supportare FIDO/U2F, si raccomanda di utilizzare la libreria libfido2 in versione almeno 1.5.0. È stata parzialmente implementata la possibilità di utilizzare anche le versioni precedenti, ma in questo caso alcune funzionalità, come le chiavi residenti, la richiesta di PIN e la connessione di più token, non saranno disponibili.
    • In ssh-keygen, nel formato delle informazioni di conferma, facoltativamente salvato durante la generazione della chiave FIDO, sono state aggiunte le informazioni necessarie per l'autenticatore, che sono necessarie per verificare le firme digitali di conferma.
    • È stata modificata l'API utilizzata per l'interazione di OpenSSH con il layer per l'accesso ai token FIDO.
    • Nella costruzione della versione portatile di OpenSSH, ora è richiesto automake per generare lo script configure e i relativi file di build (se la costruzione viene eseguita da un file tar pubblicato con il codice, non è necessaria la rigenerazione di configure).
  • In ssh e ssh-keygen è stata aggiunta la supporto per le chiavi FIDO, che richiedono conferma tramite un codice PIN. Per generare chiavi con PIN in ssh-keygen è stata aggiunta l'opzione «verify-required». In caso di utilizzo di tali chiavi, prima di eseguire l'operazione di creazione della firma, l'utente riceve una richiesta per confermare le proprie azioni inserendo il codice PIN.
  • In sshd, nelle impostazioni di 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 opzioni di tale verifica, ma attualmente in OpenSSH è supportato solo il controllo basato su codice PIN.
  • In sshd e ssh-keygen è stato aggiunto il supporto per la verifica delle firme digitali, conformi allo standard FIDO Webauthn, che consente di utilizzare chiavi FIDO nei browser web.
  • In ssh nelle impostazioni CertificateFile,
    ControlPath, IdentityAgent, IdentityFile, LocalForward e
    RemoteForward è consentita la sostituzione dei valori con le variabili di ambiente, specificate nel formato «${ENV}».
  • In ssh e ssh-agent è stata aggiunta la supporto per la variabile di ambiente $SSH_ASKPASS_REQUIRE, che può essere utilizzata per abilitare o disabilitare la chiamata di ssh-askpass.
  • In ssh nel ssh_config, nella direttiva AddKeysToAgent è stata aggiunta la possibilità di limitare il tempo di validità della chiave. Dopo il superamento del limite impostato, le chiavi vengono automaticamente rimosse da ssh-agent.
  • In scp e sftp, utilizzando il flag «-A», ora è possibile autorizzare esplicitamente il reindirizzamento in scp e sftp usando ssh-agent (di default, il reindirizzamento è vietato).
  • Nelle impostazioni di ssh è stato aggiunto il supporto per la sostituzione '%k', che definisce il nome della chiave dell'host. Questa funzione può essere utilizzata per distribuire le chiavi in file separati (ad esempio, «UserKnownHostsFile ~/ .ssh/known_hosts.d/%k»).
  • È consentito l'uso dell'operazione «ssh-add -d -» per leggere da stdin le chiavi da eliminare.
  • In sshd è stata garantita la registrazione nel log dell'inizio e della fine del processo di riduzione delle connessioni, regolato tramite il parametro MaxStartups.

Gli sviluppatori di OpenSSH hanno anche ricordato la prossima classificazione come obsoleti degli algoritmi che utilizzano gli hash SHA-1, a causa di un aumento dell'efficacia degli attacchi di collisione con un prefisso specificato (il costo per trovare una collisione è stimato intorno ai 45.000 dollari). In uno dei prossimi aggiornamenti, si prevede di disabilitare per impostazione predefinita l'uso dell'algoritmo di firma digitale a chiave pubblica «ssh-rsa», menzionato nell'RFC originale per il protocollo SSH e ancora ampiamente utilizzato nella pratica (per verificare l'uso di ssh-rsa nei propri sistemi, si può provare a connettersi via ssh con l'opzione «-oHostKeyAlgorithms=-ssh-rsa»).

Per facilitare la transizione ai nuovi algoritmi in OpenSSH, nella prossima versione sarà abilitata di default l'impostazione UpdateHostKeys, che consentirà di trasferire automaticamente i client verso algoritmi più sicuri. Tra gli algoritmi consigliati per la migrazione ci sono 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