Pas katër muajsh zhvillimi lëshimi , implementimi i hapur i klientit dhe serverit për të punuar me protokollet SSH 2.0 dhe SFTP.
Përmirësimi kryesor në lëshimin e OpenSSH 8.2 është mundësia e përdorimit të autentifikimit dy-faktosh nëpërmjet pajisjeve që mbështesin protokollin , i zhvilluar nga aleanca . U2F lejon krijimin e tokeneve të lira harduerike për të konfirmuar praninë fizike të përdoruesit, me të cilat ndërveprohet përmes USB, Bluetooth ose NFC. Pajisje të tilla promovohen si një mjet për autentikim me dy faktorë në faqe, tashmë mbështeten nga shfletuesit kryesorë dhe lëshohen nga prodhues të ndryshëm, duke përfshirë Yubico, Feitian, Thetis dhe Kensington.
Për të ndërvepruar me pajisjet që konfirmojnë praninë e përdoruesit, OpenSSH ka shtuar lloje të reja çelësash "ecdsa-sk" dhe "ed25519-sk", të cilat përdorin algoritmet e nënshkrimit dixhital ECDSA dhe Ed25519, në kombinim me hash-in SHA-256. Procedurat e ndërveprimit me tokenët janë zhvendosur në një bibliotekë ndërmjetëse, e cila ngarkohet në mënyrë të ngjashme me bibliotekën për mbështetje PKCS#11 dhe është një mbështetje mbi bibliotekën. , që ofron mjete për komunikim me tokenet mbi USB (mbështet protokollet FIDO U2F/CTAP 1 dhe FIDO 2.0/CTAP 2). Biblioteka ndërmjetëse e përgatitur nga zhvilluesit e OpenSSH libsk-libfido2 si pjesë thelbësore e libfido2, ashtu si për OpenBSD.
PĂ«r autentifikim dhe gjenerimin e çelĂ«sit, Ă«shtĂ« e nevojshme tĂ« specifikoni nĂ« configurim parametrin "SecurityKeyProvider" ose tĂ« vendosni variablĂ«n e ambientit SSH_SK_PROVIDER, duke caktuar rrugĂ«n pĂ«r bibliotekĂ«n e jashtme libsk-libfido2.so (export SSH_SK_PROVIDER=/path/to/libsk-libfido2.so). ĂshtĂ« e mundur tĂ« ndĂ«rtohet openssh me mbĂ«shtetje tĂ« integruar pĂ«r bibliotekĂ«n e ndĂ«rmjetme (âwith-security-key-builtin), nĂ« kĂ«tĂ« rast Ă«shtĂ« e nevojshme tĂ« vendosni parametrin "SecurityKeyProvider=internal".
Më pas, është e nevojshme të ekzekutoni «ssh-keygen -t ecdsa-sk» ose, nëse çelësat janë krijuar dhe konfiguruar tashmë, të lidheni me serverin duke përdorur «ssh». Kur ekzekutoni ssh-keygen, çifti i krijuar i çelësave do të ruhet në «~/.ssh/id_ecdsa_sk» dhe mund të përdoret në mënyrë të ngjashme me çelësat e tjerë.
ĂelĂ«si publik (id_ecdsa_sk.pub) duhet tĂ« kopjohet nĂ« server nĂ« skedarin authorized_keys. NĂ« anĂ«n e serverit, kontrollohet vetĂ«m nĂ«nshkrimi digjital, ndĂ«rsa ndĂ«rveprimi me tokenĂ«t kryhet nĂ« anĂ«n e klientit (nĂ« server nuk Ă«shtĂ« e nevojshme tĂ« instalohet libsk-libfido2, por serveri duhet tĂ« mbĂ«shtesĂ« tipin e çelĂ«save «ecdsa-sk»). ĂelĂ«si privat i krijuar (id_ecdsa_sk) nĂ« thelb Ă«shtĂ« njĂ« pĂ«rshkrues i çelĂ«sit, qĂ« formon çelĂ«sin real vetĂ«m nĂ« kombinim me sekuencĂ«n e fshehtĂ«, e cila ruhet nĂ« anĂ«n e tokenit U2F. NĂ« rast se çelĂ«si id_ecdsa_sk bie nĂ« duar tĂ« njĂ« sulmuesi, pĂ«r tĂ« kaluar autentikimin, atij do t'i nevojitet gjithashtu qasja nĂ« tokenin harduerik, pa tĂ« cilin çelĂ«si privat i ruajtur nĂ« skedarin id_ecdsa_sk Ă«shtĂ« i padobishĂ«m.
Për më tepër, nga defaulti, gjatë çdo operacioni me çelësat (si gjatë gjenerimit, ashtu edhe gjatë identifikimit) kërkohet një konfirmim lokal i pranishëm fizikisht nga përdoruesi, për shembull, duke ofruar të preket sensori në token, e cila e bën më të vështirë kryerjen e sulmeve të largëta në sistemet me token të lidhur. Si një barrierë tjetër mbrojtëse në fazën e nisjes, ssh-keygen gjithashtu mund të kërkojë një fjalëkalim për akses në skedarin e çelësit.
Në versionin e ri të OpenSSH, gjithashtu u shpall kalimi i algoritmeve që përdorin hash SHA-1 në statusin e të vjetruarve, në lidhje me e efikasitetit të sulmeve të kolizionit me një prefiks të caktuar (kostoja e gjenerimit të një kolizioni vlerësohet rreth 45 mijë dollarë). Në një nga botimet e ardhshme, planifikohet të shkëputet për default mundësia e përdorimit të algoritmit të nënshkrimit digjital me çelës publik «ssh-rsa», i cili përmendet në RFC origjinal për protokollet SSH dhe mbetet i përhapur gjerësisht në praktikë (për të kontrolluar përdorimin e ssh-rsa në sistemet e tij, mund të provohet lidhja me ssh me opsionin «-oHostKeyAlgorithms=-ssh-rsa»).
Për të lehtësuar kalimin në algoritme të reja në OpenSSH, në një nga versionet e ardhshme do të aktivizohet si parazgjedhje konfigurimi UpdateHostKeys, i cili do të lejojë automatikisht kalimin e klientëve në algorithmat më të sigurta. Mes algoritmeve të rekomanduara për migrim janë përmendur rsa-sha2-256/512 në bazë të RFC8332 RSA SHA-2 (i mbështetur nga OpenSSH 7.2 dhe përdorur si parazgjedhje), ssh-ed25519 (i mbështetur nga OpenSSH 6.5) dhe ecdsa-sha2-nistp256/384/521 në bazë të RFC5656 ECDSA (i mbështetur nga OpenSSH 5.7).
Në versionin OpenSSH 8.2, mundësia për t'u lidhur duke përdorur «ssh-rsa» ende është lënë, por ky algoritëm është hequr nga lista CASignatureAlgorithms, e cila përcakton algoritmet e lejueshme për nënshkrimin dixhital të certifikatave të reja. Po ashtu, nga algoritmet e mbështetur si parazgjedhje për shkëmbimin e çelësave është hequr algoritmi diffie-hellman-group14-sha1. Vlen të theksohet se përdorimi i SHA-1 në certifikata është i lidhur me rreziqe të tjera, pasi një sulmues ka kohë të pakufizuar për të gjetur një kolizion për një certifikatë ekzistuese, ndërsa koha e sulmit ndaj çelësave të hostit është e kufizuar nga kohëzgjatja e lidhjes (LoginGraceTime).
Kur krijoni ssh-keygen, tani përdoret si parazgjedhje algoritmi rsa-sha2-512, i cili mbështetet që nga OpenSSH 7.2, gjë që mund të krijojë probleme me kompatibilitetin kur përpiqeni të përpunoni certifikatat e nënshkruara në OpenSSH 8.2, në sisteme me versione më të vjetra të OpenSSH (për të anashkaluar këtë problem gjatë formimit të nënshkrimit, mund ta specifikoni hapur "ssh-keygen -t ssh-rsa" ose mund të përdorni algoritmet e ecdsa-sha2-nistp256/384/521, të mbështetur që nga OpenSSH 5.7).
Ndryshime të tjera:
- Në sshd_config është shtuar direktiva Include, e cila lejon të përfshihen përmbajtjet e skedave të tjera në pozitat aktuale të skedarit të konfigurimit (kur përcaktohet emri i skedarit, lejohet përdorimi i maskave glob);
- Në ssh-keygen është shtuar opsioni "no-touch-required", i cili çon në anulimin e nevojës për konfirmimin fizik të aksesit në token gjatë gjenerimit të çelësit;
- Në sshd_config është shtuar direktiva PubkeyAuthOptions, e cila kombinon mundësi të ndryshme që lidhen me autentifikimin përmes çelësave publik. Aktualisht mbështetet vetëm flamuri "no-touch-required" për të anashkaluar verifikimin e pranishmërisë fizike gjatë autorizimit përmes tokenit. Në mënyrë analogjike, në skedarin authorized_keys është shtuar opsioni "no-touch-required";
- Në ssh-keygen është shtuar opsioni «-O write-attestation=/path», i cili lejon regjistrimin e certifikatave të tjera të vlerësimit FIDO gjatë gjenerimit të çelësave. OpenSSH aktualisht nuk i përdor këto certifikata, por ato mund të përdoren në të ardhmen për të verifikuar vendndodhjen e çelësit në një depo të besueshme harduerike;
- Në konfigurimet ssh dhe sshd, përmes direktivës IPQoS tani është e mundur të vendosni modin e prioritetit të trafikut. (Lower-Effort Per-Hop Behavior);
- Në ssh, kur vendosni vlerën «AddKeysToAgent=yes», nëse çelësi nuk përmban një fushë me koment, ai do të shtohet në ssh-agent me si koment rrugën e çelësit. Në
ssh-keygen dhe ssh-agent, si komente në çelës tashmë përdoren gjithashtu etiketat PKCS#11 dhe emri i subjektit X.509 në vend të rrugës së bibliotekës; - Në ssh-keygen është shtuar mundësia e eksportit PEM për çelësat DSA dhe ECDSA;
- ĂshtĂ« shtuar njĂ« skedar i ri ekzekutues ssh-sk-helper, i pĂ«rdorur pĂ«r izolimin e bibliotekĂ«s pĂ«r qasje nĂ« tokenat FIDO/U2F;
- NĂ« ssh dhe sshd Ă«shtĂ« shtuar opsioni i ndĂ«rtimit «âwith-zlib» pĂ«r kompilim me mbĂ«shtetje pĂ«r bibliotekĂ«n zlib;
- Sipas kërkesës RFC4253, banneri i shfaqur gjatë lidhjes siguron një paralajmërim për bllokimin e aksesit për shkak të kalimit të kufijve MaxStartups. Për të thjeshtuar diagnostikimin, në titullin e procesit sshd, i dukshëm kur përdoret utilitari ps, është siguruar shfaqja e numrit të lidhjeve aktualisht të autentikuara dhe gjendja e kufirit MaxStartups;
- NĂ« ssh dhe ssh-agent, kur thirret programi pĂ«r tĂ« shfaqur njĂ« pyetje, e cila ceket pĂ«rmes $SSH_ASKPASS, tani transmetohet gjithashtu njĂ« flamur me llojin e pyetjes: «confirm» â dialog konfirmimi (po/jo), «none» â mesazh informues, «blank» â kĂ«rkesĂ« pĂ«r fjalĂ«kalim;
- Në ssh-keygen është shtuar një operacion i ri me nënshkrime digjitale «find-principals» për të kërkuar në skedarin allowed-signers të përdoruesit, i lidhur me nënshkrimin digjital të specifikuar;
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r izolimin e procesit sshd nĂ« Linux pĂ«rmes mekanizmit seccomp: janĂ« ndaluar thirrjet sistemore IPC, janĂ« lejuar clock_gettime64(), clock_nanosleep_time64 dhe clock_nanosleep().
Burimi: opennet.ru
