Izdanje OpenSSH 8.5

Nakon pet mjeseci razvoja, predstavljeno je izdanje OpenSSH 8.5, otvorene implementacije klijenta i servera za rad preko SSH 2.0 i SFTP protokola.

OpenSSH programeri su nas podsjetili na predstojeće povlačenje algoritama koji koriste SHA-1 hešove zbog povećane efikasnosti napada kolizije sa datim prefiksom (cijena odabira kolizije procjenjuje se na približno 50 hiljada dolara). U jednom od nadolazećih izdanja planiraju da po defaultu onemoguće mogućnost korištenja algoritma digitalnog potpisa javnog ključa “ssh-rsa”, koji se spominje u originalnom RFC-u za SSH protokol i ostaje široko rasprostranjen u praksi.

Da biste testirali upotrebu ssh-rsa na vašim sistemima, možete pokušati da se povežete preko ssh-a sa opcijom “-oHostKeyAlgorithms=-ssh-rsa”. Istovremeno, podrazumevano onemogućavanje digitalnih potpisa „ssh-rsa“ ne znači potpuno odustajanje od upotrebe RSA ključeva, jer pored SHA-1, SSH protokol dozvoljava upotrebu drugih algoritama za izračunavanje heša. Konkretno, pored “ssh-rsa”, ostaće moguće koristiti pakete “rsa-sha2-256” (RSA/SHA256) i “rsa-sha2-512” (RSA/SHA512).

Da bi se olakšao prelazak na nove algoritme, OpenSSH 8.5 ima postavku UpdateHostKeys omogućenu prema zadanim postavkama, što omogućava klijentima da se automatski prebace na pouzdanije algoritme. Koristeći ovu postavku, omogućena je posebna ekstenzija protokola “[email zaštićen]", omogućavajući serveru, nakon autentifikacije, da obavijesti klijenta o svim dostupnim ključevima hosta. Klijent može odražavati ove ključeve u svom ~/.ssh/known_hosts datoteci, što omogućava ažuriranje ključeva hosta i olakšava promjenu ključeva na serveru.

Upotreba UpdateHostKeys ograničena je s nekoliko upozorenja koja mogu biti uklonjena u budućnosti: ključ mora biti referenciran u UserKnownHostsFile i ne korišten u GlobalKnownHostsFile; ključ mora biti prisutan samo pod jednim imenom; ne treba koristiti certifikat ključa domaćina; u poznatim_hostovima ne treba koristiti maske po imenu hosta; postavka VerifyHostKeyDNS mora biti onemogućena; Parametar UserKnownHostsFile mora biti aktivan.

Preporučeni algoritmi za migraciju uključuju rsa-sha2-256/512 baziran na RFC8332 RSA SHA-2 (podržan od OpenSSH 7.2 i koristi se po defaultu), ssh-ed25519 (podržan od OpenSSH 6.5) i ecdsa-sha2-nistp256/384 zasnovan na RFC521 ECDSA (podržano od OpenSSH 5656).

Ostale promjene:

  • Sigurnosne promjene:
    • Ranjivost uzrokovana ponovnim oslobađanjem već oslobođene memorijske oblasti (double-free) je ispravljena u ssh-agentu. Problem je prisutan od izdavanja OpenSSH 8.2 i potencijalno se može iskoristiti ako napadač ima pristup ssh-agent socketu na lokalnom sistemu. Ono što otežava eksploataciju je to što samo root i originalni korisnik imaju pristup socketu. Najvjerovatniji scenarij napada je da se agent preusmjerava na račun koji kontrolira napadač, ili na host gdje napadač ima root pristup.
    • sshd je dodao zaštitu od prosljeđivanja vrlo velikih parametara sa korisničkim imenom u PAM podsistem, što vam omogućava da blokirate ranjivosti u sistemskim modulima PAM (Pluggable Authentication Module). Na primjer, promjena sprječava da se sshd koristi kao vektor za iskorištavanje nedavno otkrivene root ranjivosti u Solarisu (CVE-2020-14871).
  • Potencijalno kvarne promjene kompatibilnosti:
    • U ssh i sshd, eksperimentalna metoda razmjene ključeva je redizajnirana koja je otporna na nagađanje na kvantnom kompjuteru. Kvantni računari su radikalno brži u rješavanju problema dekompozicije prirodnog broja na proste faktore, što leži u osnovi modernih asimetričnih algoritama šifriranja i ne može se efikasno riješiti na klasičnim procesorima. Korištena metoda je bazirana na NTRU Prime algoritmu, razvijenom za post-kvantne kriptosisteme, i X25519 metodi razmjene ključeva eliptičke krive. Umjesto [email zaštićen] metoda je sada identifikovana kao [email zaštićen] (algoritam sntrup4591761 zamijenjen je sntrup761).
    • U ssh i sshd, redoslijed kojim se objavljuju podržani algoritmi digitalnog potpisa je promijenjen. ED25519 se sada nudi prvi umjesto ECDSA.
    • U ssh i sshd, postavljanje parametara kvaliteta usluge TOS/DSCP za interaktivne sesije se sada vrši prije uspostavljanja TCP veze.
    • Podrška za šifriranje je ukinuta u ssh i sshd [email zaštićen], koji je identičan aes256-cbc i korišten je prije nego što je RFC-4253 odobren.
    • Podrazumevano, parametar CheckHostIP je onemogućen, čija je korist zanemarljiva, ali njegova upotreba značajno komplikuje rotaciju ključeva za hostove iza balansera opterećenja.
  • Postavke PerSourceMaxStartups i PerSourceNetBlockSize su dodane u sshd kako bi se ograničio intenzitet pokretanja rukovatelja na osnovu adrese klijenta. Ovi parametri vam omogućavaju da preciznije kontrolišete ograničenje pokretanja procesa, u poređenju sa opštom postavkom MaxStartups.
  • Nova postavka LogVerbose dodata je u ssh i sshd, koja vam omogućava da na silu podignete nivo informacija o otklanjanju grešaka koje se izbacuju u dnevnik, uz mogućnost filtriranja prema šablonima, funkcijama i datotekama.
  • U ssh-u, kada se prihvati novi ključ hosta, prikazuju se sva imena hostova i IP adrese povezane s ključem.
  • ssh dozvoljava opciju UserKnownHostsFile=none da onemogući upotrebu datoteke known_hosts pri identifikaciji ključeva hosta.
  • Postavka KnownHostsCommand je dodana u ssh_config za ssh, omogućavajući vam da dobijete poznate_hosts podatke iz izlaza navedene naredbe.
  • Dodata opcija PermitRemoteOpen u ssh_config za ssh da vam omogući da ograničite odredište kada koristite opciju RemoteForward sa SOCKS.
  • U ssh za FIDO ključeve, ponovljeni PIN zahtjev se daje u slučaju neuspjeha operacije digitalnog potpisa zbog neispravnog PIN-a i od korisnika nije zatražen PIN (na primjer, kada se ne mogu dobiti ispravni biometrijski podaci i uređaj se vratio na ručni unos PIN-a).
  • sshd dodaje podršku za dodatne sistemske pozive mehanizmu za izolaciju procesa zasnovanom na seccomp-bpf na Linuxu.
  • Uslužni program contrib/ssh-copy-id je ažuriran.

izvor: opennet.ru

Dodajte komentar