Ħruġ ta' OpenSSH 8.2 b'appoġġ għal tokens ta' awtentikazzjoni b'żewġ fatturi FIDO/U2F

Wara erba’ xhur ta’ żvilupp ippreżentata rilaxx OpenSSH 8.2, implimentazzjoni ta' klijent u server miftuħ biex taħdem permezz tal-protokolli SSH 2.0 u SFTP.

Titjib ewlieni fir-rilaxx ta 'OpenSSH 8.2 kien il-kapaċità li tuża awtentikazzjoni b'żewġ fatturi bl-użu ta' apparati li jappoġġjaw il-protokoll U2F, żviluppat mill-alleanza Fido. U2F jippermetti l-ħolqien ta 'tokens hardware bi prezz baxx biex jivverifikaw il-preżenza fiżika tal-utent, jinteraġixxu magħhom permezz ta' USB, Bluetooth jew NFC. Apparat bħal dan huwa promoss bħala mezz ta 'awtentikazzjoni b'żewġ fatturi fuq websajts, diġà huma appoġġjati minn browsers ewlenin u huma prodotti minn diversi manifatturi, inklużi Yubico, Feitian, Thetis u Kensington.

Biex jinteraġixxu ma 'apparat li jikkonferma l-preżenza tal-utent, ġew miżjuda tipi ewlenin ġodda "ecdsa-sk" u "ed25519-sk" ma' OpenSSH, li jużaw l-algoritmi tal-firma diġitali ECDSA u Ed25519, flimkien mal-hash SHA-256. Il-proċeduri għall-interazzjoni mat-tokens jitqiegħdu f'librerija intermedja, li titgħabba b'mod simili għall-librerija għall-appoġġ PKCS#11 u hija tgeżwir fuq il-librerija libfido2, li jipprovdi għodod għall-komunikazzjoni ma 'tokens fuq USB (protokolli FIDO U2F/CTAP 1 u FIDO 2.0/CTAP 2 huma appoġġjati). Librerija intermedja libsk-libfido2 ippreparata mill-iżviluppaturi OpenSSH inklużi fil-qalba libfido2, kif ukoll Sewwieq HID għal OpenBSD.

Biex tawtentika u tiġġenera ċavetta, trid tispeċifika l-parametru "SecurityKeyProvider" fis-settings jew issettja l-varjabbli tal-ambjent SSH_SK_PROVIDER, li tindika t-triq għal-librerija esterna libsk-libfido2.so (esportazzjoni SSH_SK_PROVIDER=/path/to/libsk-libfido2. hekk). Huwa possibbli li tinbena openssh b'appoġġ integrat għal-librerija tas-saff (--with-security-key-builtin), f'dan il-każ għandek bżonn tissettja l-parametru "SecurityKeyProvider=internal".
Sussegwentement trid tħaddem "ssh-keygen -t ecdsa-sk" jew, jekk iċ-ċwievet diġà ġew maħluqa u kkonfigurati, qabbad mas-server billi tuża "ssh". Meta tħaddem ssh-keygen, il-par taċ-ċwievet iġġenerat jiġi ssejvjat fi "~/.ssh/id_ecdsa_sk" u jista' jintuża b'mod simili għal ċwievet oħra.

Iċ-ċavetta pubblika (id_ecdsa_sk.pub) għandha tiġi kkupjata fis-server fil-fajl authorized_keys. Fuq in-naħa tas-server, il-firma diġitali biss hija vverifikata, u l-interazzjoni mat-tokens titwettaq fuq in-naħa tal-klijent (m'għandekx bżonn tinstalla libsk-libfido2 fuq is-server, iżda s-server għandu jappoġġja t-tip ta 'ċavetta "ecdsa-sk"). . Iċ-ċavetta privata ġġenerata (id_ecdsa_sk) hija essenzjalment manku taċ-ċavetta, li tifforma ċavetta reali biss flimkien mas-sekwenza sigrieta maħżuna fuq in-naħa tat-token U2F. Jekk iċ-ċavetta id_ecdsa_sk taqa 'f'idejn attakkant, biex jgħaddi l-awtentikazzjoni huwa jeħtieġ ukoll li jikseb aċċess għat-token tal-ħardwer, li mingħajru ċ-ċavetta privata maħżuna fil-fajl id_ecdsa_sk tkun inutli.

