Sgaoileadh OpenSSH 8.2 le taic airson comharran dearbhaidh dà-fhactaraidh FIDO / U2F

Às deidh ceithir mìosan de leasachadh air a thaisbeanadh leigeil ma sgaoil OpenSSH 8.2, cleachdaiche fosgailte agus buileachadh frithealaiche airson a bhith ag obair tro phròtacalan SSH 2.0 agus SFTP.

B’ e prìomh leasachadh ann an sgaoileadh OpenSSH 8.2 an comas dearbhadh dà-fhactaraidh a chleachdadh a’ cleachdadh innealan a bheir taic don phròtacal U2F, air a leasachadh leis a’ chaidreachas FIDO. Tha U2F a’ ceadachadh comharran bathar-cruaidh cosgais ìosal a chruthachadh gus dearbhadh gu bheil làthaireachd corporra an neach-cleachdaidh, ag eadar-obrachadh leotha tro USB, Bluetooth no NFC. Tha innealan mar seo air an adhartachadh mar dhòigh air dearbhadh dà-fhactaraidh air làraich-lìn, tha iad mar-thà a’ faighinn taic bho phrìomh bhrobhsairean agus air an toirt a-mach le diofar luchd-saothrachaidh, nam measg Yubico, Feitian, Thetis agus Kensington.

Gus eadar-obrachadh le innealan a dhearbhas làthaireachd an neach-cleachdaidh, chaidh prìomh sheòrsan ùra “ecdsa-sk” agus “ed25519-sk” a chur ri OpenSSH, a bhios a’ cleachdadh algorithms ainm-sgrìobhte didseatach ECDSA agus Ed25519, còmhla ris an hash SHA-256. Tha dòighean-obrach airson eadar-obrachadh le comharran air an cur ann an leabharlann eadar-mheadhanach, a tha air a luchdachadh san aon dòigh ris an leabharlann airson taic PKCS #11 agus a tha na phasgan air mullach an leabharlainn leabhar 2, a bheir seachad innealan airson conaltradh le comharran thairis air USB (tha taic ri protocolaidhean FIDO U2F / CTAP 1 agus FIDO 2.0 / CTAP 2). Leabharlann meadhanach libsk-libfido2 air ullachadh le luchd-leasachaidh OpenSSH air a thoirt a-steach a-steach don phrìomh libfido2, a bharrachd air Driver airson HID airson OpenBSD.

Gus iuchair a dhearbhadh agus a ghineadh, feumaidh tu am paramadair “SecurityKeyProvider” a shònrachadh anns na roghainnean no an caochladair àrainneachd SSH_SK_PROVIDER a shuidheachadh, a’ comharrachadh na slighe chun leabharlann taobh a-muigh libsk-libfido2.so (às-mhalairt SSH_SK_PROVIDER =/path/to/libsk-libfido2. mar sin). Tha e comasach openssh a thogail le taic togte airson an leabharlann còmhdach (--with-security-key-builtin), sa chùis seo feumaidh tu am paramadair “SecurityKeyProvider = taobh a-staigh” a shuidheachadh.
An uairsin feumaidh tu “ssh-keygen -t ecdsa-sk” a ruith no, ma tha na h-iuchraichean air an cruthachadh agus air an rèiteachadh mu thràth, ceangail ris an fhrithealaiche a ’cleachdadh“ ssh ”. Nuair a ruitheas tu ssh-keygen, thèid am paidhir iuchrach a chaidh a chruthachadh a shàbhaladh ann an “~/.ssh/id_ecdsa_sk” agus faodar a chleachdadh san aon dòigh ri iuchraichean eile.

Bu chòir an iuchair phoblach (id_ecdsa_sk.pub) a chopaigeadh dhan fhrithealaiche san fhaidhle ùghdarraichte_keys. Air taobh an fhrithealaiche, chan eil ach an ainm-sgrìobhte didseatach air a dhearbhadh, agus tha eadar-obrachadh le comharran air a dhèanamh air taobh an neach-dèiligidh (chan fheum thu libsk-libfido2 a stàladh air an fhrithealaiche, ach feumaidh am frithealaiche taic a thoirt don phrìomh sheòrsa “ecdsa-sk”) . Tha an iuchair phrìobhaideach a chaidh a ghineadh (id_ecdsa_sk) gu ìre mhòr na phrìomh làimhseachadh, a’ cruthachadh fìor iuchair a-mhàin an co-bhonn ris an t-sreath dhìomhair a tha air a stòradh air taobh tòcan U2F. Ma thuiteas an iuchair id_ecdsa_sk a-steach do làmhan neach-ionnsaigh, gus dearbhadh a thoirt seachad feumaidh e cuideachd cothrom fhaighinn air comharra a’ bhathar-chruaidh, às aonais sin tha an iuchair phrìobhaideach a tha air a stòradh san fhaidhle id_ecdsa_sk gun fheum.

