Pas pas katër muaj zhvillimi lëshimi , implementimi të hapur të klientit dhe serverit për punë sipas protokolleve SSH 2.0 dhe SFTP.
Përmirësimi kryesor në lëshimin e OpenSSH 8.2 ishte mundësia e përdorimit të autentifikimit me dy faktorë përmes pajisjeve që mbështesin protokollin , e zhvilluar nga aleanca . U2F lejon krijimin e tokenëve fizikë të lirë për të konfirmuar praninë fizike të përdoruesit, me të cilët ndërveprohet përmes USB, Bluetooth ose NFC. Këto pajisje promovohen si një mjet për autentifikimin me dy faktorë në faqe, mbështeten tashmë nga shfletuesit kryesorë dhe prodhohen nga disa prodhues, përfshirë Yubico, Feitian, Thetis dhe Kensington.
Për të bashkëpunuar me pajisjet që konfirmojnë praninë e përdoruesit, në OpenSSH janë shtuar lloje të reja çelëse «ecdsa-sk» dhe «ed25519-sk», të cilat përdorin algoritmet e nënshkrimit digjital ECDSA dhe Ed25519, në kombinim me hash-in SHA-256. Procedurat për bashkëpunimin me tokenët janë nxjerrë në një bibliotekë ndërmjetëse, e cila ngarkohet ashtu siç është biblioteka për mbështetje PKCS#11 dhe është një mbështetje për bibliotekën , e cila ofron mjete për komunikim me tokenët mbi USB (mbështeten protokollet FIDO U2F/CTAP 1 dhe FIDO 2.0/CTAP 2). Biblioteka ndërmjetëse libsk-libfido2 e përgatitur nga zhvilluesit e OpenSSH u përfshi në përbërjen kryesore të libfido2, ashtu si për OpenBSD.
PĂ«r autentifikimin dhe gjenerimin e çelĂ«sit, Ă«shtĂ« e nevojshme tĂ« specifikohet nĂ« konfigurimin parametri «SecurityKeyProvider» ose tĂ« vendoset variabla e mjedisit SSH_SK_PROVIDER, duke treguar rrugĂ«n pĂ«r nĂ« 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 mbĂ«shtetjes (âwith-security-key-builtin), nĂ« kĂ«tĂ« rast duhet tĂ« vendoset parametri «SecurityKeyProvider=internal».
Më pas duhet të nisni «ssh-keygen -t ecdsa-sk» ose, nëse çelësat tashmë janë krijuar dhe të konfiguruar, të lidheni me serverin përmes «ssh». Kur ekzekutohet ssh-keygen, çifti i përjetshëm do të ruhet në «~/ .ssh/id_ecdsa_sk» dhe mund të përdoret siç bëhet me çelësat e tjerë.
ĂelĂ«si i hapur (id_ecdsa_sk.pub) duhet tĂ« kopjohet nĂ« server nĂ« skedarin authorized_keys. Nga ana e serverit, vetĂ«m nĂ«nshkrimi digjital kontrollohet, ndĂ«rsa bashkĂ«punimi me tokenĂ«t bĂ«het nga ana e klientit (nĂ« server nuk Ă«shtĂ« e nevojshme tĂ« instalohet libsk-libfido2, por serveri duhet tĂ« mbĂ«shtesĂ« llojin e çelĂ«save «ecdsa-sk»). ĂelĂ«si i mbyllur i gjeneruar (id_ecdsa_sk) nĂ« thelb Ă«shtĂ« njĂ« dorac i çelĂ«sit, qĂ« formon çelĂ«sin e vĂ«rtetĂ« vetĂ«m nĂ« kombinim me njĂ« sekuencĂ« sekrete, e ruajtur nĂ« pajisjen e tokenit U2F. NĂ«se çelĂ«si id_ecdsa_sk pĂ«rfundon nĂ« duart e njĂ« sulmuesi, pĂ«r tĂ« kaluar autentifikimin do t'i nevojitet gjithashtu tĂ« ketĂ« akses nĂ« tokenin hardware, pa tĂ« cilin çelĂ«si i mbyllur i ruajtur nĂ« skedarin id_ecdsa_sk Ă«shtĂ« i pafuqishĂ«m.
Për më tepër, siçi parazgjedhje, gjatë kryerjes së operacioneve të çdo lloji me çelësat (si gjatë gjenerimit, ashtu edhe gjatë autentikimit) kërkohet një konfirmim lokal fizik i pranisë së përdoruesit, për shembull, ofrohet të prekë sensorin në token, i cili e vështirëson realizimin e sulmeve të largëta ndaj sistemeve me token të lidhur. Si një hap tjetër mbrojtjeje, gjatë procesit të nisjes, ssh-keygen gjithashtu mund të kërkojë një fjalëkalim për qasje në skedarin me çelësin.
Në versionin e ri të OpenSSH gjithashtu është shpallur transferimi i algoritmeve që përdorin hash SHA-1 në kategorinë e algoritmeve të vjetra, lidhur me e efikasitetit të sulmeve me kolizion me prefiks të caktuar (kostoja e gjenerimit të kolizionit është e vlerësuar rreth 45 mijë dollarë). Në një nga publikimet e afërta planifikohet që të deaktivizohet me parazgjedhje mundësia e përdorimit të algoritmit të nënshkrimit dixhital me çelësa publikë «ssh-rsa», i cili përmendet në RFC origjinal për protokollin SSH dhe vazhdon të jetë i përhapur në praktikë (për të verifikuar përdorimin e ssh-rsa në sistemet e tij, mund të provoni të lidhni nëpërmjet ssh me opsionin «-oHostKeyAlgorithms=-ssh-rsa»).
Për të lehtësuar kalimin në algoritmet e reja në OpenSSH, në një nga versionet e ardhshme, do të jetë e mundur të aktivizohet parazgjedhur konfigurimi UpdateHostKeys, i cili do të lejojë automatikisht ndërrimin e klientëve në algoritme më të sigurta. Mes algoritmeve të rekomanduara për migrim, përmenden rsa-sha2-256/512 bazuar në RFC8332 RSA SHA-2 (e mbështetur nga OpenSSH 7.2 dhe përdoret parazgjedhur), ssh-ed25519 (e mbështetur nga OpenSSH 6.5) dhe ecdsa-sha2-nistp256/384/521 bazuar në RFC5656 ECDSA (e 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 lejuara pĂ«r nĂ«nshkrimin digjital tĂ« certifikatave tĂ« reja. Po ashtu, algoritmi diffie-hellman-group14-sha1 Ă«shtĂ« hequr nga algoritmet e mbĂ«shtetura parazgjedhje pĂ«r shkĂ«mbim çelĂ«sash. Theksohet se pĂ«rdorimi i SHA-1 nĂ« certifikata Ă«shtĂ« i lidhur me rrezik shtesĂ«, pasi sulmuesi ka kohĂ« tĂ« pakufizuar pĂ«r tĂ« kĂ«rkuar njĂ« kolizion pĂ«r njĂ« certifikatĂ« ekzistuese, ndĂ«rsa koha e sulmit ndaj çelĂ«save tĂ« hostit Ă«shtĂ« e kufizuar nga skadon e lidhjes (LoginGraceTime).
GjatĂ« kryerjes sĂ« ssh-keygen, tani parazgjedhur aplikohet algoritmi rsa-sha2-512, i cili mbĂ«shtetet qĂ« nga OpenSSH 7.2, diçka qĂ« mund tĂ« krijojĂ« probleme me pĂ«rputhshmĂ«rinĂ« kur pĂ«rpiqeni tĂ« trajtoni certifikata tĂ« nĂ«nshkruara nĂ« OpenSSH 8.2 nĂ« sisteme me versione tĂ« vjetra tĂ« OpenSSH (pĂ«r tĂ« anashkaluar problemin gjatĂ« formimit tĂ« nĂ«nshkrimit, mund tĂ« specifikoni qartĂ« âssh-keygen -t ssh-rsaâ ose tĂ« pĂ«rdorni algoritmet e ecdsa-sha2-nistp256/384/521, tĂ« mbĂ«shtetura qĂ« nga OpenSSH 5.7).
Ndryshime të tjera:
- Në sshd_config është shtuar direktiva Include, e cila lejon përfshirjen e përmbajtjes së skedareve të tjera në pozitën aktuale të skedarit të konfigurimit (kur caktohet emri i skedarit, përdorimi i maskave glob është i lejueshëm);
- Në ssh-keygen është shtuar opsioni «no-touch-required», që çaktivizon nevojën për konfirmim fizik të aksesit në token gjatë gjenerimit të çelësit;
- Në sshd_config është shtuar direktiva PubkeyAuthOptions, që bashkon opsione të ndryshme të lidhura me autentifikimin me çelësa publikë. Tani mbështetet vetëm flagu «no-touch-required» për të kaluar verifikimin e pranisë fizike gjatë autorizimit me token. Po ashtu, në skedarin authorized_keys është shtuar opsioni «no-touch-required»;
- Në ssh-keygen është shtuar opsioni «-O write-attestation=/path», që lejon regjistrimin e certifikatave të tjera të atestimit FIDO gjatë gjenerimit të çelësave. OpenSSH për momentin nuk përdor këto certifikata, por ato më vonë mund të përdoren për të verifikuar vendndodhjen e çelësit në një depo të besueshme harduerike;
- Në konfigurimet e ssh dhe sshd përmes direktivës IPQoS tani është e mundur vendosja e modit të prioritetizimit të trafikut (Lower-Effort Per-Hop Behavior);
- Në ssh, kur vendoset vlera «AddKeysToAgent=yes», nëse çelësi nuk ka një fushë me koment, ai do të shtohet në ssh-agent me tregimin e rrugës si koment. Në
ssh-keygen dhe ssh-agent, si komente gjithashtu tani përdoren etiketat PKCS#11 dhe emri i subjektit X.509 në vend të rrugës për bibliotekën; - Në ssh-keygen është shtuar mundësia e eksportit PEM për çelësat DSA dhe ECDSA;
- ĂshtĂ« shtuar njĂ« skedar ekzekutues i ri ssh-sk-helper, qĂ« pĂ«rdoret pĂ«r izolimin e bibliotekĂ«s pĂ«r aksesin nĂ« tokenat FIDO/U2F;
- NĂ« ssh dhe sshd Ă«shtĂ« shtuar opsioni i ndĂ«rtimit «âwith-zlib» pĂ«r kompilimin me mbĂ«shtetje pĂ«r bibliotekĂ«n zlib;
- Në përputhje me kërkesën RFC4253, në bannerin e shfaqur gjatë lidhjes është siguruar shfaqja e një paralajmërimi për ndalimin e aksesit për shkak të tejkalimit të limiteve MaxStartups. Për të thjeshtuar diagnostikimin, në titullin e procesit sshd, i dukshëm gjatë përdorimit të utilitarit ps, është siguruar shfaqja e numrit të lidhjeve të autentikuara në atë moment dhe gjendja e limitit MaxStartups;
- NĂ« ssh dhe ssh-agent, gjatĂ« thirrjes sĂ« programit pĂ«r shfaqjen e ftesĂ«s, e cila caktohet pĂ«rmes $SSH_ASKPASS, tani gjithashtu kalon njĂ« flag me tipin e ftesĂ«s: «confirm» â dialog pĂ«r konfirmim (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, që lidhet me nënshkrimin digjital të caktuar;
- Përmirësimi i mbështetjes për izolimin e procesit sshd në Linux përmes mekanizmit seccomp: janë ndaluar thirrjet sistematike IPC, janë lejuar clock_gettime64(), clock_nanosleep_time64 dhe clock_nanosleep().
Burimi: opennet.ru
