OpenSSH 8.2 versija izlaista ar atbalstu FIDO/U2F divfaktoru autentifikācijas žetoniem

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.

Būtisks uzlabojums OpenSSH 8.2 versijā bija iespēja izmantot divfaktoru autentifikāciju ierīcēs, kas atbalsta šo protokolu. U2F, ko izstrādājusi alianse FIDOU2F ļauj izveidot lētus aparatūras žetonus, lai pārbaudītu lietotāja fizisko klātbūtni, mijiedarbojoties ar viņu, izmantojot USB, Bluetooth vai NFC. Šīs ierīces tiek reklamētas kā divfaktoru autentifikācijas līdzeklis tīmekļa vietnēs, 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 pievienojis jaunus atslēgu veidus — "ecdsa-sk" un "ed25519-sk", kas izmanto ECDSA un Ed25519 digitālā paraksta algoritmus kombinācijā ar SHA-256 jaucējkodu. Procedūras mijiedarbībai ar žetoniem ir pārvietotas uz starpbibliotēku, kas tiek ielādēta līdzīgi kā PKCS#11 atbalsta bibliotēka un darbojas kā bibliotēkas ietvars. libfido2, kas nodrošina līdzekļus saziņai ar žetoniem, izmantojot USB (tiek atbalstīti FIDO U2F/CTAP 1 un FIDO 2.0/CTAP 2 protokoli). OpenSSH izstrādātāju sagatavotā starpposma bibliotēka libsk-libfido2, iekļauts libfido2 pamatsastāvā, kā arī HID draiveris OpenBSD paredzētam.

Lai autentificētos un ģenerētu atslēgu, iestatījumos 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.so). OpenSSH var veidot ar iebūvētu atbalstu starpniekbibliotēkai (--with-security-key-builtin); šajā gadījumā jāiestata parametrs "SecurityKeyProvider=internal".
Pēc tam palaidiet komandu "ssh-keygen -t ecdsa-sk" vai, ja atslēgas jau ir izveidotas un konfigurētas, izveidojiet savienojumu ar serveri, izmantojot "ssh". Palaižot komandu ssh-keygen, ģenerētais atslēgu pāris tiks saglabāts failā "~/.ssh/id_ecdsa_sk" un to varēs izmantot tāpat kā citas atslēgas.

Publiskā atslēga (id_ecdsa_sk.pub) ir jākopē servera authorized_keys failā. Serveris pārbauda tikai digitālo parakstu, savukārt mijiedarbība ar marķieri notiek klienta pusē (libsk-libfido2 nav jāinstalē serverī, taču serverim ir jāatbalsta atslēgas tips "ecdsa-sk"). Ģenerētā privātā atslēga (id_ecdsa_sk) būtībā ir atslēgas deskriptors, kas veido reālu atslēgu tikai kopā ar slepeno secību, kas saglabāta U2F marķierī. Ja uzbrucējs iegūst id_ecdsa_sk atslēgu, viņam būs nepieciešama arī piekļuve aparatūras marķierim autentifikācijai, bez kuras privātā atslēga, kas saglabāta id_ecdsa_sk failā, ir bezjēdzīga.

Turklāt pēc noklusējuma visām galvenajām darbībām (gan ģenerēšanai, gan autentifikācijai) ir nepieciešams lokāls lietotāja fiziskās klātbūtnes apstiprinājums, piemēram, pieskaršanās sensoram uz marķiera, kas apgrūtina attālinātu uzbrukumu veikšanu sistēmām ar pievienotu marķieri. Kā papildu drošības slāni ssh-keygen startēšanas laikā var iestatīt arī paroli piekļuvei atslēgas failam.

Jaunā OpenSSH versija arī paziņoja par gaidāmo algoritmu, kas izmanto SHA-1 hešus, novecošanu, 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).

OpenSSH 8.2 joprojām atbalsta savienojuma izveidi, izmantojot "ssh-rsa", taču šis algoritms ir noņemts no CASignatureAlgorithms saraksta, kas definē algoritmus, kas atļauti jaunu sertifikātu digitālai parakstīšanai. Līdzīgi diffie-hellman-group14-sha1 algoritms ir noņemts no atbalstītajiem noklusējuma atslēgu apmaiņas algoritmiem. Jāatzīmē, ka SHA-1 izmantošana sertifikātos rada papildu risku, jo uzbrucējam ir neierobežots laiks, lai atrastu esoša sertifikāta sadursmi, savukārt uzbrukumus resursdatora atslēgām ierobežo savienojuma taimauts (LoginGraceTime).

Palaižot ssh-keygen, pēc noklusējuma tagad tiek izmantots rsa-sha2-512 algoritms, kas tiek atbalstīts kopš OpenSSH 7.2 versijas, kas var radīt saderības problēmas, mēģinot apstrādāt ar OpenSSH 8.2 parakstītus sertifikātus sistēmās, kurās darbojas vecākas OpenSSH versijas (lai apietu šo problēmu, ģenerējot parakstu, varat skaidri norādīt "ssh-keygen -t ssh-rsa" vai izmantot algoritmus ecdsa-sha2-nistp256/384/521, kas tiek atbalstīti kopš OpenSSH 5.7 versijas).

Citas izmaiņas:

  • Sshd_config ir pievienota direktīva “Iekļaušana”, kas ļauj citu failu saturu iekļaut konfigurācijas faila pašreizējā pozīcijā (norādot faila nosaukumu, var izmantot globālās maskas);
  • ssh-keygen ir pievienota opcija "bez pieskāriena", kas atspējo nepieciešamību fiziski apstiprināt piekļuvi tokenam, ģenerējot atslēgu;
  • PubkeyAuthOptions direktīva ir pievienota sshd_config failam, apvienojot dažādas ar publiskās atslēgas autentifikāciju saistītas opcijas. Pašlaik tiek atbalstīts tikai karodziņš "no-touch-required", kas ļauj izlaist fiziskās klātbūtnes pārbaudi tokena autentifikācijas laikā. Līdzīgi opcija "no-touch-required" ir pievienota failam authorized_keys.
  • Funkcijai ssh-keygen ir pievienota opcija "-O write-attestation=/path", kas ļauj ģenerēt atslēgas, ierakstot papildu FIDO apliecinājuma sertifikātus. OpenSSH pašlaik neizmanto šos sertifikātus, taču tos varēs izmantot nākotnē, lai pārbaudītu, vai atslēga ir saglabāta uzticamā aparatūras krātuvē.
  • SSH un sshd iestatījumos tagad ir iespējams iestatīt datplūsmas prioritātes režīmu, izmantojot IPQoS direktīvu. LE DSCP (Mazākas piepūles uz vienu lēcienu uzvedība);
  • SSH vidē, iestatot vērtību "AddKeysToAgent=yes", ja atslēga nesatur komentāra lauku, tā tiks pievienota ssh aģentam ar atslēgas ceļu, kas norādīts kā komentārs.
    ssh-keygen un ssh-agent tagad atslēgā kā komentārus izmanto arī PKCS#11 etiķetes un X.509 subjekta nosaukumu, nevis bibliotēkas ceļu;
  • 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 bibliotēkas piekļuvi FIDO/U2F žetoniem;
  • SSH un sshd pievienota kompilēšanas opcija "--with-zlib", lai kompilētu ar zlib bibliotēkas atbalstu;
  • Saskaņā ar RFC 4253 savienojuma reklāmkarogā tagad tiek parādīts brīdinājums par piekļuves bloķēšanu MaxStartups ierobežojuma pārsniegšanas dēļ. Lai vienkāršotu diagnostiku, sshd procesa galvenē, kas ir redzama, izmantojot ps utilītu, tagad tiek parādīts pašlaik autentificēto savienojumu skaits un MaxStartups ierobežojuma statuss.
  • SSH un ssh-agent vidē, izsaucot programmu, lai ekrānā parādītu ielūgumu, kas norādīts, izmantojot $SSH_ASKPASS, tagad papildus tiek nodots karodziņš ar ielūguma veidu: “apstiprināt” — apstiprinājuma dialoglodziņš (jā/nē), “nav” — informatīvs ziņojums, “tukšs” — paroles pieprasījums;
  • ssh-keygen ir pievienota jauna digitālā paraksta operācija "find-principals", lai meklētu atļauto parakstītāju failā lietotāju, kas saistīts ar norādīto digitālo parakstu;
  • Uzlabots atbalsts sshd procesa izolācijai Linux izmantojot seccomp mehānismu: IPC sistēmas izsaukumi ir atspējoti, clock_gettime64(), clock_nanosleep_time64 un clock_nanosleep() ir atļauti.

Avots: opennet.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster