Rilascio di OpenSSH 8.7

Dopo quattro mesi di sviluppo è stata presentata la versione OpenSSH 8.7, un'implementazione aperta di client e server per lavorare sui protocolli SSH 2.0 e SFTP.

Principali modifiche:

  • Una modalità di trasferimento dati sperimentale è stata aggiunta a scp utilizzando il protocollo SFTP invece del tradizionale protocollo SCP/RCP. SFTP utilizza metodi di gestione dei nomi più prevedibili e non utilizza l'elaborazione della shell dei modelli glob sul lato dell'altro host, il che crea problemi di sicurezza. Per abilitare SFTP in scp è stato proposto il flag “-s”, ma in futuro si prevede di passare a questo protocollo per impostazione predefinita.
  • sftp-server implementa estensioni al protocollo SFTP per espandere i percorsi ~/ e ~user/, necessari per scp.
  • L'utilità scp ha modificato il comportamento durante la copia di file tra due host remoti (ad esempio, "scp host-a:/percorso host-b:"), che ora viene eseguita per impostazione predefinita tramite un host locale intermedio, come quando si specifica il " -3” bandiera. Questo approccio consente di evitare il passaggio di credenziali non necessarie al primo host e la tripla interpretazione dei nomi dei file nella shell (sul lato sorgente, destinazione e sistema locale) e, quando si utilizza SFTP, consente di utilizzare tutti i metodi di autenticazione quando si accede a remoto host e non solo metodi non interattivi. È stata aggiunta l'opzione "-R" per ripristinare il vecchio comportamento.
  • Aggiunta l'impostazione ForkAfterAuthentication a ssh corrispondente al flag "-f".
  • Aggiunta l'impostazione StdinNull a ssh, corrispondente al flag "-n".
  • A ssh è stata aggiunta un'impostazione SessionType, attraverso la quale è possibile impostare le modalità corrispondenti ai flag "-N" (nessuna sessione) e "-s" (sottosistema).
  • ssh-keygen consente di specificare un intervallo di validità della chiave nei file chiave.
  • Aggiunto il flag "-Oprint-pubkey" a ssh-keygen per stampare la chiave pubblica completa come parte della firma sshsig.
  • In ssh e sshd, sia il client che il server sono stati spostati per utilizzare un parser di file di configurazione più restrittivo che utilizza regole simili a shell per la gestione di virgolette, spazi e caratteri di escape. Il nuovo parser inoltre non ignora le ipotesi fatte in precedenza, come l'omissione degli argomenti nelle opzioni (ad esempio, la direttiva DenyUsers non può più essere lasciata vuota), le virgolette non chiuse e la specifica di più caratteri =.
  • Quando si utilizzano i record DNS SSHFP durante la verifica delle chiavi, ssh ora controlla tutti i record corrispondenti, non solo quelli contenenti un tipo specifico di firma digitale.
  • In ssh-keygen, quando si genera una chiave FIDO con l'opzione -Ochallenge, il livello integrato viene ora utilizzato per l'hashing, anziché libfido2, che consente l'uso di sequenze di sfida più grandi o più piccole di 32 byte.
  • In sshd, quando si elaborano le direttive Environment="..." nei file Authorized_Keys, la prima corrispondenza viene ora accettata ed esiste un limite di 1024 nomi di variabili di ambiente.

Gli sviluppatori di OpenSSH hanno anche messo in guardia contro la decomposizione degli algoritmi che utilizzano hash SHA-1 a causa della maggiore efficienza degli attacchi di collisione con un determinato prefisso (il costo per selezionare una collisione è stimato in circa 50mila dollari). Nella prossima versione prevediamo di disabilitare per impostazione predefinita la possibilità di utilizzare l'algoritmo di firma digitale a chiave pubblica "ssh-rsa", menzionato nell'RFC originale per il protocollo SSH e ancora ampiamente utilizzato nella pratica.

Per testare l'utilizzo di ssh-rsa sui vostri sistemi, potete provare a connettervi via ssh con l'opzione “-oHostKeyAlgorithms=-ssh-rsa”. Allo stesso tempo, disabilitare per impostazione predefinita le firme digitali “ssh-rsa” non significa un completo abbandono dell’uso delle chiavi RSA, poiché oltre a SHA-1, il protocollo SSH consente l’utilizzo di altri algoritmi di calcolo dell’hash. In particolare, oltre a “ssh-rsa”, resterà possibile utilizzare i bundle “rsa-sha2-256” (RSA/SHA256) e “rsa-sha2-512” (RSA/SHA512).

Per agevolare la transizione ai nuovi algoritmi, OpenSSH in precedenza aveva abilitato per impostazione predefinita l'impostazione UpdateHostKeys, che consente ai client di passare automaticamente ad algoritmi più affidabili. Utilizzando questa impostazione, viene abilitata una speciale estensione del protocollo “[email protected]", consentendo al server, dopo l'autenticazione, di informare il client su tutte le chiavi host disponibili. Il client può riflettere queste chiavi nel suo file ~/.ssh/known_hosts, che consente l'aggiornamento delle chiavi host e semplifica la modifica delle chiavi sul server.

L'uso di UpdateHostKeys è limitato da diversi avvertimenti che potrebbero essere rimossi in futuro: la chiave deve essere referenziata in UserKnownHostsFile e non utilizzata in GlobalKnownHostsFile; la chiave deve essere presente sotto un solo nome; non deve essere utilizzato un certificato di chiave host; inknown_hosts le maschere in base al nome host non dovrebbero essere utilizzate; l'impostazione VerifyHostKeyDNS deve essere disabilitata; Il parametro UserKnownHostsFile deve essere attivo.

Gli algoritmi consigliati per la migrazione includono rsa-sha2-256/512 basato su RFC8332 RSA SHA-2 (supportato da OpenSSH 7.2 e utilizzato per impostazione predefinita), ssh-ed25519 (supportato da OpenSSH 6.5) e basato su ecdsa-sha2-nistp256/384/521 su RFC5656 ECDSA (supportato da OpenSSH 5.7).

Fonte: opennet.ru

Aggiungi un commento