Barra minn hekk, b'mod awtomatiku, meta twettaq kwalunkwe operazzjoni biċ-ċwievet (kemm waqt il-ġenerazzjoni kif ukoll waqt l-awtentikazzjoni), hija meħtieġa konferma lokali tal-preżenza fiżika tal-utent, pereżempju, huwa propost li tmiss is-sensor fuq it-token, li jagħmilha diffiċli biex twettaq attakki mill-bogħod fuq sistemi b'token konness. Bħala linja ta 'difiża oħra, password tista' tiġi speċifikata wkoll matul il-fażi tal-istartjar ta 'ssh-keygen biex taċċessa l-fajl taċ-ċavetta.

Il-verżjoni l-ġdida ta’ OpenSSH ħabbret ukoll it-tneħħija li jmiss tal-algoritmi li jużaw hashes SHA-1 minħabba promozzjoni l-effettività tal-attakki ta 'ħabta bi prefiss partikolari (l-ispiża tal-għażla ta' ħabta hija stmata għal madwar 45 elf dollaru). F'wieħed mir-rilaxxi li ġejjin, huma jippjanaw li jiskonnettjaw awtomatikament l-abbiltà li jużaw l-algoritmu tal-firma diġitali taċ-ċavetta pubblika "ssh-rsa", li huwa msemmi fl-RFC oriġinali għall-protokoll SSH u jibqa' mifrux fil-prattika (biex jittestja l-użu ta’ ssh-rsa fis-sistemi tiegħek, tista’ tipprova tikkonnettja permezz ta’ ssh bl-għażla “-oHostKeyAlgorithms=-ssh-rsa”).