A bharrachd air an sin, gu gnàthach, nuair a bhios tu a ’dèanamh gnìomhachd sam bith le iuchraichean (an dà chuid rè ginealach agus rè dearbhaidh), tha feum air dearbhadh ionadail air làthaireachd corporra an neach-cleachdaidh, mar eisimpleir, thathas a’ moladh suathadh air an sensor air an tòcan, a tha ga dhèanamh duilich ionnsaighean iomallach a dhèanamh air siostaman le comharra ceangailte. Mar loidhne dìon eile, faodar facal-faire a shònrachadh cuideachd aig ìre tòiseachaidh ssh-keygen gus faighinn chun phrìomh fhaidhle.

Dh’ ainmich an dreach ùr de OpenSSH cuideachd an ìsleachadh a tha ri thighinn air algorithms a’ cleachdadh hashes SHA-1 ri linn brosnachadh èifeachdas ionnsaighean tubaist le ro-leasachan sònraichte (tha cosgais taghadh tubaist air a mheas aig timcheall air 45 mìle dolar). Ann an aon de na fiosan a tha ri thighinn, tha iad an dùil a bhith comasach air an algairim ainm-sgrìobhte didseatach iuchair phoblach “ssh-rsa” a chleachdadh, a tha air ainmeachadh anns an RFC tùsail airson protocol SSH agus a tha fhathast farsaing ann an cleachdadh (gus an cleachdadh a dhearbhadh. de ssh-rsa anns na siostaman agad, faodaidh tu feuchainn ri ceangal tro ssh leis an roghainn “-oHostKeyAlgorithms = -ssh-rsa”).

Gus an gluasad gu algorithms ùra ann an OpenSSH a dhèanamh rèidh, ann am brath san àm ri teachd bidh an suidheachadh UpdateHostKeys air a chomasachadh gu bunaiteach, a ghluaiseas teachdaichean gu fèin-ghluasadach gu algorithms nas earbsaiche. Tha algorithms a thathar a’ moladh airson imrich a’ toirt a-steach rsa-sha2-256/512 stèidhichte air RFC8332 RSA SHA-2 (le taic bho OpenSSH 7.2 agus air a chleachdadh gu bunaiteach), ssh-ed25519 (le taic bho OpenSSH 6.5) agus ecdsa-sha2-nistp256/384/521 stèidhichte air RFC5656 ECDSA (le taic bho OpenSSH 5.7).

Ann an OpenSSH 8.2, tha an comas ceangal a dhèanamh le bhith a’ cleachdadh “ssh-rsa” fhathast ri fhaighinn, ach chaidh an algairim seo a thoirt air falbh bhon liosta CASignatureAlgorithms, a tha a’ mìneachadh na h-algorithms a tha ceadaichte airson teisteanasan ùra a shoidhnigeadh gu didseatach. San aon dòigh, chaidh an algairim diffie-hellman-group14-sha1 a thoirt air falbh bho na h-algorithms iomlaid bunaiteach le taic. Thathas a’ toirt fa-near gu bheil cleachdadh SHA-1 ann an teisteanasan co-cheangailte ri cunnart a bharrachd, leis gu bheil ùine gun chrìoch aig an neach-ionnsaigh airson tubaist a lorg airson teisteanas a tha ann mar-thà, fhad ‘s a tha an ùine ionnsaigh air iuchraichean aoigheachd cuingealaichte leis an ùine ceangail (LoginGraceTime ).

Tha ruith ssh-keygen a-nis a’ dol a-steach don algairim rsa-sha2-512, a tha a’ faighinn taic bho OpenSSH 7.2, a dh’ fhaodadh cùisean co-chòrdalachd a chruthachadh nuair a thathar a’ feuchainn ri teisteanasan soidhnichte ann an OpenSSH 8.2 a phròiseasadh air siostaman a tha a’ ruith fiosan OpenSSH nas sine (gus obrachadh timcheall air a’ chùis nuair a’ gineadh ainm-sgrìobhte, faodaidh tu “ssh-keygen -t ssh-rsa” a shònrachadh gu soilleir no na h-algorithms ecdsa-sha2-nistp256/384/521 a chleachdadh, le taic bho OpenSSH 5.7).

