Po piatich mesiacoch vývoja uvoľnenie , otvorená implementácia klienta a servera na prácu s protokolmi SSH 2.0 a SFTP.
Hlavné zmeny:
- Do ssh a sshd bola pridaná experimentálna podpora metódy výmeny kľúčov, odolnej voči hrubému prehliadaniu kvantovými počítačmi. Kvantové počítače podstatne rýchlejšie riešia problém faktorovania prirodzených čísel, ktorý je základom moderných asymetrických šifrovacích algoritmov a efektívne sa nedá vyriešiť na klasických procesoroch. Navrhnutá metóda je založená na algoritmoch (funkcia ntrup4591761), vyvinutom pre postkvantové kryptosystémy, a metóde výmeny kľúčov na báze eliptických kriviek X25519;
- V sshd boli v direktívach ListenAddress a PermitOpen ukončené podpory zastaraného syntaxu „host/port“, ktorý bol implementovaný v roku 2001 ako alternatíva „host:port“ pre uľahčenie práce s IPv6. V súčasných podmienkach sa pre IPv6 ustálila syntax „[::1]:22“, pričom „host/port“ je často zamieňaný s označením podsiete (CIDR);
- V ssh, ssh-agent a ssh-add bola implementovaná podpora kľúčov v tokenoch PKCS#11;
- V ssh-keygen bola veľkosť kľúča RSA predvolene zvýšená na 3072 bitov, v súlade s novými odporúčaniami NIST;
- V ssh je povolené používať nastavenie „PKCS11Provider=none“ na prepísanie direktívy PKCS11Provider, určenej v ssh_config;
- V sshd je zabezpečené zaznamenávanie do logu situácií, keď sa spojenie ukončilo pri pokuse o vykonanie príkazov, ktoré sú blokované obmedzením „ForceCommand=internal-sftp“ v sshd_config;
- V ssh, pri zobrazovaní výzvy na potvrdenie prijatia nového hostiteľského kľúča, je namiesto odpovede „yes“ teraz akceptovaný správny fingerprint kľúča (v odpovedi na pozvanie potvrdiť pripojenie môže používateľ cez clipboard skopírovať samostatne získaný etalónny hash, aby sa manuálne nemusel venovať jeho porovnaniu);
- V ssh-keygen je zabezpečené automatické zvýšenie čísla sekvencie v certifikáte pri vytváraní digitálnych podpisov pre viacero certifikátov v príkazovom riadku;
- V scp a sftp bola pridaná nová možnosť „-J“, ekvivalentná nastaveniu ProxyJump;
- V ssh-agent, ssh-pkcs11-helper a ssh-add bola pridaná podpora voľby príkazového riadku „-v“ na zvýšenie informativnosti výstupu (pri uvedení sa táto voľba prenáša aj na podriadené procesy, napríklad keď je z ssh-agent vyvolaný ssh-pkcs11-helper);
- Do ssh-add bola pridaná možnosť „-T“ na testovanie vhodnosti kľúčov v ssh-agent na vykonávanie operácií vytvárania a overovania digitálnych podpisov;
- V sftp-serveri bola implementovaná podpora rozšírenia protokolu „lsetstat at openssh.com“, ktoré pridáva pre SFTP podporu operácie SSH2_FXP_SETSTAT, ale bez sledovania symbolických odkazov;
- Do sftp bola pridaná možnosť „-h“ na vykonávanie príkazov chown/chgrp/chmod s požiadavkami, ktoré nepoužívajú symbolické odkazy;
- V sshd je zabezpečené nastavenie premennej prostredia $SSH_CONNECTION pre PAM;
- Pre sshd bol do ssh_config pridaný režim porovnávania „Match final“, podobný „Match canonical“, ale bez potreby zapínania normalizácie názvu hostiteľa;
- V sftp bola pridaná podpora prefixu ‘@’ na deaktiváciu prekladu výstupu príkazov vykonávaných v dávkovom režime;
- Pri výstupe obsahu certifikátu pomocou príkazu
„ssh-keygen -Lf /path/certificate“ sa teraz zobrazuje algoritmus, ktorý použil certifikačný orgán na podpísanie certifikátu; - Zlepšená podpora prostredia Cygwin, napríklad zabezpečené porovnávanie názvov skupín a používateľov bez ohľadu na veľké a malé písmená. Proces sshd na porte pre Cygwin bol zmenený na cygsshd, aby sa predišlo kolíziám s portom OpenSSH dodávaným spoločnosťou Microsoft;
- Pridaná možnosť kompilácie s experimentálnou vetvou OpenSSL 3.x;
- Opravená (CVE-2019-6111) v implementácii utilitky scp, ktorá umožňuje prepísať ľubovoľné súbory v cieľovom adresári na strane klienta pri prístupe k serveru ovládanému útočníkom. Problém spočíva v tom, že pri použití scp server rozhoduje o tom, ktoré súbory a adresáre poslať klientovi, a klient iba kontroluje správnosť vrátených názvov objektov. Kontrola na strane klienta je obmedzená iba na blokovanie prechádzania mimo aktuálny adresár („../“), ale nezohľadňuje prenos súborov s názvami odlišnými od pôvodne požadovaných. V prípade rekurzívneho kopírovania (-r) je možné manipulovať nielen s názvami súborov, ale aj s názvami podadresárov. Napríklad, ak používateľ kopíruje súbory do svojho domáceho adresára, server ovládaný útočníkmi môže namiesto požadovaných súborov poslať súbory s názvami .bash_aliases alebo .ssh/authorized_keys, a tie budú uložené utilitkou scp v domácom adresári používateľa.
V novom vydaní bola do utilitky scp pridaná kontrola zhody požadovaných a odovzdaných názvov súborov zo servera, vykonávaná na strane klienta. Môžu sa vyskytnúť problémy s spracovaním masiek, pretože znaky rozšírenia masiek môžu byť spracovávané odlišne na strane servera a klienta. V prípade, že kvôli takýmto rozdielom klient prestane prijímať súbory v scp, bola pridaná možnosť „-T“, ktorá umožňuje vypnúť kontrolu na strane klienta. Na úplné vyriešenie problému je potrebná konceptuálna prerábka protokolu scp, ktorý je už sám o sebe zastaraný, a preto sa odporúča používať modernejšie protokoly, ako sú sftp a rsync.
Zdroj: opennet.ru