Biex ittejjeb it-tranżizzjoni għal algoritmi ġodda f'OpenSSH, f'rilaxx futur se jkun attivat l-issettjar UpdateHostKeys awtomatikament, li awtomatikament jemigra lill-klijenti għal algoritmi aktar affidabbli. Algoritmi rakkomandati għall-migrazzjoni jinkludu rsa-sha2-256/512 ibbażati fuq RFC8332 RSA SHA-2 (sostnjati minn OpenSSH 7.2 u użati b'mod awtomatiku), ssh-ed25519 (appoġġati minn OpenSSH 6.5) u ecdsa-sha2-nistp256/384 based/521/5656 fuq RFC5.7 ECDSA (appoġġjat minn OpenSSH XNUMX).

F'OpenSSH 8.2, il-kapaċità ta 'konnessjoni bl-użu ta' "ssh-rsa" għadha disponibbli, iżda dan l-algoritmu tneħħa mil-lista CASignatureAlgorithms, li tiddefinixxi l-algoritmi permessi għall-iffirmar diġitali ta 'ċertifikati ġodda. Bl-istess mod, l-algoritmu diffie-hellman-group14-sha1 tneħħa mill-algoritmi tal-iskambju taċ-ċavetta default appoġġjati. Ta’ min jinnota li l-użu ta’ SHA-1 fiċ-ċertifikati huwa assoċjat ma’ riskju addizzjonali, peress li l-attakkant għandu żmien illimitat biex ifittex ħabta għal ċertifikat eżistenti, filwaqt li l-ħin tal-attakk fuq iċ-ċwievet tal-host huwa limitat mill-ħin tal-konnessjoni (LoginGraceTime ).

It-tħaddim ta' ssh-keygen issa jaqbad l-algoritmu rsa-sha2-512, li huwa appoġġjat minn OpenSSH 7.2, li jista' joħloq kwistjonijiet ta' kompatibilità meta jipprova jipproċessa ċertifikati ffirmati f'OpenSSH 8.2 fuq sistemi li jmexxu rilaxxi OpenSSH eqdem (biex taħdem madwar il-kwistjoni meta Meta tiġġenera firma, tista 'tispeċifika espliċitament "ssh-keygen -t ssh-rsa" jew tuża l-algoritmi ecdsa-sha2-nistp256/384/521, appoġġjati minn OpenSSH 5.7).

Bidliet oħra:

  • Direttiva Inkludi ġiet miżjuda ma 'sshd_config, li tippermettilek li tinkludi l-kontenut ta' fajls oħra fil-pożizzjoni attwali tal-fajl ta 'konfigurazzjoni (jistgħu jintużaw maskri globu meta tispeċifika l-isem tal-fajl);
  • L-għażla "no-touch-required" ġiet miżjuda ma 'ssh-keygen, li tiddiżattiva l-ħtieġa li tikkonferma fiżikament l-aċċess għat-token meta tiġġenera ċ-ċavetta;
  • Direttiva PubkeyAuthOptions ġiet miżjuda ma' sshd_config, li tgħaqqad diversi għażliet relatati mal-awtentikazzjoni taċ-ċavetta pubblika. Bħalissa, il-bandiera "mingħajr mess meħtieġ" biss hija appoġġjata biex taqbeż il-kontrolli tal-preżenza fiżika għall-awtentikazzjoni tat-token. B'analoġija, l-għażla "no-touch-required" ġiet miżjuda mal-fajl authorized_keys;
  • Miżjud għażla "-O write-attestation=/path" għal ssh-keygen biex tippermetti li jinkitbu ċertifikati addizzjonali ta' attestazzjoni FIDO meta jiġu ġġenerati ċwievet. OpenSSH għadu ma jużax dawn iċ-ċertifikati, iżda aktar tard jistgħu jintużaw biex jivverifikaw li ċ-ċavetta titqiegħed f'ħardwer fdat;
  • Fis-settings ssh u sshd, issa huwa possibbli li tissettja l-mod ta' prijoritizzazzjoni tat-traffiku permezz tad-direttiva IPQoS LE DSCP (Imġieba ta' Sforz Inferjuri Per-Ħops);
  • F'ssh, meta tissettja l-valur "AddKeysToAgent=iva", jekk iċ-ċavetta ma fihiex qasam ta' kumment, se tkun miżjuda ma' ssh-agent li tindika t-triq għaċ-ċavetta bħala kumment. IN
    ssh-keygen u ssh-agent issa wkoll jużaw tikketti PKCS#11 u l-isem tas-suġġett X.509 minflok il-mogħdija tal-librerija bħala kummenti fiċ-ċavetta;

  • Miżjud l-abbiltà li tesporta PEM għal ċwievet DSA u ECDSA għal ssh-keygen;
  • Miżjud eżekutibbli ġdid, ssh-sk-helper, użat biex iżola l-librerija tal-aċċess tat-tokens FIDO/U2F;
  • Miżjud "--with-zlib" build għażla għal ssh u sshd għall-kumpilazzjoni bl-appoġġ tal-librerija zlib;
  • Skont ir-rekwiżit ta 'RFC4253, twissija dwar l-imblukkar tal-aċċess minħabba li jinqabżu l-limiti MaxStartups hija pprovduta fil-banner murija waqt il-konnessjoni. Biex tissimplifika d-dijanjostika, l-header tal-proċess sshd, viżibbli meta tuża l-utilità ps, issa turi n-numru ta 'konnessjonijiet awtentikati bħalissa u l-istatus tal-limitu MaxStartups;
  • F'ssh u ssh-agent, meta ssejjaħ programm biex juri stedina fuq l-iskrin, speċifikata permezz ta' $SSH_ASKPASS, issa tiġi trażmessa bandiera bit-tip ta' stedina b'mod addizzjonali: "ikkonferma" - djalogu ta' konferma (iva/le), "xejn ” - messaġġ informattiv, “vojt” — talba għal password;
  • Żid operazzjoni ġdida ta' firem diġitali "find-principals" ma' ssh-keygen biex tfittex il-fajl tal-firmatarji permessi għall-utent assoċjat ma' firma diġitali speċifikata;
  • Appoġġ imtejjeb għall-iżolament tal-proċess sshd fuq Linux bl-użu tal-mekkaniżmu seccomp: id-diżattivazzjoni tas-sejħiet tas-sistema IPC, li tippermetti clock_gettime64(), clock_nanosleep_time64 u clock_nanosleep().

Sors: opennet.ru

Żid kumment