Dopo cinque mesi di sviluppo il rilascio , implementazione open-source di un client e server per operare con i protocolli SSH 2.0 e SFTP.
Variazioni principali:
- In ssh e sshd è stata aggiunta la supporto sperimentale per un metodo di scambio di chiavi resistente agli attacchi dei computer quantistici. I computer quantistici risolvono il problema della fattorizzazione dei numeri naturali in fattori primi in modo drasticamente più veloce, un problema su cui si basano gli algoritmi di crittografia asimmetrica moderni e che è sostanzialmente irrisolvibile su processori classici. Il metodo proposto si basa sull'algoritmo (funzione ntrup4591761), progettato per sistemi crittografici post-quantistici, e sul metodo di scambio di chiavi basato sulle curve ellittiche X25519;
- In sshd, nelle direttive ListenAddress e PermitOpen, è stato interrotto il supporto per la sintassi obsoleta "host/port", implementata nel 2001 come alternativa a "host:port" per semplificare l'uso con IPv6. Oggi, per IPv6, la sintassi accettata è "[::1]:22", mentre "host/port" è spesso confuso con l'indicazione di una sottorete (CIDR);
- In ssh, ssh-agent e ssh-add è stato implementato il supporto per le chiavi nei token PKCS#11;
- In ssh-keygen, la dimensione della chiave RSA predefinita è stata aumentata a 3072 bit, in conformità con le nuove raccomandazioni NIST;
- In ssh è consentito utilizzare l'impostazione "PKCS11Provider=none" per sovrascrivere la direttiva PKCS11Provider definita in ssh_config;
- In sshd è stata fornita la registrazione nei log delle situazioni in cui la connessione è stata interrotta durante il tentativo di eseguire comandi bloccati dalla restrizione "ForceCommand=internal-sftp" in sshd_config;
- In ssh, all'output della richiesta di conferma per l'accettazione di una nuova chiave host, invece della risposta "yes" ora viene accettato il corretto fingerprint della chiave (in risposta all'invito a confermare la connessione, l'utente può copiare attraverso il clipboard l'hash di riferimento ottenuto separatamente, per non doverlo confrontare manualmente);
- In ssh-keygen è stata implementata l'incremento automatico del numero di sequenza nel certificato per la creazione di firme digitali per più certificati dalla riga di comando;
- In scp e sftp è stata aggiunta una nuova opzione "-J", equivalente all'impostazione ProxyJump;
- In ssh-agent, ssh-pkcs11-helper e ssh-add è stata aggiunta la gestione dell'opzione della riga di comando "-v" per aumentare la quantità di informazioni fornite nell'output (quando specificata, tale opzione viene trasmessa anche ai processi figli, ad esempio quando da ssh-agent viene chiamato ssh-pkcs11-helper);
- In ssh-add è stata aggiunta l'opzione "-T" per testare l'idoneità delle chiavi in ssh-agent per eseguire operazioni di creazione e verifica delle firme digitali;
- Nel sftp-server è stata implementata la supporto dell'estensione del protocollo «lsetstat at openssh.com», che aggiunge per SFTP il supporto all'operazione SSH2_FXP_SETSTAT, ma senza seguire i link simbolici;
- In sftp è stata aggiunta l'opzione «-h» per eseguire i comandi chown/chgrp/chmod con richieste che non utilizzano link simbolici;
- In sshd è stata garantita l'impostazione della variabile d'ambiente $SSH_CONNECTION per PAM;
- Per sshd, nel ssh_config è stata aggiunta la modalità di corrispondenza «Match final», simile a «Match canonical», ma non richiede l'inclusione della normalizzazione del nome host;
- In sftp è stato aggiunto il supporto per il prefisso ‘@’ per disabilitare la traduzione dell'output dei comandi eseguiti in modalità batch;
- Durante la visualizzazione del contenuto del certificato tramite il comando
«ssh-keygen -Lf /path/certificate» ora viene visualizzato l'algoritmo utilizzato dall'autorità di certificazione per attestare il certificato; - Migliorato il supporto per l'ambiente Cygwin, ad esempio è stato garantito il confronto dei nomi di gruppi e utenti senza considerare il maiuscolo/minuscolo. Il processo sshd nella porta per Cygwin è stato modificato in cygsshd per evitare sovrapposizioni con la porta OpenSSH fornita da Microsoft;
- Aggiunta la possibilità di compilare con il ramo sperimentale OpenSSL 3.x;
- Risolto (CVE-2019-6111) nell'implementazione dell'utilità scp, che consente di sovrascrivere file arbitrari nella directory di destinazione sul lato client quando ci si collega a un server controllato da un aggressore. Il problema consiste nel fatto che, quando si utilizza scp, il server decide quali file e directory inviare al client, mentre il client verifica solo la correttezza dei nomi degli oggetti restituiti. Il controllo sul lato client è limitato solo al blocco dell'uscita dai confini della directory corrente («.. /»), ma non considera l'invio di file con nomi diversi da quelli inizialmente richiesti. In caso di copia ricorsiva (-r), oltre ai nomi dei file, è possibile manipolare anche i nomi delle sottodirectory. Ad esempio, nel caso in cui un utente copi nel proprio catalogo domestico i file, un server controllato dagli aggressori può restituire invece dei file richiesti file con nomi .bash_aliases o .ssh/authorized_keys, e questi verranno salvati dall'utilità scp nella directory domestica dell'utente.
Il nuovo rilascio dell'utility scp include un controllo di coerenza tra i nomi dei file richiesti e quelli forniti dal server, effettuato lato client. Possono sorgere problemi nella gestione delle maschere poiché i caratteri delle maschere potrebbero essere trattati in modo diverso dal server e dal client. In caso di tali differenze, se il client smette di accettare file, è stata aggiunta l'opzione «-T» in scp, che consente di disattivare questo controllo lato client. Per una risoluzione completa del problema è necessaria una riprogettazione del protocollo scp, che di per sé è già obsoleto; pertanto, è consigliato utilizzare protocolli più moderni come sftp e rsync.
Fonte: opennet.ru
