Po petih mesecih razvoja je predstavljen izid OpenSSH 8.5, odprte implementacije odjemalca in strežnika za delo z protokoli SSH 2.0 in SFTP.
Razvijalci OpenSSH so spomnili na prihajajoče prehod v razred zastare algoritmov, ki uporabljajo hashes SHA-1, v povezavi z večjo učinkovitostjo napadov s kolizijo s prednastavljenim predpono (stroški iskanja kolizije so ocenjeni na približno 50.000 dolarjev). V eni izmed bližnjih različic nameravajo privzeto onemogočiti možnost uporabe algoritma digitalnega podpisa po javnem ključu „ssh-rsa“, ki je omenjen v originalnem RFC za protokol SSH in ostaja široko razširjen v praksi.
Za preverjanje uporabe ssh-rsa v svojih sistemih lahko poskusite povezati preko ssh z možnostjo „-oHostKeyAlgorithms=-ssh-rsa“. Vendar pa onemogočanje digitalnih podpisov „ssh-rsa“ privzeto ne pomeni popolne opustitve uporabe ključev RSA, saj protokol SSH poleg SHA-1 dovoljuje uporabo drugih algoritmov za izračun hash. Zlasti, poleg „ssh-rsa“ bo ostala možnost uporabe povezav „rsa-sha2-256“ (RSA/SHA256) in „rsa-sha2-512“ (RSA/SHA512).
Za gladek prehod na nove algoritme je v OpenSSH 8.5 privzeto vključena nastavitev UpdateHostKeys, ki omogoča samodejno preusmeritev odjemalcev na bolj zanesljive algoritme. S to nastavitvijo se aktivira posebna razširitev protokola „hostkeys@openssh.com“, ki strežniku po uspešni avtentikaciji omogoča, da obvesti odjemalca o vseh dostopnih ključih gostitelja. Odjemalec lahko te ključe odraža v svojem datoteki ~/ .ssh/known_hosts, kar omogoča organizacijo posodobitve gostiteljskih ključev in poenostavi menjavo ključev na. strežnikom.
Uporaba UpdateHostKeys je omejena na več priznanih pogojev, ki jih je mogoče v prihodnosti preklicati: ključ mora biti omenjen v UserKnownHostsFile in ne sme se uporabljati v GlobalKnownHostsFile; ključ mora biti prisoten le pod enim imenom; ne sme se uporabljati potrdilo gostiteljskega ključa; v known_hosts ne sme biti mask po imenu gostitelja; nastavitev VerifyHostKeyDNS mora biti onemogočena; parameter UserKnownHostsFile mora biti aktiven.
Med tistimi algoritmi, ki so priporočeni za migracijo, so omenjeni rsa-sha2-256/512 na osnovi RFC8332 RSA SHA-2 (podprt od OpenSSH 7.2 in uporabljen privzeto), ssh-ed25519 (podprt od OpenSSH 6.5) in ecdsa-sha2-nistp256/384/521 na osnovi RFC5656 ECDSA (podprt od OpenSSH 5.7).
Druga poboljšanja:
- Spremembe, povezane z varnostjo:
- V ssh-agentu je bila odpravljena ranljivost, ki je povzročila dvojno sprostitev že sproščene območja pomnilnika (double-free). Težava se kaže od izdajanja OpenSSH 8.2 in jo lahko potencialno izkorišča napadalec, ki ima dostop do socketa ssh-agent na lokalnem sistemu. Izkoriščanje otežuje dejstvo, da do socketa imata dostop le root in izvorni uporabnik. Najverjetnejši scenarij napada je preusmeritev agenta na račun, ki je v lasti napadalca, ali na gostitelja, kjer ima napadalec dostop do root-a.
- V sshd je bila dodana zaščita pred prenosom zelo velikih parametrov z imenom uporabnika v podsystem PAM, kar omogoča blokiranje ranljivosti v sistemskih modulih PAM (Pluggable Authentication Module). Na primer, sprememba preprečuje uporabo sshd kot vektor za izkoriščanje nedavno odkrite root-ranljivosti v Solarisu (CVE-2020-14871).
- Spremembe, ki lahko potencialno kršijo združljivost:
- V ssh in sshd je bil prenovljen eksperimentalni način izmenjave ključev, odporen proti napadom na kvantnih računalnikih. Kvantni računalniki bistveno hitreje rešujejo nalogo faktoriranja naravnega števila, ki leži v osnovi sodobnih asimetričnih šifrirnih algoritmov in je na klasičnih procesorjih učinkovito nerešljiva. Uporabljena metoda temelji na algoritmu NTRU Prime, ki je bil razvitem za post-kvantne kriptosisteme, in metodi izmenjave ključev na osnovi eliptičnih krivulj X25519. Namesto sntrup4591761x25519-sha512@tinyssh.org se metoda zdaj identificira kot sntrup761x25519-sha512@openssh.com (algoritem sntrup4591761 je bil zamenjan z sntrup761).
- V ssh in sshd je bil spremenjen vrstni red oglaševanja podprtih algoritmov digitalnega podpisa. Prvič se zdaj ponuja ED25519 namesto ECDSA.
- V ssh in sshd se nastavitev parametrov kakovosti storitev TOS/DSCP za interaktivne seje zdaj izvede pred vzpostavitvijo TCP-povezave.
- V ssh in sshd je prenehana podpora za šifro rijndael-cbc@lysator.liu.se, ki je identična aes256-cbc in se je uporabljala do potrditve RFC-4253.
- Privzeto je parameter CheckHostIP izključen, kar ima majhen učinek, vendar pa njegovo uporabo bistveno oteži rotacijo ključev za gostitelje za uravnavajočimi obremenitvami.
- V sshd so dodane nastavitve PerSourceMaxStartups in PerSourceNetBlockSize za omejevanje intenzivnosti zažiganja obdelovalcev v povezavi z naslovom odjemalca. Določeni parametri omogočajo natančnejše upravljanje omejitve zažiganja procesov v primerjavi z splošno nastavitvijo MaxStartups.
- V ssh in sshd je bila dodana nova nastavitev LogVerbose, ki omogoča prisilno dvigovanje ravni diagnosticiranja, z možnostjo filtriranja po predlogah, funkcijah in datotekah.
- V ssh ob sprejemu novega gostiteljskega ključa prikazuje vse nazive gostiteljev in IP naslovov, povezanih s ključem.
- V ssh je dovoljeno določiti možnost UserKnownHostsFile=none za izklop uporabe datoteke known_hosts pri identifikaciji gostiteljskih ključev.
- V ssh_config za ssh so dodali nastavitev KnownHostsCommand, ki omogoča pridobivanje podatkov known_hosts iz izpisa določene ukazne vrstice.
- V ssh_config za ssh so dodali možnost PermitRemoteOpen, ki omejuje ciljna mesta pri uporabi možnosti RemoteForward s SOCKS.
- V ssh za ključe FIDO je omogočeno ponavljajoče iskanje PINa v primeru napake operacije digitalnega podpisa zaradi napačnega PINa in odsotnosti poziva za PIN pri uporabniku (na primer, ko ni bilo mogoče pridobiti pravilnih biometričnih podatkov in je naprava prešla na ročni vnos PIN-a).
- V sshd je mehanizmu izolacije procesa, temelječemu na seccomp-bpf, na platformi Linux dodana podpora za dodatne sistemske klice.
- Posodobljena je bila datumna funkcija contrib/ssh-copy-id.
Izvor: opennet.ru
