OpenSSH 8.2 vÀljalase kahefactori autentimise FIDO/U2F tokenite toega

PĂ€rast nelja kuu arendust esitati vabastus OpenSSH 8.2, avatud kliendi ja serveri teostus SSH 2.0 ja SFTP protokollide jaoks.

OpenSSH 8.2 vĂ€ljaandel on peamine tĂ€iustus kahefaktorilise autentimise vĂ”imalus seadmete kaudu, mis toetavad protokolli U2F, mida arendab liit FIDO. U2F vĂ”imaldab luua odavaid riistvaratokenite kasutamist, et kinnitada kasutaja fĂŒĂŒsilist kohalolekut, mille vaheline suhtlemine toimub USB, Bluetooth vĂ”i NFC kaudu. Sellised seadmed edendavad kahefaktorilist autentimist veebisaitidel, neid toetavad peamised brauserid ja neid valmistavad erinevad tootjad, sealhulgas Yubico, Feitian, Thetis ja Kensington.

Kasutajapoolse kohaloleku kinnitamiseks on OpenSSH-sse lisatud uued vĂ”tme tĂŒĂŒbid "ecdsa-sk" ja "ed25519-sk", mis kasutavad ECDSA ja Ed25519 digitaalallkirjastamise algoritme koos SHA-256 hash'iga. Tokenitega suhtlemise protseduurid on viidud vaheklassi, mis laaditakse sarnaselt PKCS#11 toele mĂ”eldud raamatukoguga ja on raamatukogu libfido2, mis pakub vahendeid tokenite suhtlemiseks USB kaudu (toetavad protokollid FIDO U2F/CTAP 1 ja FIDO 2.0/CTAP 2). OpenSSH arendajate loodud vaheklass libsk-libfido2 on aktiveeritud on pĂ”hiosas libfido2, nagu ka HID-draiver OpenBSD jaoks.

Autentimiseks ja vĂ”tme genereerimiseks tuleb seadetes mÀÀrata parameeter "SecurityKeyProvider" vĂ”i seada keskkonnamuutuja SSH_SK_PROVIDER, mĂ€rkides tee vĂ€lise raamatukogu libsk-libfido2.so (export SSH_SK_PROVIDER=/path/to/libsk-libfido2.so). VĂ”imalik on koostada openssh koos sisseehitatud toe vaheklassile (—with-security-key-builtin), juhul tuleb mÀÀrata parameeter "SecurityKeyProvider=internal".
SeejĂ€rel tuleb kĂ€ivitada "ssh-keygen -t ecdsa-sk" vĂ”i, kui vĂ”tmed on juba loodud ja seadistatud, ĂŒhendada serveriga "ssh" kaudu. KĂ€ivitamisel ssh-keygen salvestatakse loodud vĂ”tmepaar "~/.ssh/id_ecdsa_sk" ja seda saab kasutada sarnaselt muude vĂ”tmetega.

AvaĂ”tuvĂ”ti (id_ecdsa_sk.pub) tuleb serverisse kopeerida faili authorized_keys. Serveris kontrollitakse ainult digitaalset allkirja, samas kui tokenitega suhtlemine toimub kliendi poolel (serveris ei pea olema installitud libsk-libfido2, kuid server peab toetama vĂ”tme tĂŒĂŒpi „ecdsa-sk“). Genereeritud privaatvĂ”ti (id_ecdsa_sk) on sisuliselt vĂ”tme descriptor, mis loob reaalse vĂ”tme ainult koos U2F tokeni poolel hoitava salajase jĂ€rjestusega. Kui id_ecdsa_sk vĂ”ti satub rĂŒndaja kĂ€tte, peab ta autentimise lĂ€bimiseks samuti pÀÀsema juurde riistvaralisele tokenile, ilma milleta on failis id_ecdsa_sk hoitud privaatvĂ”ti kasutu.

Lisaks nĂ”uab vaikimisi kĂ”igi vĂ”tmete toimingute (nii genereerimise kui autentimise) kĂ€igus kohaliku kinnituse fĂŒĂŒsilist kohalolekut, nĂ€iteks palutakse puudutada tokeni sensorit, mis raskendab kaugmeetodite kasutamist tokeniga sĂŒsteemides. Veel ĂŒhe kaitseelemendina vĂ”ib ssh-keygen kĂ€ivitamisel mÀÀrata ka parooli juurdepÀÀsuks vĂ”tme failile.

Uues OpenSSH versioonis on teatatud varasemate SHA-1 rĂ€mpsalgoritmide tulevasest kĂ€rpimisest, seoses tĂ”hususe kasvuga eeldefineeritud kollisioonirĂŒnnakute puhul (kollisiooni leidmise maksumus on hinnanguliselt umbes 45 tuhat dollarit). Ühes jĂ€rgnevas vĂ€ljaandes plaanitakse vaikimisi keelata digitaalsete allkirjade kasutamine avatud vĂ”tme algoritmiga „ssh-rsa“, mida mainitakse SSH protokolli originaalses RFC-s ja mis on praktikas endiselt laialdaselt levinud (ssh-rsa rakenduse kontrollimiseks oma sĂŒsteemides vĂ”ib proovida ssh-iga ĂŒhenduda, kasutades valikut „-oHostKeyAlgorithms=-ssh-rsa“).

Uute algoritmide ĂŒlemineku sujuvamaks muutmiseks OpenSSH-s, plaanitakse ĂŒhes jĂ€rgnevates vĂ€ljaannetes vaikimisi lubada seadistust UpdateHostKeys, mis vĂ”imaldab automaatselt suunata kliente usaldusvÀÀrsematele algoritmidele. Soovitatud migreerimise algoritmide seas on rsa-sha2-256/512, mis pĂ”hineb RFC8332 RSA SHA-2 (toetatakse OpenSSH 7.2 alates ja kasutatakse vaikimisi), ssh-ed25519 (toetatakse OpenSSH 6.5 alates) ja ecdsa-sha2-nistp256/384/521, mis pĂ”hineb RFC5656 ECDSA (toetatakse OpenSSH 5.7 alates).

