Pas katër muajsh zhvillimi lëshimi i OpenSSH 8.4, një implementim të hapur të klientit dhe serverit për të punuar sipas protokolleve SSH 2.0 dhe SFTP.
Ndryshimet kryesore:
- Ndryshimet e lidhura me sigurinë:
- Në ssh-agent, kur përdoren çelësat FIDO, të krijuar jo për autentikim përmes SSH (identifikuesi i çelësit nuk fillon me vargje 'ssh:'), tani ka një kontroll se mesazhi do të nënshkruhet duke përdorur metodat e aplikueshme në protokollin SSH. Ky ndryshim nuk do të lejojë redirektimin e ssh-agent në hoste të largëta që kanë çelësa FIDO, për të bllokuar mundësinë e përdorimit të këtyre çelësave për formimin e nënshkrimeve të kërkesave për web-autentifikim (rastin e kundërt, kur një shfletues mund të nënshkruajë një kërkesë SSH, fillimisht është përjashtuar, falë përdorimit të prefiksit 'ssh:' në identifikuesin e çelësit).
- Në ssh-keygen, gjatë gjenerimit të një çelësi rezident, është përfshirë mbështetje për plotësimin credProtect, e cila përshkruhet në specifikimin FIDO 2.1, duke ofruar mbrojtje të shtuar për çelësat përmes një kërkese të detyrueshme për hyrje PIN para kryerjes së çdo operacioni që mund të çojë në nxjerrjen e çelësit rezident nga tokeni.
- Ndryshimet që potencialisht mund të thyejnë kompatibilitetin:
- Për mbështetje FIDO/U2F, rekomandohet të përdoret biblioteka libfido2 me një version jo më të vjetër se 1.5.0. Një mbështetje e pjesshme për versionet më të vjetra është implementuar, por në këtë rast disa funksione si çelësat rezidentë, kërkesa për PIN dhe lidhja e disa tokeneve do të jenë të papërfshira.
- Në ssh-keygen, në formatin e informacionit të konfirmimit, që ruhet opsionalisht gjatë gjenerimit të çelësit FIDO, janë shtuar të dhëna për autentifikuesin, të nevojshme për verifikimin e nënshkrimeve të digjitalizuara.
- API i përdorur për ndërveprimin e OpenSSH me shtresën për qasjen në tokenet FIDO është modifikuar.
- Gjatë ndërtimit të versionit të portueshëm të OpenSSH, tani kërkohet automake për të formuar skenarin configure dhe skedarët e ndërtimit përkatës (nëse ndërtimi bëhet nga një skedar tar i botuar me kodin, rinovimi i configure nuk është i nevojshëm).
- Në ssh dhe ssh-keygen është shtuar mbështetja për çelësa FIDO që kërkojnë konfirmim përmes PIN-it. Për gjenerimin e çelësave me PIN në ssh-keygen është shtuar opsioni 'verify-required'. Në rastin e përdorimit të tillë të çelësave, para kryerjes së operacionit të krijimit të nënshkrimit, përdoruesi paraqitet me një kërkesë për të konfirmuar veprimet e tij përmes hyrjes së PIN-it.
- Në sshd, në konfigurimin e authorized_keys, është realizuar një opsion 'verify-required', që kërkon aplikimin e mundësive të verifikimit të pranisë së përdoruesit gjatë operacioneve me tokenin. Standardi FIDO parashikon disa mundësi të tilla verifikimi, por aktualisht në OpenSSH mbështetet vetëm verifikimi i bazuar në PIN.
- Në sshd dhe ssh-keygen, është shtuar mbështetje për verifikimin e nënshkrimeve të digjitalizuara, përputhshëm me standardin FIDO Webauthn, që lejon përdorimin e çelësave FIDO në shfletuesit web.
- Në ssh, në konfigurimet CertificateFile,
ControlPath, IdentityAgent, IdentityFile, LocalForward dhe
RemoteForward, është lejuar zëvendësimi i vlerave nga variablat e mjedisit, të specifikuara në formatin '${ENV}'. - Në ssh dhe ssh-agent është shtuar mbështetje për variablën e mjedisit $SSH_ASKPASS_REQUIRE, e cila mund të përdoret për të aktivizuar ose çaktivizuar thirrjen e ssh-askpass.
- Në ssh, në ssh_config, në direktivën AddKeysToAgent është shtuar mundësia e kufizimit të kohëzgjatjes së çelësit. Pas skadimit të kufirit të caktuar, çelësat do të fshihen automatikisht nga ssh-agent.
- Në scp dhe sftp, me flagun '-A', tani mund të lejohet në mënyrë eksplicite redirektimi në scp dhe sftp me përdorimin e ssh-agent (në mënyrë të parazgjedhur, redirektimi është i ndaluar).
- Në konfigurimet e ssh është shtuar mbështetje për zëvendësimin '%k', që përcakton emrin e çelësit të hostit. Kjo mundësi mund të përdoret për të shpërndarë çelësat në skedarë të veçantë (për shembull, 'UserKnownHostsFile ~/.ssh/known_hosts.d/%k').
- ĂshtĂ« lejuar pĂ«rdorimi i operacionit 'ssh-add -d -' pĂ«r tĂ« lexuar nga stdin çelĂ«sat qĂ« duhet tĂ« hiqen.
- Në sshd është siguruar reflektimi në log të fillimit dhe përfundimit të procesit të shkurtimeve të lidhjeve, i rregulluar përmes parametrave MaxStartups.
Zhvilluesit e OpenSSH gjithashtu kujtuan për kalimin e afërt në kategorinë e algoritmeve të prishur, që përdorin hash SHA-1, në lidhje me e efikasitetit të sulmeve të kolizionit me një prefiks të caktuar (kostoja e gjenerimit të një kolizioni vlerësohet rreth 45 mijë dollarë). Në një nga botimet e ardhshme, planifikohet të shkëputet për default mundësia e përdorimit të algoritmit të nënshkrimit digjital me çelës publik «ssh-rsa», i cili përmendet në RFC origjinal për protokollet SSH dhe mbetet i përhapur gjerësisht në praktikë (për të kontrolluar përdorimin e ssh-rsa në sistemet e tij, mund të provohet lidhja me ssh me opsionin «-oHostKeyAlgorithms=-ssh-rsa»).
Për të lehtësuar kalimin në algoritme të reja, në OpenSSH në versionin e ardhshëm do të aktivizohet përveç kësaj konfigurimi UpdateHostKeys, i cili do të lejojë automatikisht kalimin e klientëve në algoritme më të sigurta. Disa nga algoritmet e rekomanduara për migração përfshijnë rsa-sha2-256/512 të bazuara në RFC8332 RSA SHA-2 (më shumë se 7.2 dhe përdoret si default), ssh-ed25519 (e përkrahur nga OpenSSH 6.5) dhe ecdsa-sha2-nistp256/384/521 e bazuar në RFC5656 ECDSA (mbështetur nga OpenSSH 5.7).
Burimi: opennet.ru
