د OpenSSH 8.2 خوشې کول د FIDO/U2F دوه فاکتور تصدیق کولو ټیکونو لپاره ملاتړ سره

د څلورو میاشتو پراختیا وروسته وړاندې شوی خوشې کول OpenSSH 8.2، د SSH 2.0 او SFTP پروتوکولونو له لارې کار کولو لپاره خلاص پیرودونکي او سرور پلي کول.

د OpenSSH 8.2 په خوشې کولو کې کلیدي پرمختګ د وسیلو په کارولو سره د دوه فاکتور تصدیق کولو وړتیا وه چې د پروتوکول ملاتړ کوي. U2F، د اتحاد لخوا رامینځته شوی FIDO. U2F د کارونکي فزیکي شتون تصدیق کولو لپاره د ټیټ لګښت هارډویر ټوکنونو رامینځته کولو ته اجازه ورکوي ، له دوی سره د USB ، بلوتوټ یا NFC له لارې متقابل عمل کوي. دا ډول وسایل په ویب پاڼو کې د دوه فاکتور تصدیق کولو وسیلې په توګه هڅول شوي، دمخه د لوی براوزرونو لخوا ملاتړ شوي او د یوبیکو، فیټیان، تیټیس او کینسنګټن په شمول د مختلفو جوړونکو لخوا تولید شوي.

د هغو وسیلو سره د تعامل لپاره چې د کارونکي شتون تاییدوي، نوي کلیدي ډولونه "ecdsa-sk" او "ed25519-sk" په OpenSSH کې اضافه شوي، کوم چې د SHA-25519 هش سره یوځای د ECDSA او Ed256 ډیجیټل لاسلیک الګوریتمونه کاروي. د ټوکنونو سره د تعامل لپاره طرزالعملونه په منځني کتابتون کې ځای پر ځای شوي، کوم چې د PKCS#11 مالتړ لپاره کتابتون ته په ورته ډول بار شوی او د کتابتون په سر کې یو پوښ دی. libfido2، کوم چې د USB له لارې د ټوکنونو سره د خبرو اترو لپاره وسیلې چمتو کوي (FIDO U2F/CTAP 1 او FIDO 2.0/CTAP 2 پروتوکولونه ملاتړ شوي). منځمهاله کتابتون libsk-libfido2 د OpenSSH پراختیا کونکو لخوا چمتو شوی شامل په اصلي libfido2 کې، او همدارنګه د HID چلوونکی د OpenBSD لپاره.

د کیلي تصدیق کولو او تولیدولو لپاره، تاسو باید په ترتیباتو کې د "SecurityKeyProvider" پیرامیټر مشخص کړئ یا د SSH_SK_PROVIDER چاپیریال متغیر تنظیم کړئ، د بهرني کتابتون libsk-libfido2.so (د صادراتو SSH_SK_PROVIDER=/path/to/libdo. نو). دا ممکنه ده چې د پرت کتابتون (--with-security-key-builtin) لپاره د جوړ شوي ملاتړ سره Openssh جوړ کړئ، پدې حالت کې تاسو اړتیا لرئ د "SecurityKeyProvider=internal" پیرامیټر تنظیم کړئ.
بیا تاسو اړتیا لرئ د "ssh-keygen -t ecdsa-sk" چلولو ته اړتیا ولرئ یا ، که کیلي دمخه رامینځته شوي او تنظیم شوي وي ، د "ssh" په کارولو سره سرور سره وصل شئ. کله چې تاسو ssh-keygen چلوئ، تولید شوي کیلي جوړه به په "~/.ssh/id_ecdsa_sk" کې خوندي شي او د نورو کیلي په څیر کارول کیدی شي.

عامه کیلي (id_ecdsa_sk.pub) باید د مجاز_کیز فایل کې سرور ته کاپي شي. د سرور اړخ کې، یوازې ډیجیټل لاسلیک تایید شوی، او د ټوکنونو سره تعامل د پیرودونکي اړخ کې ترسره کیږي (تاسو اړتیا نلرئ libsk-libfido2 په سرور کې نصب کړئ، مګر سرور باید د "ecdsa-sk" کلیدي ډول ملاتړ وکړي) . رامینځته شوی شخصي کیلي (id_ecdsa_sk) په اصل کې د کیلي لاسوند دی، یوازې د U2F ټوکن اړخ کې ذخیره شوي پټ ترتیب سره په ترکیب کې اصلي کیلي جوړوي. که چیرې د id_ecdsa_sk کیلي د برید کونکي په لاس کې راشي، د تصدیق کولو لپاره هغه به د هارډویر نښه ته هم لاسرسی ومومي، پرته له دې چې په id_ecdsa_sk فایل کې ذخیره شوي شخصي کیلي بې ګټې وي.