Atharraichean eile:

  • Chaidh stiùireadh In-ghabhail a chur ri sshd_config, a leigeas leat susbaint fhaidhlichean eile a thoirt a-steach aig suidheachadh làithreach an fhaidhle rèiteachaidh (faodar masgaichean glob a chleachdadh nuair a bhios tu a’ sònrachadh ainm an fhaidhle);
  • Chaidh an roghainn “no-touch-required” a chur ri ssh-keygen, a tha a’ cur às don fheum air ruigsinneachd air an tòcan a dhearbhadh gu corporra nuair a thathar a’ gineadh an iuchair;
  • Chaidh stiùireadh PubkeyAuthOptions a chur ri sshd_config, a tha a’ cothlamadh diofar roghainnean co-cheangailte ri dearbhadh iuchair phoblach. An-dràsta, chan eil ach a’ bhratach “no-touch-required” a’ faighinn taic gus a dhol thairis air sgrùdaidhean làthaireachd corporra airson dearbhadh tòcan. Mar an ceudna, chaidh an roghainn “no-touch-required” a chur ris an fhaidhle ùghdarraichte_keys;
  • Chaidh roghainn “-O write-attestation =/path” a chur ris ri ssh-keygen gus cead a thoirt do theisteanasan teisteanais FIDO a bharrachd a bhith air an sgrìobhadh nuair a thathar a’ gineadh iuchraichean. Chan eil OpenSSH a’ cleachdadh nan teisteanasan sin fhathast, ach faodar an cleachdadh nas fhaide air adhart gus dearbhadh gu bheil an iuchair air a cur ann an stòr bathar-cruaidh earbsach;
  • Anns na roghainnean ssh agus sshd, tha e comasach a-nis am modh prìomhachais trafaic a shuidheachadh tro stiùireadh IPQoS LE DSCP (Giùlan Per-Hop oidhirp nas ìsle);
  • Ann an ssh, nuair a shuidhicheas tu an luach “AddKeysToAgent = tha”, mura h-eil raon beachdachaidh san iuchair, thèid a chur ri ssh-agent a’ comharrachadh slighe na h-iuchrach mar bheachd. ANNS
    cleachdaidh ssh-keygen agus ssh-agent cuideachd bileagan PKCS#11 agus ainm cuspair X.509 an àite slighe an leabharlainn mar bheachdan san iuchair;

  • Chuir sinn ris a’ chomas air PEM às-mhalairt airson iuchraichean DSA agus ECDSA gu ssh-keygen;
  • Chuir sinn ris inneal-cuideachaidh ùr so-ghnìomhaichte, ssh-sk-helper, a chleachdar gus an leabharlann ruigsinneachd comharran FIDO/U2F a sgaradh;
  • Chaidh roghainn togail “--with-zlib” a chuir ris gu ssh agus sshd airson a chuir ri chèile le taic leabharlann zlib;
  • A rèir riatanas RFC4253, tha rabhadh mu bhacadh ruigsinneachd mar thoradh air a bhith nas àirde na crìochan MaxStartups air a thoirt seachad sa bhratach a tha air a thaisbeanadh aig àm ceangail. Gus diagnosachd a dhèanamh nas sìmplidhe, tha bann-cinn pròiseas sshd, a chithear nuair a bhios tu a’ cleachdadh ps utility, a-nis a’ taisbeanadh an àireamh de cheanglaichean dearbhte an-dràsta agus inbhe crìoch MaxStartups;
  • Ann an ssh agus ssh-agent, nuair a chuireas tu fios gu prògram gus cuireadh a thaisbeanadh air an sgrion, air a shònrachadh tro $ SSH_ASKPASS, tha bratach leis an t-seòrsa cuireadh a-nis air a ghluasad a bharrachd: “dearbhaich” - còmhradh dearbhaidh (tha / chan eil), “chan eil gin ” - teachdaireachd fiosrachaidh, “bàn” - iarrtas facal-faire;
  • Chuir sinn gnìomh ainm-sgrìobhte didseatach ùr “find-principals” ri ssh-keygen gus am faidhle soidhnidh ceadaichte a sgrùdadh airson an neach-cleachdaidh co-cheangailte ri ainm-sgrìobhte didseatach ainmichte;
  • Taic nas fheàrr airson iomallachd pròiseas sshd air Linux a’ cleachdadh an uidheamachd seccomp: a’ cuir dheth fiosan siostam IPC, a’ ceadachadh clock_gettime64 (), clock_nanosleep_time64 agus clock_nanosleep ().

Source: fosgailtenet.ru

Cuir beachd ann