Megjelent az OpenSSH 10.0 kiadása, amely az SSH 2.0 és SFTP protokollokhoz készült kliens- és szervermegoldás nyílt forráskódú implementációja. Főbb változások:
- Eltávolították a DSA-algoritmuson alapuló digitális aláírások támogatását, mivel védelmi szintjük nem felel meg a modern követelményeknek. Az elavult DSA algoritmus fenntartására fordított költségek nem indokoltak, és eltávolítása ösztönözni fogja a DSA támogatásának megszüntetését más SSH implementációkban és titkosítási könyvtárakban. Az alapértelmezett DSA kulcsok használata már 2015 óta lehetséges.
- Folytatták az sshd több különálló végrehajtható fájlra való szétválasztását. Az OpenSSH 9.8-ban az sshd-ből kiemelték az sshd-session folyamatot, amely a munkamenetek feldolgozásáért felelős. Az OpenSSH 10.0-ban az sshd-sessionből külön folyamatba, az sshd-auth-ba került az autentikálásért felelős kód. Az sshd-auth folyamat lehetőséget biztosít az autentikálással kapcsolatos adatok további elszigetelésére egy külön folyamat címzési terében, így az ezekhez az adatokhoz való hozzáférés támadások esetén nem lehetséges, amikor a kapcsolat feldolgozási fázisait kezelik az autentikálás befejezéséig. Ezenkívül a módosítás kissé csökkenti a memóriafogyasztást, mivel az autentikálással kapcsolatos kód csak az autentikáció idején van a memóriában, majd az sshd-auth folyamat befejezésekor kiválasztásra kerül.
- Az ssh alapértelmezés szerint hibrid kulcscsere algoritmust alkalmaz, a „mlkem768x25519-sha256”-t, amely ellenáll a kvantumszámítógéppel való feltörésnek, és az X25519 ECDH és az ML-KEM (CRYSTALS-Kyber) algoritmusok kombinációját képviseli, amelyeket az Egyesült Államok Nemzeti Szabványügyi és Technológiai Intézete (NIST) standardizált. Az ML-KEM lattolása során a probléma megoldásához használt kriptográfiai módszerek, amelyek megoldási ideje a klasszikus és kvantumszámítógépeken nem különbözik.
- Az ssh_config-ben a SetEnv és User direktívákhoz hozzáadták a „%-token” helyettesítés és környezeti változók felfedésének támogatását.
- Az ssh_config és az sshd_config fájlban hozzáadták a „Match version” kifejezés támogatását, amely lehetővé teszi a beállítások alkalmazását az OpenSSH verziója alapján, például az OpenSSH 10-hez való kötéshez megadható a „Match version OpenSSH_10.*”.
- Az ssh_config-ben kifejezések támogatása került bevezetésre:
- A „Match sessiontype” lehetőséget biztosít az igényelt munkamenet típusának megfelelő beállítások alkalmazására: „shell” interaktív munkamenetekhez, „exec” parancsok futtatásához, „subsystem” sftp számára, és „none” alagutakhoz és forgalomirányításhoz.
- A „Match command” lehetővé teszi akcókat rendelni a parancsokhoz, amelyeket a parancssorban adtak meg ssh-n keresztül történő indításhoz.
- A „Match tagged „”” és „Match command „”” lehetővé teszi az üres címkékhez való kötődést és az ssh parancs üres megadása nélküli futtatását.
- Az sshd_config fájlban engedélyezett útvonalmaszkok használata az AuthorizedKeysFile és az AuthorizedPrincipalsFile direktívákban megadott fájlokhoz.
- Az ssh kliensben hozzáadva a „VersionAddendum” lehetőség a verziószámot kiegészítő szöveg hozzáadására (korábban ez a lehetőség csak a a szerver sshd-re vonatkozott).
- Az scp és sftp eszközökben a „ControlMaster no” beállítás továbbítása a meglévő kapcsolatok használatának megtiltására, amikor ismét csatlakozik a gazdagéphez.
- Az sshd-ben alapértelmezés szerint letiltották a végső mezőben végzett Diffie-Hellman algoritmus megvalósításának támogatását, ami a KEXAlgorithms listából a „diffie-hellman-group*” és „diffie-hellman-group-exchange-*” módszerek eltávolítását eredményezte. Az elliptikus görbéken alapuló Diffie-Hellman algoritmushoz képest a távoli megvalósítás lassabb és további számítási erőforrásokat igényel az azonos biztonsági szint mellett.
- Az ssh kapcsolat titkosítószámának kiválasztásakor az AES-GCM mód most előnyben részesül az AES-CTR-hez képest. Alapértelmezés szerint a titkosítók kiválasztása során a sorrenél áll rendelkezésre: Chacha20/Poly1305, AES-GCM (128/256) és AES-CTR (128/192/256).
- Az ssh-agentben a SIGUSR1 jelzés vételét követően az összes betöltött kulcs eltávolításra kerül.
- Az ssh-keygen-ben hozzáadva a FIDO tokenek támogatása, amelyek nem adnak vissza tanúsítványi adatokat, mint például a WinHello.
- Az ssh-agenthez hozzáadva a „-Owebsafe-allow=...” lehetőség a FIDO alkalmazások fehérlistájának felülírására.
- Hozzáadva egy kísérleti eszköz, a regress/misc/ssh-verify-attestation a FIDO tanúsítványi adatok ellenőrzésére, amely opcionálisan generálható az ssh-keygen által a FIDO kulcsok regisztrálásakor.
- Az ssh-keygen-ben lehetőség van a fájlnevek helyett a „-” használatára.
- Az ssh-agent és az átjárható OpenSSH verzióban beépítésre került a systemd stílusú socket aktiválásának támogatása, amelyet a LISTEN_PID/LISTEN_FDS mechanizmus használatával valósítottak meg.
- Az átjárható verzióban:
- A kriptográfiai AWS-LC könyvtár (AWS libcrypto) támogatása került bevezetésre.
- Az sshd-ben hozzáadva a wtmpdb támogatása, a wtmp megfelelője, amely nem szenved a 2038-as problémától.
- A sshd-hez hozzáadódott a „—with-linux-memlock-onfault” opció, amely lehetővé teszi az sshd memóriaállapotának rögzítését (a swap területre való áthelyezés megtiltása).
- Hozzáadva a „—with-security-key-standalone” opció, amely segítségével elkülönített sk-libfido2 könyvtár építhető.
- Az RPM-csomag specifikációjából eltávolították a RHEL 6 számára készült építési beállításokat.
- Biztonsággal kapcsolatos változás az sshd-ben: a DisableForwarding direktíva nem akadályozta meg megfelelően az X11 protokoll és az ssh-agent hivatkozások átirányítását. Az X11 átirányítás alapértelmezés szerint le van tiltva a szerver oldalán, míg az ssh-agent átirányítás a kliens oldalán.
Forrás: opennet.ru