سربیره پردې ، د ډیفالټ په واسطه ، کله چې د کیلي سره کوم عملیات ترسره کول (دواړه د نسل او تصدیق پرمهال) ، د کارونکي فزیکي شتون ځایی تایید ته اړتیا ده ، د مثال په توګه ، وړاندیز کیږي چې په نښه کې سینسر لمس کړئ ، کوم چې دا ستونزمن کوي. په سیسټمونو کې د تړل شوي نښه سره لیرې بریدونه ترسره کړئ. د دفاع د بلې کرښې په توګه، کلیدي فایل ته د لاسرسي لپاره د ssh-keygen د پیل پړاو په جریان کې یو پټنوم هم مشخص کیدی شي.

د OpenSSH نوې نسخه د SHA-1 هشونو په کارولو سره د الګوریتم راتلونکی تخریب هم اعلان کړ چې له امله یې ترویج د ورکړل شوي مختګ سره د ټکر بریدونو اغیزمنتوب (د ټکر د انتخاب لګښت نږدې 45 زره ډالر اټکل شوی). په یوه راتلونکو خپرونو کې، دوی پالن لري چې د ډیفالټ لخوا د عامه کلیدي ډیجیټل لاسلیک الګوریتم "ssh-rsa" کارولو وړتیا غیر فعال کړي، کوم چې د SSH پروتوکول لپاره په اصلي RFC کې ذکر شوي او په عمل کې په پراخه توګه پاتې کیږي (د کارونې ازموینې لپاره. ستاسو په سیسټمونو کې د ssh-rsa، تاسو کولی شئ د ssh له لارې د "-oHostKeyAlgorithms=-ssh-rsa" اختیار سره د نښلولو هڅه وکړئ).

په OpenSSH کې نوي الګوریتمونو ته د لیږد اسانه کولو لپاره، په راتلونکي کې د UpdateHostKeys ترتیب به د ډیفالټ په واسطه فعال شي، کوم چې به په اتوماتيک ډول پیرودونکي ډیر معتبر الګوریتمونو ته مهاجر کړي. د مهاجرت لپاره وړاندیز شوي الګوریتمونه شامل دي rsa-sha2-256/512 د RFC8332 RSA SHA-2 پر بنسټ (د OpenSSH 7.2 راهیسې ملاتړ شوی او په ډیفالټ کارول کیږي)، ssh-ed25519 (د OpenSSH 6.5 راهیسې ملاتړ شوی) او ecdsa-sha2-nistp256/384/521 په RFC5656 ECDSA کې (د OpenSSH 5.7 راهیسې ملاتړ شوی).

په OpenSSH 8.2 کې، د "ssh-rsa" په کارولو سره د نښلولو وړتیا لاهم شتون لري، مګر دا الګوریتم د CASignatureAlgorithms لیست څخه لیرې شوی، کوم چې د نوي سندونو ډیجیټل لاسلیک کولو لپاره اجازه ورکړل شوي الګوریتم تعریفوي. په ورته ډول، diffie-hellman-group14-sha1 الګوریتم د ډیفالټ کلیدي تبادلې الګوریتم ملاتړ شوي څخه لرې شوی. د یادونې وړ ده چې په سندونو کې د SHA-1 کارول د اضافي خطر سره تړاو لري، ځکه چې برید کوونکی د موجوده سند لپاره د ټکر د لټون لپاره لامحدود وخت لري، پداسې حال کې چې په کوربه کیلي باندې د برید وخت د پیوستون وخت پای ته محدود دی (LoginGraceTime) ).

د ssh-keygen چلول اوس د rsa-sha2-512 الګوریتم ته ډیفالټ دی، کوم چې د OpenSSH 7.2 راهیسې ملاتړ کیږي، کوم چې ممکن د مطابقت مسلې رامینځته کړي کله چې په OpenSSH 8.2 کې لاسلیک شوي سندونو پروسس کولو هڅه کوي په سیسټمونو کې چې د OpenSSH پخوانیو خپرونو چلوي (د مسلې په شاوخوا کې کار کول کله چې د لاسلیک تولیدولو سره، تاسو کولی شئ په واضح ډول "ssh-keygen -t ssh-rsa" مشخص کړئ یا د ecdsa-sha2-nistp256/384/521 الګوریتمونو څخه کار واخلئ، د OpenSSH 5.7 راهیسې ملاتړ شوی).

