Objavljen je OpenSSH 10.0, otvorena implementacija klijenta i poslužitelja za rad s protokolima SSH 2.0 i SFTP. Glavne promjene:
- Uklonjena je podrška za digitalne potpise temeljene na DSA algoritmu, čiji nivo zaštite ne odgovara suvremenim zahtjevima. Troškovi nastavka održavanja nesigurnog DSA algoritma nisu opravdani, a njegova eliminacija potaknut će prestanak podrške DSA u drugim SSH implementacijama i kriptografskim bibliotekama. Upotreba DSA ključeva prema zadanim postavkama prekinuta je još 2015. godine.
- Nastavljeno je dijeljenje sshd na nekoliko zasebnih izvršnih datoteka. U OpenSSH 9.8 proces sshd je podijeljen, a proces sshd-session preuzima zadatke vezane uz obradu sesija. U OpenSSH 10.0, kod za autentifikaciju premješten je iz sshd-session u zasebni proces sshd-auth. Proces sshd-auth dodatno izolira podatke povezane s autentifikacijom u adresnom prostoru zasebnog procesa, čime se sprečava pristup tim podacima u memoriji tijekom napada na kod koji se koristi za obradu faza veze do dovršetka autentifikacije. Osim toga, ova promjena donekle smanjuje potrošnju memorije, jer kod vezan za autentifikaciju sada postoji u memoriji samo tijekom procesa autentifikacije, a zatim se učitava nakon završetka procesa sshd-auth.
- U ssh-u se prema zadanim postavkama koristi hibridni algoritam za razmjenu ključeva „mlkem768x25519-sha256“, otporan na kvantno provale i koji predstavlja kombinaciju X25519 ECDH i algoritma ML-KEM (CRYSTALS-Kyber), standardiziranih od strane Nacionalnog instituta za standarde i tehnologiju SAD-a (NIST). ML-KEM koristi metode kriptografije zasnovane na rješavanju zadataka teorije rešetki, čije vrijeme rješavanja nije različito na klasičnim i kvantnim računalima.
- U ssh_config dodana je podrška za substituciju „%-token“ u direktivama SetEnv i User, kao i razotkrivanje varijabli okruženja.
- U ssh_config i sshd_config dodana je podrška za izraz „Match version“, koji omogućava primjenu postavki ovisno o trenutnoj verziji OpenSSH; na primjer, za vezanje uz OpenSSH 10 može se navesti „Match version OpenSSH_10.*“.
- U ssh_config dodana je podrška za izraze:
- «Match sessiontype», koji omogućuje primjenu postavki ovisno o vrsti zatraženog sesije: «shell» za interaktivne sesije, «exec» za pokretanje naredbi, «subsystem» za sftp i «none» za tuneliranje i preusmjeravanje prometa.
- «Match command» za vezanje akcija uz naredbe navedene u naredbenom retku za pokretanje preko ssh.
- ‘Match tagged «»‘ i ‘Match command «»‘ za vezanje na prazne oznake i pokretanje ssh bez navođenja izvršne naredbe.
- U sshd_config dopušteno je korištenje maski u datotečnim putanjama navedenim u direktivama AuthorizedKeysFile i AuthorizedPrincipalsFile.
- U ssh klijentu dodana je podrška za opciju «VersionAddendum» za dodavanje proizvoljnog teksta u red s brojem verzije (ranije je ova opcija bila dostupna samo za poslužitelja sshd).
- U alatima scp i sftp osigurana je prosljeđivanje postavke «ControlMaster no» za zabranu korištenja postojećih veza prilikom ponovnog povezivanja s hostom.
- U sshd je prema zadanim postavkama onemogućena podrška za implementaciju algoritma Diffie-Hellman u konačnom polju, što je dovelo do uklanjanja metoda «diffie-hellman-group*» i «diffie-hellman-group-exchange-*» iz popisa KEXAlgorithms. U usporedbi s algoritmom Diffie-Hellman temeljenim na eliptičnim krivuljama, daljinska implementacija je sporija i zahtijeva dodatne računalne resurse pri identičnoj razini sigurnosti.
- U ssh-u pri odabiru šifriranja za vezu, način AES-GCM sada je preferiraniji od AES-CTR. Prema zadanim postavkama postavljen je popis prioriteta pri odabiru šifriranja: Chacha20/Poly1305, AES-GCM (128/256) i AES-CTR (128/192/256).
- U ssh-agentu implementirano je uklanjanje svih učitanih ključeva prilikom primanja signala SIGUSR1.
- U ssh-keygen dodana je podrška za FIDO tokene koji ne vraćaju podatke o attestaciji, poput WinHello.
- U ssh-agent dodana je opcija «-Owebsafe-allow=…» za nadjačavanje bijelog popisa FIDO aplikacija.
- Dodana je eksperimentalna alatka regress/misc/ssh-verify-attestation za verifikaciju podataka o attestaciji FIDO, koji se opcionalno generiraju putem ssh-keygen pri registraciji FIDO ključeva.
- U ssh-keygen dopušteno je koristiti «-» umjesto imena datoteke.
- U ssh-agentu i prijenosnoj verziji OpenSSH dodana je podrška za aktivaciju preko socket-a u stilu systemd, provedena korištenjem mehanizma LISTEN_PID/LISTEN_FDS.
- U prijenosnoj verziji:
- Implementirana je podrška za kriptografsku biblioteku AWS-LC (AWS libcrypto).
- U sshd dodana je podrška za wtmpdb, analog wtmp-a koji nije podložan problemu iz 2038. godine.
- U sshd je dodana opcija "—with-linux-memlock-onfault" za fiksiranje sshd u memoriji (zabrana izbacivanja u swap prostor).
- Dodana je opcija "—with-security-key-standalone" za izradu odvojene biblioteke sk-libfido2.
- U specifikaciji RPM paketa uklonjene su postavke izrade za RHEL 6.
- Promjena u sshd-u vezana za sigurnost: direktiva DisableForwarding nije pravilno onemogućavala preusmjeravanje X11 protokola i pozive na ssh-agent. Preusmjeravanje X11 je po defaultu onemogućeno na strani servera, dok je preusmjeravanje ssh-agenta na strani klijenta.
Izvor: opennet.ru
