Nakon četiri mjeseca razvoja izdanje OpenSSH 8.4, otvorene implementacije klijenta i poslužitelja za rad s protokolima SSH 2.0 i SFTP.
Glavne promjene:
- Promjene vezane uz sigurnost:
- U ssh-agentu, prema korištenju FIDO ključeva koji nisu stvoreni za autentifikaciju putem SSH (identifikator ključa ne počinje s "ssh:"), sada se provjerava da će se poruka potpisati korištenjem metoda primijenjenih u SSH protokolu. Promjena neće omogućiti preusmjeravanje ssh-agenta na udaljene domaćine koji imaju FIDO ključeve, kako bi se onemogućila mogućnost korištenja tih ključeva za generiranje potpisa zahtjeva za web-autentifikaciju (obrnut slučaj, kada preglednik može potpisati SSH zahtjev, isključuje se zahvaljujući primjeni prefiksa "ssh:" u identifikatoru ključa).
- U ssh-keygenu, prilikom generiranja rezidentnog ključa, uključena je podrška za dodatak credProtect, opisan u FIDO 2.1 specifikaciji, koji pruža dodatnu zaštitu za ključeve putem obaveznog unosa PIN-a prije izvršenja bilo koje operacije koja može dovesti do izvlačenja rezidentnog ključa iz tokena.
- Promjene koje potencijalno narušavaju kompatibilnost:
- Preporučuje se korištenje biblioteke libfido2 verzije 1.5.0 ili novije za podršku FIDO/U2F. Djelomično je omogućena upotreba i starih izdanja, ali u tom su slučaju neće biti dostupne funkcije, poput rezidentnih ključeva, zahtjeva za PIN i povezivanja s više tokena.
- U ssh-keygenu, u format potvrđujućih informacija, opcionalno pohranjenih prilikom generiranja FIDO ključa, dodati su podaci za autentifikator potrebni za provjeru potvrđujućih digitalnih potpisa.
- Promijenjen je API koji se koristi za interakciju OpenSSH-a s posrednikom za pristup FIDO tokenima.
- Prilikom izrade prijenosne verzije OpenSSH-a sada je potrebna automatska izrada za generiranje configure skripte i pripadajućih datoteka za izgradnju (ako se izrada izvodi iz objavljenog tar datoteke s kodom, ponovna generacija configure nije potrebna).
- U ssh i ssh-keygenu dodana je podrška za FIDO ključeve koji zahtijevaju potvrdu putem PIN-a. Za generiranje ključeva s PIN-om u ssh-keygenu dodana je opcija "verify-required". U slučaju korištenja takvih ključeva, korisniku se prikazuje upit koji zahtijeva potvrdu njegovih radnji putem unosa PIN-a prije izvršenja operacije stvaranja potpisa.
- U sshd-u u konfiguraciji authorized_keys implementirana je opcija „verify-required“ koja zahtijeva korištenje verifikacijskih mogućnosti za prisutnost korisnika tijekom operacija s tokenom. FIDO standard predviđa nekoliko opcija za takvu verifikaciju, ali trenutno OpenSSH podržava samo provjeru temeljem PIN-a.
- U sshd-u i ssh-keygenu dodana je podrška za provjeru digitalnih potpisâ koja su u skladu sa standardom FIDO Webauthn, omogućujući korištenje FIDO ključeva u web preglednicima.
- U ssh-u u postavkama CertificateFile,
ControlPath, IdentityAgent, IdentityFile, LocalForward i
RemoteForward omogućena je supstitucija vrijednosti iz varijabli okruženja, naznačenih u formatu „${ENV}”. - U ssh-u i ssh-agentu dodana je podrška za varijablu okruženja $SSH_ASKPASS_REQUIRE, koju možete koristiti za uključivanje ili isključivanje poziva ssh-askpass.
- U ssh-u u ssh_config u direktivi AddKeysToAgent dodana je mogućnost ograničavanja vremena trajanja ključa. Nakon isteka zadanog ograničenja, ključevi se automatski uklanjaju iz ssh-agenta.
- U scp-u i sftp-u sada možete eksplicitno dozvoliti preusmjeravanje u scp i sftp pomoću zastavice „-A” (po difoltuu je preusmjeravanje zabranjeno).
- U postavkama ssh dodana je podrška za supstituciju ‘%k’, koja definira ime ključa domaćina. Ovu mogućnost možete koristiti za razdvajanje ključeva u zasebne datoteke (na primjer, „UserKnownHostsFile ~/.ssh/known_hosts.d/%k”).
- Dozvoljena je operacija „ssh-add -d -” za čitanje ključeva koji se uklanjaju iz stdin-a.
- U sshd-u osigurano je bilježenje početka i završetka procesa ograničavanja veza, reguliranog putem parametra MaxStartups.
Razvijatelji OpenSSH-a također su podsjetili na nadolazeću promjenu statusa zastarjelih algoritama koji koriste SHA-1 heš, u vezi s efikasnosti kolizionih napada s unaprijed zadanim prefiksom (trošak pronalaska kolizije procijenjen je na otprilike 45 tisuća dolara). U jednom od sljedećih izdanja planira se prema zadanim postavkama onemogućiti mogućnost korištenja algoritma digitalnog potpisa s otvorenim ključem "ssh-rsa", koji se spominje u izvornom RFC-u za SSH protokol i ostaje široko rasprostranjen u praksi (za provjeru primjene ssh-rsa u svojim sustavima možete pokušati povezati se putem ssh s opcijom "-oHostKeyAlgorithms=-ssh-rsa").
Kako bi se olakšao prijelaz na nove algoritme, u sljedećem izdanju OpenSSH-a prema zadanim postavkama bit će uključena opcija UpdateHostKeys, koja će automatski prebaciti klijente na sigurnije algoritme. Među preporučenim algoritmima za migraciju spomenuti su rsa-sha2-256/512 temeljen na RFC8332 RSA SHA-2 (podržava od OpenSSH 7.2 i koristi se prema zadanim postavkama), ssh-ed25519 (podržava od OpenSSH 6.5) i ecdsa-sha2-nistp256/384/521 temeljen na RFC5656 ECDSA (podržava od OpenSSH 5.7).
Izvor: opennet.ru