نور بدلونونه:

  • د شاملولو لارښود په sshd_config کې اضافه شوی ، کوم چې تاسو ته اجازه درکوي د نورو فایلونو مینځپانګې د تنظیم کولو فایل اوسني موقعیت کې شامل کړئ (د ګلوب ماسک د فایل نوم مشخص کولو پرمهال کارول کیدی شي)؛
  • په ssh-keygen کې د "no-touch-required" اختیار اضافه شوی، کوم چې د کیلي تولیدولو په وخت کې په فزیکي توګه ټوکن ته د لاسرسي تصدیق کولو اړتیا غیر فعالوي؛
  • د PubkeyAuthOptions لارښود په sshd_config کې اضافه شوی ، کوم چې د عامه کیلي تصدیق پورې اړوند مختلف اختیارونه ترکیب کوي. اوس مهال، یوازې د "نه ټچ-اړتیا" بیرغ د نښه شوي تصدیق لپاره د فزیکي شتون چکونو پریښودلو لپاره ملاتړ کیږي. د مشابهت په واسطه، د "نه ټچ-اړتیا" اختیار د مجاز_کیز فایل کې اضافه شوی؛
  • ssh-keygen ته د "-O write-attestation=/path" اختیار اضافه شوی ترڅو د اضافي FIDO تصدیق سندونو ته اجازه ورکړي کله چې کیلي تولیدوي. OpenSSH لا تر اوسه دا سندونه نه کاروي، مګر دوی وروسته د دې تصدیق کولو لپاره کارول کیدی شي چې کیلي په یو باوري هارډویر پلورنځي کې ځای پرځای شوي؛
  • په ssh او sshd ترتیباتو کې، دا اوس ممکنه ده چې د IPQoS لارښوونې له لارې د ټرافیک لومړیتوب کولو حالت تنظیم کړئ LE DSCP (د ټیټې هڅې فی-هپ چلند)؛
  • په ssh کې، کله چې د "AddKeysToAgent=yes" ارزښت ترتیب کړئ، که کیلي د تبصرې ساحه ونلري، دا به په ssh-agent کې اضافه شي چې د تبصرې په توګه کلیدي ته لاره په ګوته کوي. IN
    ssh-keygen او ssh-agent هم اوس د PKCS#11 لیبلونه او د X.509 موضوع نوم د کتابتون لارې پرځای په کلیدي کې د تبصرو په توګه کاروي؛

  • ssh-keygen ته د DSA او ECDSA کیلي لپاره د PEM صادرولو وړتیا اضافه کړه؛
  • یو نوی اجراییدونکی، ssh-sk-helper، د FIDO/U2F ټوکن لاسرسي کتابتون جلا کولو لپاره کارول شوی؛
  • د zlib کتابتون ملاتړ سره د تالیف لپاره ssh او sshd ته د "--with-zlib" جوړونې اختیار اضافه شوی؛
  • د RFC4253 اړتیا سره سم، د MaxStartups حد څخه د تیریدو له امله د لاسرسي بندولو په اړه خبرداری د پیوستون پرمهال ښودل شوي بینر کې چمتو شوی. د تشخیص ساده کولو لپاره، د sshd پروسې سرلیک، د ps یوټیلیټ کارولو په وخت کې لیدل کیږي، اوس د اوسني تصدیق شوي اړیکو شمیر او د MaxStartups حد حالت څرګندوي؛
  • په ssh او ssh-اجنټ کې، کله چې په سکرین کې د بلنې ښودلو لپاره یو پروګرام ته زنګ ووهئ، د $SSH_ASKPASS له لارې مشخص شوی، د بلنې ډول سره یو بیرغ اوس هم لیږدول کیږي: "تصدیق" - د تایید ډیالوګ (هو/نه)، "هیڅ نه " - معلوماتي پیغام، "خالي" - د پټنوم غوښتنه؛
  • ssh-keygen ته د نوي ډیجیټل لاسلیک عملیات "find-principals" اضافه کړل ترڅو د ټاکل شوي ډیجیټل لاسلیک سره تړلي کارونکي لپاره د اجازه لیکونکي فایل لټون وکړي؛
  • د seccomp میکانیزم په کارولو سره په لینکس کې د sshd پروسې جلا کولو لپاره ښه ملاتړ: د IPC سیسټم زنګونه غیر فعال کول ، clock_gettime64 () ، clock_nanosleep_time64 او clock_nanosleep ().

سرچینه: opennet.ru

Add a comment