Pas pas katër muaj zhvillimi lëshimi i OpenSSH 8.4, implementimi të hapur të klientit dhe serverit për punë me protokollet SSH 2.0 dhe SFTP.
Ndryshimet kryesore:
- Ndryshimet lidhur me sigurinë:
- Në ssh-agent, kur përdoren çelësa FIDO të krijuar jo për autentikim përmes SSH (identifikuesi i çelësit nuk fillon me stringun "ssh:"), tani bëhet verifikimi që mesazhi do të nënshkruhet duke përdorur metodat e aplikuara në protokollin SSH. Ky ndryshim nuk do të lejojë drejtpërdrejtimin e ssh-agent në host të largët që kanë çelësa FIDO, për të bllokuar mundësinë e përdorimit të këtyre çelësave për të formuar nënshkrime të kërkesave të autentifikimit në web (rastin e kundërt, kur shfletuesi mund të nënshkruajë një kërkesë SSH, fillimisht e përjashtuar, falë përdorimit të prefiksit "ssh:" në identifikuesin e çelësit).
- Në ssh-keygen, gjatë gjenerimit të çelësit rezidencial është përfshirë mbështetje për plotësimin credProtect, i përshkruar në specifikimin FIDO 2.1, që ofron mbrojtje të shtuar për çelësat përmes kërkesës obligative për futjen e PIN-it para çdo operacioni që mund të çojë në nxjerrjen e çelësit rezidencial nga tokeni.
- Ndryshimet që potencialisht e dëmtojnë kompatibilitetin:
- Për mbështetje FIDO/U2F rekomandohet përdorimi i bibliotekës libfido2 në versionin 1.5.0 ose më të lartë. Mundësia për të përdorur edhe versione më të vjetra është pjesërisht e zbatuar, por në këtë rast do të jenë të paarritshme funksione si çelësat rezidencialë, kërkesa për PIN dhe lidhja e shumë tokenëve.
- Në ssh-keygen, formati i informacionit të konfirmimit, opsionalisht e ruajtur gjatë gjenerimit të çelësit FIDO, është shtuar të dhëna për autentifikuesin, të nevojshme për verifikimin e nënshkrimeve digjitale të konfirmimit.
- API-ja që përdoret për interaksionin e OpenSSH me shtresën për qasje në tokenet FIDO është ndryshuar.
- Kur ndërtohet një version i lëvizshëm i OpenSSH, tani kërkohet automake për të formuar skriptin configure dhe skedarët e ndihmës të ndërtimit (nëse ndërtimi kryhet nga një skedar tar të publikuar me kod, ripërsëritja e configure nuk është e nevojshme).
- Në ssh dhe ssh-keygen është shtuar mbështetje për çelësa FIDO që kërkojnë konfirmim me PIN. Për gjenerimin e çelësave me PIN në ssh-keygen është shtuar opsioni "verify-required". Në rastin e përdorimit të këtyre çelësave, para kryerjes së operacionit të nënshkrimit, përdoruesit i shfaqet një kërkesë që kërkon të konfirmojë veprimet e tij përmes futjes së PIN-it.
- Në sshd, në konfigurimin e authorized_keys është implementuar opsioni «verify-required», i cili kërkon përdorimin e mundësive për verifikimin e pranisë së përdoruesit gjatë operacioneve me tokenin. Standardi FIDO parashikon disa variante të këtij verifikimi, por aktualisht në OpenSSH mbështetet vetëm verifikimi i bazuar në kodin PIN.
- Në sshd dhe ssh-keygen është shtuar mbështetje për verifikimin e nënshkrimeve dixhitale, përkatësisht standardit FIDO Webauthn, e cila lejon përdorimin e çelësave FIDO në web-browsers.
- Në ssh në cilësimet CertificateFile,
ControlPath, IdentityAgent, IdentityFile, LocalForward dhe
RemoteForward lejohet zëvendësimi i vlerave nga variablat e ambientit, të caktuara në formatin «${ENV}». - Në ssh dhe ssh-agent është shtuar mbështetje për variablin e ambientit $SSH_ASKPASS_REQUIRE, i cili mund të përdoret për të aktivizuar ose deaktivizuar thirrjen e ssh-askpass.
- Në ssh, në ssh_config në drejtpërdrejtësinë AddKeysToAgent është shtuar mundësia për të kufizuar kohëzgjatjen e vlefshmërisë së çelësit. Pas skadimit të limitit të caktuar, çelësat automatikisht fshihen nga ssh-agent.
- Në scp dhe sftp, me flagun «-A», tani mund të lejohet në mënyrë eksplicite ridrejtimi në scp dhe sftp duke përdorur ssh-agent (në parazgjedhje, ridrejtimi është i ndaluar).
- NĂ« cilĂ«simet ssh Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r zĂ«vendĂ«simin â%kâ, i cili pĂ«rcakton emrin e çelĂ«sit tĂ« hostingut. 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»).
- Lejohet përdorimi i operacionit «ssh-add -d -» për leximin nga stdin të çelësave që duhet të fshihen.
- Në sshd është siguruar pasqyra në log e fillimit dhe përfundimit të procesit të kufizimit të lidhjeve, të drejtuar nga parametri MaxStartups.
Zhvilluesit e OpenSSH gjithashtu kujtuan për kalimin e ardhshëm në statusin e vjetëruar të algoritmeve që përdorin hash SHA-1, lidhur me e efikasitetit të sulmeve me kolizion me prefiks të caktuar (kostoja e gjenerimit të kolizionit është e vlerësuar rreth 45 mijë dollarë). Në një nga publikimet e afërta planifikohet që të deaktivizohet me parazgjedhje mundësia e përdorimit të algoritmit të nënshkrimit dixhital me çelësa publikë «ssh-rsa», i cili përmendet në RFC origjinal për protokollin SSH dhe vazhdon të jetë i përhapur në praktikë (për të verifikuar përdorimin e ssh-rsa në sistemet e tij, mund të provoni të lidhni nëpërmjet 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 si parazgjedhje cilësimi UpdateHostKeys, i cili do t'i mundësojë klientët të kalojnë automatikisht në algoritme më të sigurta. Midis algoritmeve të rekomanduara për migrim përmenden rsa-sha2-256/512 të bazuara në RFC8332 RSA SHA-2 (që mbështetet që nga OpenSSH 7.2 dhe përdoret si parazgjedhje), ssh-ed25519 (që mbështetet që nga OpenSSH 6.5) dhe ecdsa-sha2-nistp256/384/521 të bazuara në RFC5656 ECDSA (që mbështetet që nga OpenSSH 5.7).
Burimi: opennet.ru
