Po pěti měsících vývoje byl představen release OpenSSH 8.5, otevřené implementace klienta a serveru pro práci s protokoly SSH 2.0 a SFTP.
Vývojáři OpenSSH připomněli nadcházející převod některých algoritmů, které používají hashe SHA-1, do kategorie zastaralých. To je spojeno se zvyšující se efektivitou kolizních útoků s určeným prefixem (náklady na nalezení kolize se odhadují na přibližně 50 tisíc dolarů). V jedné z příštích verzí plánují ve výchozím nastavení vypnout možnost použití algoritmu digitálního podpisu podle veřejného klíče „ssh-rsa“, který je zmíněn v originálním RFC pro protokol SSH a zůstává široce rozšířený v praxi.
Pro kontrolu aplikace ssh-rsa ve svých systémech můžete zkusit připojit se přes ssh s možností „-oHostKeyAlgorithms=-ssh-rsa“. Přičemž vypnutí digitálních podpisů „ssh-rsa“ ve výchozím nastavení neznamená úplné odmítnutí použití RSA klíčů, protože protokol SSH, kromě SHA-1, umožňuje aplikaci i dalších algoritmů pro výpočet hashů. Konkrétně kromě „ssh-rsa“ zůstane možnost použití vazeb „rsa-sha2-256“ (RSA/SHA256) a „rsa-sha2-512“ (RSA/SHA512).
Aby se usnadnil přechod na nové algoritmy, je v OpenSSH 8.5 ve výchozím nastavení aktivována volba UpdateHostKeys, která umožňuje automatický přechod klientů na spolehlivější algoritmy. Tato volba aktivuje speciální rozšíření protokolu „hostkeys@openssh.com“, které umožňuje serveru informovat klienta o všech dostupných hostitelských klíčích po dokončení autentizace. Klient může tyto klíče zaznamenat do svého souboru ~/ .ssh/known_hosts, což umožňuje aktualizaci hostitelských klíčů a zjednodušuje změnu klíčů. serveru.
Použití UpdateHostKeys je omezeno několika výhradami, které mohou být v budoucnu zrušeny: klíč musí být uveden ve UserKnownHostsFile a neměl by být používán v GlobalKnownHostsFile; klíč musí být přítomen pouze pod jedním jménem; neměl by být použit certifikát hostitelského klíče; v known_hosts by neměly být použity masky podle názvu hostitele; musí být zakázána volba VerifyHostKeyDNS; musí být aktivní parametr UserKnownHostsFile.
Mezi doporučenými algoritmy pro migraci jsou zmíněny rsa-sha2-256/512 podle RFC8332 RSA SHA-2 (podporováno od OpenSSH 7.2 a používáno jako výchozí), ssh-ed25519 (podporováno od OpenSSH 6.5) a ecdsa-sha2-nistp256/384/521 podle RFC5656 ECDSA (podporováno od OpenSSH 5.7).
Další změny:
- Změny související s bezpečností:
- V ssh-agent byla odstraněna zranitelnost způsobená opětovným uvolněním již uvolněné oblasti paměti (double-free). Problém se objevuje od vydání OpenSSH 8.2 a potenciálně může být zneužit, pokud útočník má přístup k socketu ssh-agent na lokálním systému. K zneužití ztěžuje fakt, že přístup k socketu mají pouze root a původní uživatel. Nejpravděpodobnějším scénářem útoku je přesměrování agenta na účet, který je pod kontrolou útočníka, nebo na hostitel, kde má útočník root přístup.
- V sshd byla přidána ochrana proti přenosu velmi velkých parametrů s uživatelským jménem do systému PAM, což umožňuje blokovat zranitelnosti ve systémových modulech PAM (Pluggable Authentication Module). Například změna zabraňuje využití sshd jako vektoru pro zneužití nedávno odhalené root zranitelnosti v Solaris (CVE-2020-14871).
- Změny, které mohou potenciálně narušit kompatibilitu:
- V ssh a sshd byla přepracována experimentální metoda výměny klíčů odolná proti dešifrování kvantovými počítači. Kvantové počítače výrazně rychleji řeší úlohu faktorizace přirozeného čísla na prvočinitele, což je základ moderních asymetrických šifrovacích algoritmů a je efektivně neřešitelné na klasických procesorech. Použitá metoda je založena na algoritmu NTRU Prime, vyvinutém pro postkvantové kryptosystémy, a metodě výměny klíčů založené na eliptických křivkách X25519. Místo sntrup4591761x25519-sha512@tinyssh.org je nyní metoda identifikována jako sntrup761x25519-sha512@openssh.com (algoritmus sntrup4591761 byl nahrazen sntrup761).
- V ssh a sshd byl změněn pořádek oznamování podporovaných algoritmů digitálního podepisování. Prvním je nyní nabízen ED25519 místo ECDSA.
- V ssh a sshd se nastavení parametrů kvality služeb TOS/DSCP pro interaktivní relace nyní provádí před vytvořením TCP spojení.
- V ssh a sshd byla ukončena podpora šifru rijndael-cbc@lysator.liu.se, který je shodný s aes256-cbc a byl používán před schválením RFC-4253.
- Standardně je deaktivován parametr CheckHostIP, jehož přínos je minimální, ale použití výrazně ztěžuje rotaci klíčů pro hostitele za zátěžovými balancerami.
- V sshd byly přidány nastavení PerSourceMaxStartups a PerSourceNetBlockSize pro omezení intenzity spouštění zpracovatelů v závislosti na adresách klientů. Uvedené parametry umožňují jemnější řízení omezení spuštění procesů ve srovnání s obecným nastavením MaxStartups.
- V ssh a sshd byla přidána nová konfigurace LogVerbose, která umožňuje vynutit zvýšení úrovně debug informací zapisovaných do logu, s možností filtrace podle vzorů, funkcí a souborů.
- V ssh při přijetí nového hostitelského klíče je zajištěno zobrazení všech názvů hostitelů a IP adress, které jsou s klíčem spojeny.
- V ssh je povolena volba UserKnownHostsFile=none pro deaktivaci použití souboru known_hosts při identifikaci hostitelských klíčů.
- V ssh_config pro ssh byla přidána konfigurace KnownHostsCommand, která umožňuje získat data known_hosts z výstupu zadaného příkazu.
- V ssh_config pro ssh byla přidána volba PermitRemoteOpen, která umožňuje omezit cílovou adresu při použití volby RemoteForward se SOCKS.
- V ssh pro klíče FIDO je zajištěno opakované dotázání PIN při selhání operace s digitálním podpisem kvůli nesprávnému PINu a absenci dotazu PIN pro uživatele (například, když se nepodařilo získat správné biometrické údaje a zařízení se vrátilo k ručnímu zadání PINu).
- V sshd byl do mechanismu izolace procesů založeného na seccomp-bpf na platformě Linux přidán podporovaný systémových volání navíc.
- Byla aktualizována utilita contrib/ssh-copy-id.
Zdroj: opennet.ru
