ProHoster > OpenSSH 8.2 izlaiÅ”ana ar FIDO/U2F divu faktoru autentifikÄcijas marÄ·ieru atbalstu
OpenSSH 8.2 izlaiÅ”ana ar FIDO/U2F divu faktoru autentifikÄcijas marÄ·ieru atbalstu
PÄc Äetru mÄneÅ”u attÄ«stÄ«bas uzrÄdÄ«ts atbrÄ«vot OpenSSH 8.2, atvÄrta klienta un servera ievieÅ”ana darbam, izmantojot SSH 2.0 un SFTP protokolus.
Galvenais OpenSSH 8.2 izlaiduma uzlabojums bija iespÄja izmantot divu faktoru autentifikÄciju, izmantojot ierÄ«ces, kas atbalsta protokolu U2F, ko izstrÄdÄjusi alianse FIDO. U2F ļauj izveidot zemu izmaksu aparatÅ«ras marÄ·ierus, lai pÄrbaudÄ«tu lietotÄja fizisko klÄtbÅ«tni, mijiedarbojoties ar tiem, izmantojot USB, Bluetooth vai NFC. Å Ädas ierÄ«ces vietnÄs tiek reklamÄtas kÄ divu faktoru autentifikÄcijas lÄ«dzeklis, tÄs jau atbalsta lielÄkÄs pÄrlÅ«kprogrammas, un tÄs ražo dažÄdi ražotÄji, tostarp Yubico, Feitian, Thetis un Kensington.
Lai mijiedarbotos ar ierÄ«cÄm, kas apstiprina lietotÄja klÄtbÅ«tni, OpenSSH ir pievienoti jauni atslÄgu veidi āecdsa-skā un āed25519-skā, kas izmanto ECDSA un Ed25519 digitÄlÄ paraksta algoritmus, apvienojumÄ ar SHA-256 jaucÄjfunkciju. ProcedÅ«ras mijiedarbÄ«bai ar marÄ·ieriem tiek ievietotas starpbibliotÄkÄ, kas tiek ielÄdÄta lÄ«dzÄ«gi kÄ bibliotÄka PKCS#11 atbalstam un ir bibliotÄkas augÅ”pusÄ esoÅ”ais iesaiÅojums. libfido2, kas nodroÅ”ina rÄ«kus saziÅai ar marÄ·ieriem, izmantojot USB (tiek atbalstÄ«ti FIDO U2F/CTAP 1 un FIDO 2.0/CTAP 2 protokoli). Starpposma bibliotÄka libsk-libfido2, ko sagatavojuÅ”i OpenSSH izstrÄdÄtÄji iekļauts libfido2 kodolÄ, kÄ arÄ« HID draiveris priekÅ” OpenBSD.
Lai autentificÄtu un Ä£enerÄtu atslÄgu, iestatÄ«jumos ir jÄnorÄda parametrs āSecurityKeyProviderā vai jÄiestata vides mainÄ«gais SSH_SK_PROVIDER, norÄdot ceļu uz ÄrÄjo bibliotÄku libsk-libfido2.so (eksportÄt SSH_SK_PROVIDER=/path/to/libsk-libfido2. tÄtad). Ir iespÄjams izveidot openssh ar iebÅ«vÄtu slÄÅu bibliotÄkas atbalstu (--with-security-key-builtin), Å”ajÄ gadÄ«jumÄ ir jÄiestata parametrs āSecurityKeyProvider=internalā.
TÄlÄk jums jÄpalaiž āssh-keygen -t ecdsa-skā vai, ja atslÄgas jau ir izveidotas un konfigurÄtas, izveidojiet savienojumu ar serveri, izmantojot āsshā. Palaižot ssh-keygen, Ä£enerÄtais atslÄgu pÄris tiks saglabÄts mapÄ ~/.ssh/id_ecdsa_sk un to var izmantot lÄ«dzÄ«gi kÄ citas atslÄgas.
PubliskÄ atslÄga (id_ecdsa_sk.pub) ir jÄpÄrkopÄ uz serveri Author_keys failÄ. Servera pusÄ tiek pÄrbaudÄ«ts tikai ciparparaksts, un klienta pusÄ tiek veikta mijiedarbÄ«ba ar marÄ·ieriem (serverÄ« nav jÄinstalÄ libsk-libfido2, bet serverim jÄatbalsta atslÄgas veids āecdsa-skā). . Ä¢enerÄtÄ privÄtÄ atslÄga (id_ecdsa_sk) bÅ«tÄ«bÄ ir atslÄgas rokturis, kas veido Ä«stu atslÄgu tikai kombinÄcijÄ ar U2F marÄ·iera pusÄ saglabÄto slepeno secÄ«bu. Ja atslÄga id_ecdsa_sk nokļūst uzbrucÄja rokÄs, lai nokÄrtotu autentifikÄciju, viÅam bÅ«s jÄpiekļūst arÄ« aparatÅ«ras marÄ·ierim, bez kura id_ecdsa_sk failÄ saglabÄtÄ privÄtÄ atslÄga ir bezjÄdzÄ«ga.
TurklÄt pÄc noklusÄjuma, veicot jebkÄdas darbÄ«bas ar atslÄgÄm (gan Ä£enerÄÅ”anas, gan autentifikÄcijas laikÄ), ir nepiecieÅ”ams lokÄls lietotÄja fiziskÄs klÄtbÅ«tnes apstiprinÄjums, piemÄram, tiek piedÄvÄts pieskarties sensoram uz marÄ·iera, kas apgrÅ«tina veikt attÄlinÄtus uzbrukumus sistÄmÄm ar pievienotu pilnvaru. KÄ vÄl vienu aizsardzÄ«bas lÄ«niju ssh-keygen startÄÅ”anas fÄzÄ var norÄdÄ«t arÄ« paroli, lai piekļūtu atslÄgas failam.
JaunÄ OpenSSH versija arÄ« paziÅoja par gaidÄmo algoritmu novecoÅ”anu, izmantojot SHA-1 jaucÄjus, jo veicinÄÅ”anu sadursmes uzbrukumu efektivitÄte ar noteiktu prefiksu (sadursmes izvÄles izmaksas tiek lÄstas aptuveni 45 tÅ«kstoÅ”u dolÄru apmÄrÄ). VienÄ no gaidÄmajiem laidieniem viÅi plÄno pÄc noklusÄjuma atspÄjot iespÄju izmantot ssh-rsa publiskÄs atslÄgas digitÄlÄ paraksta algoritmu, kas ir minÄts sÄkotnÄjÄ RFC SSH protokolam un joprojÄm ir plaÅ”i izplatÄ«ts praksÄ (lai pÄrbaudÄ«tu ssh izmantoÅ”anu -rsa savÄs sistÄmÄs, varat mÄÄ£inÄt izveidot savienojumu, izmantojot ssh, izmantojot opciju "-oHostKeyAlgorithms=-ssh-rsa").
Lai vienmÄrÄ«gi pÄrietu uz jauniem OpenSSH algoritmiem, nÄkamajÄ laidienÄ pÄc noklusÄjuma tiks iespÄjots iestatÄ«jums UpdateHostKeys, kas automÄtiski migrÄs klientus uz uzticamÄkiem algoritmiem. Ieteicamie migrÄcijas algoritmi ietver rsa-sha2-256/512, pamatojoties uz RFC8332 RSA SHA-2 (tiek atbalstÄ«ts kopÅ” OpenSSH 7.2 un tiek izmantots pÄc noklusÄjuma), ssh-ed25519 (atbalstÄ«ts kopÅ” OpenSSH 6.5) un ecdsa-sha2-nistp256/384. uz RFC521 ECDSA (atbalstÄ«ts kopÅ” OpenSSH 5656).
OperÄtÄjsistÄmÄ OpenSSH 8.2 joprojÄm ir pieejama iespÄja izveidot savienojumu, izmantojot āssh-rsaā, taÄu Å”is algoritms ir izÅemts no CASignatureAlgorithms saraksta, kas nosaka algoritmus, kas ir atļauti jaunu sertifikÄtu digitÄlai parakstÄ«Å”anai. LÄ«dzÄ«gi algoritms diffie-hellman-group14-sha1 ir noÅemts no noklusÄjuma atbalstÄ«tajiem atslÄgu apmaiÅas algoritmiem. Tiek atzÄ«mÄts, ka SHA-1 izmantoÅ”ana sertifikÄtos ir saistÄ«ta ar papildu risku, jo uzbrucÄjam ir neierobežots laiks, lai meklÄtu esoÅ”a sertifikÄta sadursmi, savukÄrt uzbrukuma laiku resursdatora atslÄgÄm ierobežo savienojuma taimauts (LoginGraceTime ).
Palaižot ssh-keygen, tagad pÄc noklusÄjuma tiek izmantots rsa-sha2-512 algoritms, kas tiek atbalstÄ«ts kopÅ” OpenSSH 7.2, kas var radÄ«t saderÄ«bas problÄmas, mÄÄ£inot apstrÄdÄt OpenSSH 8.2 parakstÄ«tos sertifikÄtus sistÄmÄs, kurÄs darbojas vecÄki OpenSSH laidieni (lai apietu problÄmu, kad Ä£enerÄjot parakstu, varat skaidri norÄdÄ«t āssh-keygen -t ssh-rsaā vai izmantot ecdsa-sha2-nistp256/384/521 algoritmus, kas tiek atbalstÄ«ti kopÅ” OpenSSH 5.7).
Citas izmaiÅas:
sshd_config ir pievienota Include direktÄ«va, kas ļauj iekļaut citu failu saturu paÅ”reizÄjÄ konfigurÄcijas faila pozÄ«cijÄ (norÄdot faila nosaukumu, var izmantot glob maskas);
Ssh-keygen ir pievienota opcija āno-touch-requiredā, kas atspÄjo nepiecieÅ”amÄ«bu fiziski apstiprinÄt piekļuvi marÄ·ierim, Ä£enerÄjot atslÄgu;
Vietnei sshd_config ir pievienota PubkeyAuthOptions direktÄ«va, kas apvieno dažÄdas ar publiskÄs atslÄgas autentifikÄciju saistÄ«tas opcijas. PaÅ”laik tiek atbalstÄ«ts tikai karodziÅÅ” ābez pieskÄrienaā, lai izlaistu fiziskÄs klÄtbÅ«tnes pÄrbaudes pilnvaras autentifikÄcijai. PÄc analoÄ£ijas failam authorised_keys ir pievienota opcija āno-touch-requiredā;
Pievienota opcija "-O write-attestation=/path" ssh-keygen, lai ļautu rakstÄ«t papildu FIDO atestÄcijas sertifikÄtus, Ä£enerÄjot atslÄgas. OpenSSH Å”os sertifikÄtus vÄl neizmanto, taÄu vÄlÄk tos var izmantot, lai pÄrbaudÄ«tu, vai atslÄga ir ievietota uzticamÄ datortehnikas veikalÄ;
Ssh un sshd iestatÄ«jumos tagad ir iespÄjams iestatÄ«t trafika prioritÄÅ”u režīmu, izmantojot IPQoS direktÄ«vu LE DSCP (mazÄkas piepÅ«les uz apiÅu uzvedÄ«ba);
Ssh, iestatot vÄrtÄ«bu āAddKeysToAgent=yesā, ja atslÄga nesatur komentÄra lauku, tÄ tiks pievienota ssh-agent, norÄdot ceļu uz atslÄgu kÄ komentÄru. IN
ssh-keygen un ssh-agent arÄ« tagad izmanto PKCS#11 etiÄ·etes un X.509 tÄmas nosaukumu, nevis bibliotÄkas ceļu kÄ komentÄrus atslÄgÄ;
Pievienota iespÄja eksportÄt PEM DSA un ECDSA atslÄgÄm uz ssh-keygen;
Pievienots jauns izpildÄmais fails ssh-sk-helper, ko izmanto, lai izolÄtu FIDO/U2F marÄ·iera piekļuves bibliotÄku;
Pievienota ā--with-zlibā veidoÅ”anas opcija ssh un sshd kompilÄÅ”anai ar zlib bibliotÄkas atbalstu;
SaskaÅÄ ar RFC4253 prasÄ«bu, savienojuma laikÄ redzamajÄ reklÄmkarogÄ tiek sniegts brÄ«dinÄjums par piekļuves bloÄ·ÄÅ”anu MaxStartups ierobežojumu pÄrsniegÅ”anas dÄļ. Lai vienkÄrÅ”otu diagnostiku, sshd procesa galvene, kas ir redzama, izmantojot utilÄ«tu ps, tagad parÄda paÅ”laik autentificÄto savienojumu skaitu un MaxStartups limita statusu;
ProgrammÄ ssh un ssh-agent, izsaucot programmu, lai ekrÄnÄ parÄdÄ«tu uzaicinÄjumu, kas norÄdÄ«ts, izmantojot $SSH_ASKPASS, tagad tiek papildus pÄrsÅ«tÄ«ts karodziÅÅ” ar ielÅ«guma veidu: āapstiprinÄtā - apstiprinÄjuma dialoglodziÅÅ” (jÄ/nÄ), ānav. ā - informatÄ«vs ziÅojums, "tukÅ”s" - paroles pieprasÄ«jums;
Pievienota jauna ciparparakstu darbÄ«ba "find-principals" ssh-keygen, lai meklÄtu atļauto parakstÄ«tÄju failÄ lietotÄju, kas saistÄ«ts ar norÄdÄ«to ciparparakstu;
Uzlabots atbalsts sshd procesa izolÄcijai operÄtÄjsistÄmÄ Linux, izmantojot seccomp mehÄnismu: IPC sistÄmas izsaukumu atspÄjoÅ”ana, clock_gettime64(), clock_nanosleep_time64 un clock_nanosleep().