Byla vydána verze OpenSSH 10.0, otevřená implementace klienta a serveru pro práci s protokoly SSH 2.0 a SFTP. Hlavní změny:
- Byla odstraněna podpora digitálních podpisů na základě algoritmu DSA, jehož úroveň zabezpečení neodpovídá současným požadavkům. Náklady na další údržbu nezabezpečeného algoritmu DSA nejsou oprávněné a jeho odstranění podpoří ukončení podpory DSA v dalších implementacích SSH a kryptografických knihovnách. Použití klíčů DSA bylo od roku 2015 ve výchozím nastavení ukončeno.
- Pokračuje oddělení sshd na několik samostatných spustitelných souborů. V OpenSSH 9.8 byl proces sshd rozdělen a vytvořen proces sshd-session, který vykonává úkoly spojené se zpracováním relací. V OpenSSH 10.0 byl z sshd-session do samostatného procesu sshd-auth přesunut kód provádějící autentizaci. Proces sshd-auth umožňuje dále izolovat data související s autentizací v adresním prostoru samostatného procesu, což zabrání přístupu k těmto datům v paměti v případě útoků na kód používaný ke zpracování fází spojení před ukončením autentizace. Navíc tato změna mírně sníží spotřebu paměti, protože kód související s autentizací je nyní v paměti pouze během autentizace a po ukončení procesu sshd-auth se uvolní.
- V ssh je ve výchozím nastavení implementován hybridní algoritmus výměny klíčů „mlkem768x25519-sha256“, odolný vůči útokům z kvantových počítačů a představující kombinaci X25519 ECDH a algoritmu ML-KEM (CRYSTALS-Kyber), standardizovaných Národním institutem standardů a technologií USA (NIST). ML-KEM používá metody kryptografie založené na řešení problémů teorie mřížek, přičemž čas na jejich vyřešení se neliší na běžných a kvantových počítačích.
- Do ssh_config byly do direktiv SetEnv a User přidány možnosti substituce „%-token“ a rozbalování proměnných prostředí.
- Do ssh_config a sshd_config byla přidána podpora výrazu „Match version“, což umožňuje použít nastavení v závislosti na existující verzi OpenSSH, například pro vázání na OpenSSH 10 lze zadat „Match version OpenSSH_10.*“.
- Do ssh_config byla přidána podpora výrazů:
- „Match sessiontype“, který umožňuje použít nastavení v závislosti na typu požadované relace: „shell“ pro interaktivní relace, „exec“ pro spouštění příkazů, „subsystem“ pro sftp a „none“ pro tunelování a přesměrování provozu.
- „Match command“ pro vazbu akcí na příkazy uvedené v příkazovém řádku pro spuštění přes ssh.
- ‚Match tagged „“‘ a ‚Match command „“‘ pro vazbu na prázdné tagy a spuštění ssh bez uvedení vykonávaného příkazu.
- V sshd_config je povoleno použití masek v cestách k souborům uvedeným v direktivách AuthorizedKeysFile a AuthorizedPrincipalsFile.
- V klientu ssh byla přidána podpora volby „VersionAddendum“ pro přidání libovolného textu ke stringu s číslem verze (dříve byla tato volba dostupná pouze pro serveru sshd).
- V utilitách scp a sftp je zajištěn přenos nastavení „ControlMaster no“ pro zákaz používání existujících spojení při opětovném připojování k hostiteli.
- V sshd je ve výchozím nastavení zakázána podpora implementace algoritmu Diffie-Hellman na konečném poli, což vedlo k odstranění metod „diffie-hellman-group*“ a „diffie-hellman-group-exchange-*“ ze seznamu KEXAlgorithms. Ve srovnání s algoritmem Diffie-Hellman na základě eliptických křivek je vzdálená implementace pomalejší a vyžaduje další výpočetní zdroje při identické úrovni zabezpečení.
- V ssh při výběru šifrovacího algoritmu pro spojení je režim AES-GCM nyní preferovanější než AES-CTR. Ve výchozím nastavení je nastaven seznam priorit při výběru šifrovacích algoritmů: Chacha20/Poly1305, AES-GCM (128/256) a AES-CTR (128/192/256).
- V ssh-agentu bylo realizováno odstranění všech načtených klíčů při obdržení signálu SIGUSR1.
- V ssh-keygen byla přidána podpora FIDO tokenů, které nevracejí údaje o osvědčení, jako například WinHello.
- V ssh-agentu byla přidána volba „-Owebsafe-allow=…“ pro přepsání bílého seznamu FIDO aplikací.
- Byla přidána experimentální utilita regress/misc/ssh-verify-attestation pro ověřování údajů o osvědčení FIDO, volitelně generovaných ssh-keygen při registraci klíčů FIDO.
- V ssh-keygen je povoleno používat „-“ místo názvu souboru.
- V ssh-agentu a přenosné verzi OpenSSH byla přidána podpora aktivace přes soket ve stylu systemd, realizovaná pomocí mechanismu LISTEN_PID/LISTEN_FDS.
- V přenosné verzi:
- Byla implementována podpora kryptografické knihovny AWS-LC (AWS libcrypto).
- V sshd byla přidána podpora wtmpdb, ekvivalentu wtmp, který není náchylný k problému roku 2038.
- Do sshd byla přidána volba "—with-linux-memlock-onfault" pro zajištění, že sshd zůstane v paměti (zákaz přesunu do swapu).
- Byla přidána volba "—with-security-key-standalone" pro sestavení samostatné knihovny sk-libfido2.
- Nastavení sestavení pro RHEL 6 byla odstraněna ze specifikace RPM balíčku.
- Změna v sshd týkající se bezpečnosti: direktiva DisableForwarding správně nezakazovala přesměrování protokolu X11 a volání na ssh-agent. Přesměrování X11 je na straně serveru ve výchozím nastavení zakázáno, zatímco přesměrování ssh-agent na straně klienta.
Zdroj: opennet.ru