OpenSSH 8.2 versioonis on vĂ”imalus ĂŒhendada kasutades „ssh-rsa“ endiselt olemas, kuid see algoritm on eemaldatud CASignatureAlgorithms nimekirjast, mis mÀÀratleb uute sertifikaatide digitaalallkirjade algorĂŒtmid. Samuti on vaikimisi toetatud vĂ”tmise algoritmidest eemaldatud diffie-hellman-group14-sha1 algoritm. TĂ€heldatakse, et SHA-1 kasutamine sertifikaatides on seotud tĂ€iendava riskiga, kuna rĂŒndajal on piiramatu aeg kollisiooni otsimiseks olemasoleva sertifikaadi jaoks, samas kui rĂŒnnakute aeg hostivĂ”tmete jaoks on piiratud ĂŒhenduse ajaga (LoginGraceTime).

SSH-keygen kasutamisel rakendatakse nĂŒĂŒd vaikimisi algoritmi rsa-sha2-512, mida toetatakse alates OpenSSH 7.2, mis vĂ”ib tekitada ĂŒhilduvusprobleeme sertifikaatide töötlemisel, mille on sertifitseerinud OpenSSH 8.2, vanema OpenSSH versiooniga sĂŒsteemides (probleemi mööda hiilimiseks on allkirja genereerimiseks vĂ”imalik selgelt mÀÀrata «ssh-keygen -t ssh-rsa» vĂ”i kasutada ecdsa-sha2-nistp256/384/521 algoritme, mida toetatakse alates OpenSSH 5.7).

Muud muudatused:

  • sshd_configis on lisatud direktiiv Include, mis vĂ”imaldab teiste failide sisu sisestada praegusesse konfigureerimisfaili (failinime mÀÀramisel on lubatud glob-maske kasutada);
  • ssh-keygenis on lisatud valik «no-touch-required», mis keelab fĂŒĂŒsilise kinnituse vajaduse toimetuleku juurdepÀÀsuks tokenile vĂ”tme genereerimise ajal;
  • sshd_configis on lisatud direktiiv PubkeyAuthOptions, mis koondab erinevad valikud, mis on seotud avaliku vĂ”tme autentimisega. Praegu toetatakse ainult lippu «no-touch-required», et mööda minna fĂŒĂŒsilise kohaloleku kontrollimisest tokeniga autoriseerimisel. Sarnasel viisil on authorized_keys faili lisatud valik «no-touch-required»;
  • ssh-keygenis on lisatud valik «-O write-attestation=\/path», mis vĂ”imaldab genereerimise ajal salvestada tĂ€iendavaid FIDO atesteerimissertifikaate. OpenSSH ei kasuta praegu neid sertifikaate, kuid neid saab hiljem kasutada vĂ”tme kontrollimiseks usaldusvÀÀrses seadmes;
  • SSH ja sshd seadetes on nĂŒĂŒd direktiivi IPQoS kaudu vĂ”imalik seadistada liikluse prioritiseerimise reĆŸiim. LE DSCP (Lower-Effort Per-Hop Behavior);
  • SSH-s, kui seate vÀÀrtuse «AddKeysToAgent=yes», kui vĂ”tme kommentaarivĂ€li puudub, lisatakse ta ssh-agentisse, mĂ€rkides kommentaarina vĂ”tme tee.
    ssh-keygenis ja ssh-agentis kasutatakse vĂ”tme kommentaaridena nĂŒĂŒd ka PKCS#11 silte ja X.509 teema nime, mitte teed teeki;
  • ssh-keygenis on lisatud vĂ”imalus eksportida PEM DSA ja ECDSA vĂ”tmete jaoks;
  • Lisatud on uus tĂ€itmisfail ssh-sk-helper, mida kasutatakse FIDO/U2F tokenite juurdepÀÀsubiblioteegi isoleerimiseks;
  • SSH-s ja sshd-s on lisatud koostamisvalik «—with-zlib» zlib biblioteki toe toetamiseks.
  • Vastavalt RFC4253 nĂ”udele sisaldab ĂŒhendamisel kuvatav bĂ€nner hoiatust juurdepÀÀsu blokeerimise kohta, mis tuleneb MaxStartups piiride ĂŒletamisest. Diagnostika lihtsustamiseks nĂ€itab sshd protsessi pĂ€ises, mida saab vaadata ps utiliidi kaudu, autentitud ĂŒhenduste arvu ja MaxStartups piiri olekut;
  • Ssh ja ssh-agentis, kui kutsutakse ekraanile vĂ€ljundikutsumiste programmi, mis on mÀÀratud lĂ€bi $SSH_ASKPASS, edastatakse nĂŒĂŒd tĂ€iendav lipp kutsumise tĂŒĂŒbi mÀÀramiseks: „confirm” — kinnituse dialoog (jah/ei), „none” — teavitusteade, „blank” — parooli kĂŒsimine;
  • Ssh-keygenisse on lisatud uus digitaalallkiri operatsioon „find-principals” kasutaja allowed-signers failis otsimiseks, mis on seotud mÀÀratud digitaalse allkirjaga;
  • Linuxis on parandatud sshd protsessi isoleerimise toetust seccomp mehhanismi abil: keelatud sĂŒsteemi kutsed IPC, lubatud on clock_gettime64(), clock_nanosleep_time64 ja clock_nanosleep().

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster