FIDO/U8.2F iki faktorlu autentifikasiya tokenləri dəstəyi ilə OpenSSH 2-nin buraxılışı

Dörd aylıq inkişafdan sonra təqdim etdi buraxın OpenSSH 8.2, SSH 2.0 və SFTP protokolları ilə işləmək üçün açıq müştəri və server tətbiqi.

OpenSSH 8.2-nin buraxılışında əsas irəliləyiş protokolu dəstəkləyən cihazlardan istifadə edərək iki faktorlu autentifikasiyadan istifadə etmək imkanı idi. U2F, alyans tərəfindən hazırlanmışdır FIDO. U2F istifadəçinin fiziki mövcudluğunu yoxlamaq, USB, Bluetooth və ya NFC vasitəsilə onlarla qarşılıqlı əlaqə yaratmaq üçün ucuz aparat nişanlarının yaradılmasına imkan verir. Bu cür cihazlar veb-saytlarda iki faktorlu autentifikasiya vasitəsi kimi təbliğ olunur, artıq əsas brauzerlər tərəfindən dəstəklənir və Yubico, Feitian, Thetis və Kensington da daxil olmaqla müxtəlif istehsalçılar tərəfindən istehsal olunur.

İstifadəçinin mövcudluğunu təsdiq edən cihazlarla qarşılıqlı əlaqə yaratmaq üçün OpenSSH-ə SHA-25519 hash ilə birləşdirilmiş ECDSA və Ed25519 rəqəmsal imza alqoritmlərindən istifadə edən “ecdsa-sk” və “ed256-sk” yeni açar növləri əlavə edilmişdir. Tokenlərlə qarşılıqlı əlaqə prosedurları PKCS#11 dəstəyi üçün kitabxanaya oxşar şəkildə yüklənən və kitabxananın üstündəki sarğı olan ara kitabxanada yerləşdirilir. libfido2, USB vasitəsilə tokenlərlə əlaqə yaratmaq üçün alətlər təqdim edir (FIDO U2F/CTAP 1 və FIDO 2.0/CTAP 2 protokolları dəstəklənir). OpenSSH tərtibatçıları tərəfindən hazırlanmış libsk-libfido2 aralıq kitabxanası daxildir əsas libfido2 daxil, eləcə də HID sürücü OpenBSD üçün.

Açarın autentifikasiyası və yaradılması üçün siz parametrlərdə “SecurityKeyProvider” parametrini təyin etməli və ya libsk-libfido2.so xarici kitabxanasına gedən yolu göstərən SSH_SK_PROVIDER mühit dəyişənini təyin etməlisiniz (export SSH_SK_PROVIDER=/path/to/libsk-libfido2. belə ki). Qat kitabxanasının daxili dəstəyi ilə openssh qurmaq mümkündür (--with-security-key-builtin), bu halda “SecurityKeyProvider=internal” parametrini təyin etməlisiniz.
Sonra “ssh-keygen -t ecdsa-sk” proqramını işə salmalısınız və ya açarlar artıq yaradılıb və konfiqurasiya edilibsə, “ssh” istifadə edərək serverə qoşulun. Siz ssh-keygen-i işə saldığınız zaman yaradılan açar cütü “~/.ssh/id_ecdsa_sk” içərisində saxlanacaq və digər düymələr kimi istifadə oluna bilər.

Açıq açar (id_ecdsa_sk.pub) səlahiyyətli_açarlar faylındakı serverə kopyalanmalıdır. Server tərəfində yalnız rəqəmsal imza yoxlanılır və müştəri tərəfində tokenlərlə qarşılıqlı əlaqə həyata keçirilir (serverdə libsk-libfido2 quraşdırmaq lazım deyil, lakin server “ecdsa-sk” açar növünü dəstəkləməlidir) . Yaradılmış şəxsi açar (id_ecdsa_sk) mahiyyətcə əsas tutacaqdır və yalnız U2F işarəsi tərəfində saxlanılan məxfi ardıcıllıqla birlikdə real açar təşkil edir. Əgər id_ecdsa_sk açarı təcavüzkarın əlinə keçərsə, identifikasiyadan keçmək üçün o, həmçinin hardware tokeninə giriş əldə etməlidir, onsuz id_ecdsa_sk faylında saxlanılan şəxsi açar faydasızdır.

Bundan əlavə, standart olaraq, açarlarla hər hansı əməliyyatlar həyata keçirərkən (həm generasiya zamanı, həm də autentifikasiya zamanı) istifadəçinin fiziki mövcudluğunun yerli təsdiqi tələb olunur, məsələn, tokendəki sensora toxunmaq təklif olunur ki, bu da işləməyi çətinləşdirir. bağlı token olan sistemlərə uzaqdan hücumlar həyata keçirin. Başqa bir müdafiə xətti olaraq, açar faylına daxil olmaq üçün ssh-keygen-in başlanğıc mərhələsində parol da müəyyən edilə bilər.

OpenSSH-in yeni versiyası həmçinin SHA-1 hashlərindən istifadə edən alqoritmlərin qarşıdan gələn köhnəlməsini də elan etdi. təşviq verilmiş prefikslə toqquşma hücumlarının effektivliyi (toqquşmanın seçilməsinin dəyəri təxminən 45 min dollar olaraq qiymətləndirilir). Qarşıdan gələn buraxılışlardan birində onlar SSH protokolu üçün orijinal RFC-də qeyd olunan və praktikada geniş yayılmış (istifadəni sınamaq üçün) açıq açar rəqəmsal imza alqoritmi “ssh-rsa”dan istifadə etmək imkanını defolt etməyi planlaşdırırlar. sistemlərinizdə ssh-rsa-dan istifadə edərək, “-oHostKeyAlqoritmləri=-ssh-rsa” seçimi ilə ssh vasitəsilə qoşulmağa cəhd edə bilərsiniz).

OpenSSH-də yeni alqoritmlərə keçidi hamarlaşdırmaq üçün gələcək buraxılışda UpdateHostKeys parametri defolt olaraq aktivləşdiriləcək ki, bu da müştəriləri avtomatik olaraq daha etibarlı alqoritmlərə köçürəcək. Miqrasiya üçün tövsiyə olunan alqoritmlərə RFC2 RSA SHA-256 əsasında rsa-sha512-8332/2 (OpenSSH 7.2-dən bəri dəstəklənir və defolt olaraq istifadə olunur), ssh-ed25519 (OpenSSH 6.5-dən bəri dəstəklənir) və ecdsa-sha2-nistp256/384 əsaslı daxildir. RFC521 ECDSA-da (OpenSSH 5656-dən bəri dəstəklənir).

OpenSSH 8.2-də “ssh-rsa” istifadə edərək qoşulma imkanı hələ də mövcuddur, lakin bu alqoritm yeni sertifikatların rəqəmsal imzalanması üçün icazə verilən alqoritmləri müəyyən edən CASignatureAlqoritmləri siyahısından çıxarılıb. Eynilə, diffie-hellman-group14-sha1 alqoritmi dəstəklənən standart açar mübadiləsi alqoritmlərindən silindi. Qeyd olunur ki, SHA-1-in sertifikatlarda istifadəsi əlavə risklə əlaqələndirilir, çünki təcavüzkarın mövcud sertifikat üçün toqquşma axtarmaq üçün qeyri-məhdud vaxtı var, host açarlarına hücum vaxtı isə qoşulma vaxtı (LoginGraceTime) ilə məhdudlaşır. ).

ssh-keygen işlədilməsi indi defolt olaraq OpenSSH 2-dən bəri dəstəklənən rsa-sha512-7.2 alqoritminə uyğunlaşdırılır və bu, köhnə OpenSSH relizləri ilə işləyən sistemlərdə OpenSSH 8.2-də imzalanmış sertifikatları emal etməyə cəhd edərkən uyğunluq problemləri yarada bilər (nə zaman problemi həll etmək üçün). imza yaratmaqla, siz açıq şəkildə “ssh-keygen -t ssh-rsa” təyin edə və ya OpenSSH 2-dən bəri dəstəklənən ecdsa-sha256-nistp384/521/5.7 alqoritmlərindən istifadə edə bilərsiniz).

