Nakon četiri meseca razvoja, predstavljen je izlazak OpenSSH 8.7, otvorene implementacije klijenta i servera za rad po protokolima SSH 2.0 i SFTP.
Glavne spremembe:
- U scp je dodat eksperimentalni režim prenosa podataka koji koristi protokol SFTP umesto tradicionalno korišćenog protokola SCP/RCP. SFTP koristi predvidljivije metode obrade imena i ne koristi obradu glob-šablona putem shell-a na drugom hostu, što stvara probleme sa bezbednošću. Da biste uključili SFTP u scp, predložen je flag "-s", ali se u budućnosti planira preći na ovaj protokol kao podrazumevani.
- U sftp-server implementirane su ekstenzije protokola SFTP za otkrivanje putanja ~/ i ~user/, što je neophodno za scp.
- U utiliti scp promenjeno je ponašanje prilikom kopiranja fajlova između dva udaljena hosta (na primer, "scp host-a:/path host-b:"), koje se sada podrazumevano vrši putem posredničkog lokalnog hosta, kao kada se navede flag "-3". Ovaj pristup omogućava izbegavanje prenosa suvišnih akreditiva na prvi host i trostruke interpretacije imena fajlova u shell-u (na strani izvora, primaoca i lokalnog sistema), a takođe omogućava korišćenje svih metoda autentifikacije prilikom pristupa udaljenim hostovima, a ne samo neinteraktivnih metoda. Da bi se povratilo staro ponašanje, dodata je opcija "-R".
- U ssh je dodata postavka ForkAfterAuthentication, koja odgovara flagu "-f".
- U ssh je dodata postavka StdinNull, koja odgovara flagu "-n".
- U ssh je dodata postavka SessionType, putem koje se mogu postaviti režimi koji odgovaraju flagovima "-N" (bez sesije) i "-s" (subsystem).
- U ssh-keygen, u datotekama sa ključevima dozvoljeno je navođenje vremenskog intervala važenja ključa.
- U ssh-keygen dodat je flag "-Oprint-pubkey" za ispis punog javnog ključa u okviru potpisa sshsig.
- U ssh i sshd, kako klijent, tako i server, prebačeni su na korišćenje strožeg parsira datoteke konfiguracije, u kojem se koriste pravila slična shell-u za obradu navodnika, razmakâ i escape-simbola. Novi parser takođe ne propušta prethodna pretpostavljanja, kao što su prepuštanje argumenata u opcijama (na primer, sada nije moguće ostaviti praznu direktivu DenyUsers), ne zatvoreni navodnici i navođenje više simbola "=".
- Pri uporabi DNS zapisov SSHFP pri preverjanju ključev, ssh zdaj preverja vse ujemajoče se zapise, ne le tiste, ki vsebujejo določen tip digitalnega podpisa.
- V ssh-keygen pri generiranju FIDO ključa z uporabo možnosti -Ochallenge za hashiranje zdaj uporabljamo vgrajeno plast namesto orodij libfido2, kar omogoča uporabo zaporedij izzivov, ki so večja ali manjša od 32 bajtov.
- V sshd pri obdelavi direktive environment=»…» v datotekah authorized_keys zdaj sprejme prvo ujemanje in velja omejitev na 1024 imen okolijskih spremenljivk.
Razvijalci OpenSSH so prav tako opozorili na prehod na zastarele algoritme, ki uporabljajo hash SHA-1, zaradi naraščajoče učinkovitosti napadov na kolizije s predhodnim prefiksom (strošek iskanja kolizije je ocenjen na približno 50 tisoč dolarjev). V naslednjem izdajalcu načrtujemo, da bo privzeto onemogočena možnost uporabe algoritma digitalnega podpisa s javnim ključem «ssh-rsa», ki je omenjen v izvirnem 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).
Da bi olajšali prehod na nove algoritme v OpenSSH, je bila prej privzeto vključena nastavitev UpdateHostKeys, ki omogoča samodejno preusmeritev strank na bolj zanesljive algoritme. S to nastavitvijo se aktivira posebno razširitev protokola «hostkeys@openssh.com», ki omogoča strežniku po uspešni avtentikaciji obvestiti stranko o vseh razpoložljivih ključih gostitelja. Stranka lahko te ključe odraža v svoji datoteki ~//.ssh/known_hosts, kar omogoča organizacijo posodobitve ključev gostitelja in poenostavi spremembo 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).
Izvor: opennet.ru
