După patru luni de dezvoltare, a fost lansată versiunea OpenSSH 8.7, o implementare deschisă a clientului și serverului pentru lucrul cu protocoalele SSH 2.0 și SFTP.
Modificări principale:
- În scp a fost adăugat un mod experimental de transfer de date folosind protocolul SFTP în loc de protocolul SCP/RCP, folosit în mod tradițional. SFTP utilizează metode mai previzibile pentru gestionarea numelui și nu utilizează procesarea glob-urilor prin shell pe partea cealaltă a gazdei, ceea ce creează probleme de securitate. Pentru a activa SFTP în scp, a fost propus un flag „-s”, dar în viitor se preconizează trecerea la acest protocol ca implicit.
- În sftp-server au fost implementate extensii ale protocolului SFTP pentru a dezvălui căile ~ / și ~ user /, ceea ce este necesar pentru scp.
- În utilitarul scp s-a schimbat comportamentul la copierea fișierelor între două gazde remote (de exemplu, „scp host-a:/path host-b:”); acum se realizează implicit printr-o gazdă locală intermediară, ca și cum s-ar specifica flagul „-3”. Această abordare permite evitarea transmiterii inutile a datelor de autentificare către prima gazdă și a interpretării triple a numelui fișierelor în shell (pe partea sursei, receptorului și sistemului local) și, de asemenea, permite utilizarea tuturor metodelor de autentificare la accesarea gazdelor distante prin SFTP, nu doar a metodelor neinteractive. Pentru a restaura comportamentul anterior, a fost adăugată opțiunea „-R”.
- În ssh a fost adăugată configurația ForkAfterAuthentication, corespunzătoare flagului „-f”.
- În ssh a fost adăugată configurația StdinNull, corespunzătoare flagului „-n”.
- În ssh a fost adăugată configurația SessionType, prin care se pot stabili moduri corespunzătoare flagurilor „-N” (fără sesiune) și „-s” (subsystem).
- În ssh-keygen, în fișierele cu chei, este permis specificarea intervalului de valabilitate a cheii.
- În ssh-keygen a fost adăugat flagul „-Oprint-pubkey” pentru a afișa cheia publică completă în cadrul semnăturii sshsig.
- În ssh și sshd, atât clientul cât și serverul au fost transferați pentru a utiliza un parser mai strict al fișierului de configurare, care aplică reguli asemănătoare cu cele din shell pentru gestionarea ghilimelelor, spațiilor și simbolurilor de escape. Noua sintaxă nu mai permite presupuneri anterioare, cum ar fi omiterea argumentelor în opțiuni (de exemplu, acum nu se mai poate lăsa o directivă DenyUsers goală), ghilimele neînchise și indicarea mai multor simboluri „=”.
- Când utilizați înregistrările DNS SSHFP pentru verificarea cheilor, ssh acum verifică toate înregistrările corespunzătoare, nu doar cele care conțin un anumit tip de semnătură digitală.
- În ssh-keygen, la generarea unei chei FIDO cu opțiunea -Ochallenge pentru hash, acum se utilizează un strat încorporat, nu instrumentele libfido2, ceea ce permite folosirea secvențelor de provocare de dimensiuni mai mari sau mai mici de 32 de octeți.
- În sshd, la procesarea directivei environment=»…» din fișierele authorized_keys, acum se ia în considerare prima corespondență, iar limita este de 1024 de nume de variabile de mediu.
Dezvoltatorii OpenSSH au avertizat de asemenea privind trecerea la algoritmi considerați depășiți, care folosesc hash-uri SHA-1, din cauza eficienței crescute a atacurilor de coliziune cu prefix dat (costul estimat pentru a găsi o coliziune fiind de aproximativ 50.000 de dolari). În următoarea versiune, se preconizează dezactivarea implicită a algoritmului de semnătură digitală pe bază de chei publice 'ssh-rsa', care este menționat în RFC-ul original pentru protocolul SSH și rămâne pe scară largă în utilizare în practică.
Pentru a verifica utilizarea ssh-rsa în sistemele dvs., puteți încerca să vă conectați prin ssh cu opțiunea '-oHostKeyAlgorithms=-ssh-rsa'. De asemenea, dezactivarea implicită a semnăturilor digitale 'ssh-rsa' nu înseamnă o renunțare completă la utilizarea cheilor RSA, deoarece, pe lângă SHA-1, protocolul SSH permite utilizarea altor algoritmi de calcul al hash-urilor. În special, vor rămâne opțiuni pentru combinațiile 'rsa-sha2-256' (RSA/SHA256) și 'rsa-sha2-512' (RSA/SHA512).
Pentru a facilita trecerea la noile algoritmi, OpenSSH a activat anterior implicit setarea UpdateHostKeys, care permite actualizarea automată a clienților la algoritmi mai siguri. Prin această setare, se activează o extensie specială a protocolului 'hostkeys@openssh.com', care permite server după finalizarea autentificării, informarea clientului cu privire la toate cheile host disponibile. Clientul poate reflecta aceste chei în fișierul său ~/ .ssh/known_hosts, ceea ce permite organizarea actualizării cheilor host și simplifică schimbarea cheilor. server.
Utilizarea UpdateHostKeys este restricționată de câteva excepții care pot fi anulate în viitor: cheia trebuie menționată în UserKnownHostsFile și nu trebuie utilizată în GlobalKnownHostsFile; cheia trebuie să fie prezentă doar sub un singur nume; nu trebuie folosit un certificat de cheie a gazdei; nu trebuie utilizate măști de nume de gazdă în known_hosts; setarea VerifyHostKeyDNS trebuie dezactivată; parametrul UserKnownHostsFile trebuie să fie activat.
Printre algoritmii recomandați pentru migrare se numără rsa-sha2-256/512 bazat pe RFC8332 RSA SHA-2 (suportat din OpenSSH 7.2 și utilizat implicit), ssh-ed25519 (suportat din OpenSSH 6.5) și ecdsa-sha2-nistp256/384/521 bazat pe RFC5656 ECDSA (suportat din OpenSSH 5.7).
Sursa: opennet.ro