Digər dəyişikliklər:

  • sshd_config-ə Include direktivi əlavə edildi ki, bu da konfiqurasiya faylının cari mövqeyinə digər faylların məzmununu daxil etməyə imkan verir (fayl adını təyin edərkən qlob maskalarından istifadə edilə bilər);
  • ssh-keygen-ə “toxunma tələb olunmur” seçimi əlavə edilib ki, bu da açarı yaradan zaman tokenə girişi fiziki olaraq təsdiqləmək ehtiyacını aradan qaldırır;
  • PubkeyAuthOptions direktivi sshd_config-ə əlavə edilmişdir ki, bu da ictimai açarın autentifikasiyası ilə bağlı müxtəlif variantları özündə birləşdirir. Hal-hazırda, token identifikasiyası üçün fiziki mövcudluq yoxlamalarını keçmək üçün yalnız "toxunma tələb olunmur" bayrağı dəstəklənir. Analoji olaraq, “toxunma tələb olunmur” seçimi səlahiyyətli_açarlar faylına əlavə edilmişdir;
  • Açarların yaradılması zamanı əlavə FIDO attestasiya sertifikatlarının yazılmasına icazə vermək üçün ssh-keygen-ə "-O write-attestation=/path" seçimi əlavə edildi. OpenSSH hələ bu sertifikatlardan istifadə etmir, lakin onlar daha sonra açarın etibarlı aparat mağazasında yerləşdirildiyini yoxlamaq üçün istifadə edilə bilər;
  • Ssh və sshd parametrlərində indi IPQoS direktivi vasitəsilə trafikin prioritetləşdirilməsi rejimini təyin etmək mümkündür. LE DSCP (Aşağı Effort Per-Hop Davranışı);
  • Ssh-də “AddKeysToAgent=yes” dəyərini təyin edərkən, əgər açarda şərh sahəsi yoxdursa, o, şərh kimi açarın yolunu göstərən ssh-agent-ə əlavə olunacaq. IN
    ssh-keygen və ssh-agent də indi açarda şərhlər kimi kitabxana yolunun əvəzinə PKCS#11 etiketlərindən və X.509 mövzu adından istifadə edir;

  • DSA və ECDSA açarları üçün PEM-i ssh-keygen-ə ixrac etmək imkanı əlavə edildi;
  • FIDO/U2F token giriş kitabxanasını təcrid etmək üçün istifadə edilən yeni icra edilə bilən, ssh-sk-helper əlavə edildi;
  • Zlib kitabxana dəstəyi ilə tərtib etmək üçün ssh və sshd-ə “--with-zlib” qurma seçimi əlavə edildi;
  • RFC4253 tələbinə uyğun olaraq, qoşulma zamanı göstərilən bannerdə MaxStartups limitlərini aşması səbəbindən girişin bloklanması barədə xəbərdarlıq verilir. Diaqnostikanı sadələşdirmək üçün ps yardım proqramından istifadə edərkən görünən sshd proses başlığı hazırda təsdiqlənmiş əlaqələrin sayını və MaxStartups limitinin statusunu göstərir;
  • Ssh və ssh-agent-də, $SSH_ASKPASS vasitəsilə göstərilən dəvəti ekranda göstərmək üçün proqrama zəng edərkən, indi əlavə olaraq dəvətin növü olan bayraq ötürülür: “təsdiq et” - təsdiqləmə dialoqu (bəli/yox), “yox” ” - məlumat mesajı, “boş” — parol sorğusu;
  • Müəyyən edilmiş rəqəmsal imza ilə əlaqəli istifadəçi üçün icazə verilən imzalayanlar faylını axtarmaq üçün ssh-keygen-ə yeni rəqəmsal imza əməliyyatı "find-principals" əlavə edildi;
  • Seccomp mexanizmindən istifadə edərək Linux-da sshd prosesinin təcrid olunması üçün təkmilləşdirilmiş dəstək: IPC sistem zənglərinin söndürülməsi, clock_gettime64(), clock_nanosleep_time64 və clock_nanosleep().

Mənbə: opennet.ru

Добавить комментарий