FIDO/U8.2F ද්වි-සාධක සත්‍යාපන ටෝකන සඳහා සහය ඇතිව OpenSSH 2 නිකුත් කිරීම

සංවර්ධනය මාස හතරකට පසුව ඉදිරිපත් කරන ලදී නිකුත්වීම OpenSSH 8.2, SSH 2.0 සහ SFTP ප්‍රොටෝකෝල හරහා වැඩ කිරීම සඳහා විවෘත සේවාලාභියෙකු සහ සේවාදායක ක්‍රියාත්මක කිරීමකි.

OpenSSH 8.2 නිකුතුවේ ප්‍රධාන දියුණුවක් වූයේ ප්‍රොටෝකෝලය සඳහා සහය දක්වන උපාංග භාවිතයෙන් ද්වි-සාධක සත්‍යාපනය භාවිතා කිරීමේ හැකියාවයි. U2F, සන්ධානය විසින් සංවර්ධනය කරන ලදී FIDO. U2F විසින් USB, Bluetooth හෝ NFC හරහා ඔවුන් සමඟ අන්තර් ක්‍රියා කරමින් පරිශීලකයාගේ භෞතික පැවැත්ම තහවුරු කිරීමට අඩු වියදම් දෘඪාංග ටෝකන නිර්මාණය කිරීමට ඉඩ සලසයි. එවැනි උපාංග වෙබ් අඩවි මත ද්වි-සාධක සත්‍යාපනය කිරීමේ මාධ්‍යයක් ලෙස ප්‍රවර්ධනය කරනු ලැබේ, දැනටමත් ප්‍රධාන බ්‍රව්සර් මගින් සහය ලබා දී ඇති අතර Yubico, Feitian, Thetis සහ Kensington ඇතුළු විවිධ නිෂ්පාදකයින් විසින් නිෂ්පාදනය කරනු ලැබේ.

පරිශීලකයාගේ පැමිණීම තහවුරු කරන උපාංග සමඟ අන්තර් ක්‍රියා කිරීමට, SHA-25519 හැෂ් සමඟ ඒකාබද්ධව ECDSA සහ Ed25519 ඩිජිටල් අත්සන ඇල්ගොරිතම භාවිතා කරන OpenSSH වෙත “ecdsa-sk” සහ “ed256-sk” නව යතුරු වර්ග එකතු කර ඇත. ටෝකන සමඟ අන්තර්ක්‍රියා කිරීමේ ක්‍රියා පටිපාටි අතරමැදි පුස්තකාලයක තැන්පත් කර ඇති අතර, එය PKCS#11 සහාය සඳහා පුස්තකාලයට සමාන ආකාරයෙන් පටවනු ලබන අතර එය පුස්තකාලයේ මුදුනේ එතුමකි. libfido2, USB හරහා ටෝකන සමඟ සන්නිවේදනය සඳහා මෙවලම් සපයන (FIDO U2F/CTAP 1 සහ FIDO 2.0/CTAP 2 ප්‍රොටෝකෝල සඳහා සහය දක්වයි). OpenSSH සංවර්ධකයින් විසින් සකස් කරන ලද අතරමැදි පුස්තකාලය libsk-libfido2 ඇතුළත් හරය libfido2 බවට, මෙන්ම HID ධාවකය OpenBSD සඳහා.

යතුරක් සත්‍යාපනය කිරීමට සහ උත්පාදනය කිරීමට, ඔබ විසින් "SecurityKeyProvider" පරාමිතිය සැකසීම් තුළ සඳහන් කළ යුතුය හෝ SSH_SK_PROVIDER පරිසර විචල්‍යය සැකසිය යුතුය, එය බාහිර පුස්තකාලය වෙත libsk-libfido2.so වෙත යන මාර්ගය දක්වයි (අපනයන SSH_SK_PROVIDER/libsk-libsk. ඒ නිසා). ස්තර පුස්තකාලය (--with-security-key-builtin) සඳහා ගොඩනඟන ලද සහාය ඇතිව openssh තැනීමට හැකි වේ, මෙම අවස්ථාවේදී ඔබට "SecurityKeyProvider=අභ්යන්තර" පරාමිතිය සැකසිය යුතුය.
ඊළඟට ඔබට "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 ප්‍රොටෝකෝලය සඳහා මුල් RFC හි සඳහන් වන සහ ප්‍රායෝගිකව පුළුල්ව පවතින (භාවිතය පරීක්ෂා කිරීමට) පොදු යතුරු ඩිජිටල් අත්සන ඇල්ගොරිතම "ssh-rsa" භාවිතා කිරීමේ හැකියාව පෙරනිමියෙන් අක්‍රිය කිරීමට ඔවුන් සැලසුම් කරයි. ඔබේ පද්ධතිවල ssh-rsa හි, ඔබට “-oHostKeyAlgorithms=-ssh-rsa” විකල්පය සමඟ ssh හරහා සම්බන්ධ වීමට උත්සාහ කළ හැකිය.

OpenSSH හි නව ඇල්ගොරිතම වෙත සංක්‍රමණය සුමට කිරීමට, අනාගත නිකුතුවකදී UpdateHostKeys සැකසුම පෙරනිමියෙන් සක්‍රීය කරනු ඇත, එය ස්වයංක්‍රීයව සේවාදායකයින් වඩාත් විශ්වාසදායක ඇල්ගොරිතම වෙත සංක්‍රමණය කරයි. සංක්‍රමණය සඳහා නිර්දේශිත ඇල්ගොරිතම RFC2 RSA SHA-256 මත පදනම් වූ rsa-sha512-8332/2 (OpenSSH 7.2 සිට සහය දක්වන අතර පෙරනිමියෙන් භාවිතා වේ), ssh-ed25519 (OpenSSH 6.5 සිට සහය දක්වයි) සහ ecdsa-sha2-n256 පාදක කර ඇත. RFC384 ECDSA මත (OpenSSH 521 සිට සහය දක්වයි).

OpenSSH 8.2 හි, “ssh-rsa” භාවිතයෙන් සම්බන්ධ වීමේ හැකියාව තවමත් පවතී, නමුත් මෙම ඇල්ගොරිතම CASignatureAlgorithms ලැයිස්තුවෙන් ඉවත් කර ඇත, එය නව සහතික ඩිජිටල් ලෙස අත්සන් කිරීමට අවසර දී ඇති ඇල්ගොරිතම නිර්වචනය කරයි. ඒ හා සමානව, diffie-hellman-group14-sha1 ඇල්ගොරිතම සහය දක්වන පෙරනිමි යතුරු හුවමාරු ඇල්ගොරිතම වලින් ඉවත් කර ඇත. දැනට පවතින සහතිකයක් සඳහා ගැටුමක් සෙවීමට ප්‍රහාරකයාට අසීමිත කාලයක් ඇති බැවින් සහතිකවල SHA-1 භාවිතය අමතර අවදානමක් සමඟ සම්බන්ධ වී ඇති බව සටහන් කර ඇති අතර, ධාරක යතුරු මත ප්‍රහාරයේ කාලය සම්බන්ධතා කාලය අවසන් වීමෙන් සීමා වේ (LoginGraceTime )

ssh-keygen ධාවනය කිරීම දැන් rsa-sha2-512 ඇල්ගොරිතමයට පෙරනිමි වේ, එය OpenSSH 7.2 සිට සහය දක්වයි, එය පැරණි OpenSSH නිකුතු ධාවනය වන පද්ධතිවල OpenSSH 8.2 හි අත්සන් කර ඇති සහතික සැකසීමට උත්සාහ කිරීමේදී ගැළපුම් ගැටළු ඇති කළ හැකිය (එවිට විට ගැටලුව විසඳා ගැනීමට. අත්සනක් උත්පාදනය කරමින්, ඔබට “ssh-keygen -t ssh-rsa” පැහැදිලිව සඳහන් කළ හැකිය, නැතහොත් OpenSSH 2 සිට සහය දක්වන ecdsa-sha256-nistp384/521/5.7 ඇල්ගොරිතම භාවිතා කළ හැකිය.

වෙනත් වෙනස්කම්:

  • sshd_config වෙත Include විධානයක් එක් කර ඇත, එමඟින් ඔබට අනෙකුත් ගොනු වල අන්තර්ගතය වින්‍යාස ගොනුවේ වත්මන් ස්ථානයේ ඇතුළත් කිරීමට ඉඩ සලසයි (ගොනු නාමය සඳහන් කිරීමේදී ගෝලීය ආවරණ භාවිතා කළ හැක);
  • "no-touch-required" විකල්පය ssh-keygen වෙත එක් කර ඇත, යතුර ජනනය කිරීමේදී ටෝකනය වෙත ප්‍රවේශය භෞතිකව තහවුරු කිරීමේ අවශ්‍යතාවය අක්‍රීය කරයි;
  • PubkeyAuthOptions විධානයක් sshd_config වෙත එක් කර ඇත, එය පොදු යතුරු සත්‍යාපනයට අදාළ විවිධ විකල්ප ඒකාබද්ධ කරයි. දැනට, ටෝකන සත්‍යාපනය සඳහා භෞතික පැමිණීම් පරීක්‍ෂාවන් මඟ හැරීමට සහය දක්වන්නේ "නො-ස්පර්ශ-අවශ්‍ය" ධජය පමණි. සාදෘශ්‍යයෙන්, “no-touch-required” විකල්පය authorized_keys ගොනුවට එක් කර ඇත;
  • යතුරු ජනනය කිරීමේදී අමතර FIDO සහතික කිරීමේ සහතික ලිවීමට ඉඩ දීම සඳහා ssh-keygen වෙත "-O write-attestation=/path" විකල්පය එක් කරන ලදී. OpenSSH තවමත් මෙම සහතික භාවිතා කර නැත, නමුත් ඒවා පසුව විශ්වාසදායක දෘඪාංග ගබඩාවක තබා ඇති බව තහවුරු කිරීමට භාවිතා කළ හැක;
  • ssh සහ sshd සැකසුම් තුළ, දැන් IPQoS විධානය හරහා ගමනාගමන ප්‍රමුඛතා මාදිලිය සැකසීමට හැකිය. LE DSCP (Lower-Effort Per-Hop Behavior);
  • ssh හි, “AddKeysToAgent=yes” අගය සකසන විට, යතුරේ අදහස් ක්ෂේත්‍රයක් අඩංගු නොවේ නම්, එය ssh-agent වෙත අදහස් දැක්වීමක් ලෙස යතුර වෙත යන මාර්ගය සඳහන් කරයි. තුල
    ssh-keygen සහ ssh-agent ද දැන් යතුරේ අදහස් ලෙස පුස්තකාල මාර්ගය වෙනුවට PKCS#11 ලේබල සහ X.509 විෂය නාමය භාවිතා කරයි;

  • DSA සඳහා PEM සහ ECDSA යතුරු ssh-keygen වෙත අපනයනය කිරීමේ හැකියාව එක් කරන ලදී;
  • FIDO/U2F ටෝකන් ප්‍රවේශ පුස්තකාලය හුදකලා කිරීමට භාවිතා කරන නව ක්‍රියාත්මක කළ හැකි, ssh-sk-helper එකක් එකතු කරන ලදී;
  • zlib පුස්තකාල සහාය ඇතිව සම්පාදනය කිරීම සඳහා ssh සහ sshd වෙත “--with-zlib” ගොඩනැගීමේ විකල්පය එක් කරන ලදී;
  • RFC4253 හි අවශ්‍යතාවයට අනුකූලව, MaxStartup සීමාවන් ඉක්මවා යාම හේතුවෙන් ප්‍රවේශ අවහිර කිරීම් පිළිබඳ අනතුරු ඇඟවීමක් සම්බන්ධතාවය අතරතුර ප්‍රදර්ශනය වන බැනරය තුළ සපයා ඇත. රෝග විනිශ්චය සරල කිරීම සඳහා, ps උපයෝගීතාව භාවිතා කරන විට දෘශ්‍යමාන වන sshd ක්‍රියාවලි ශීර්ෂය, දැනට සත්‍යාපනය කර ඇති සම්බන්ධතා ගණන සහ MaxStartup සීමාවේ තත්ත්වය පෙන්වයි;
  • ssh සහ ssh-agent හි, $SSH_ASKPASS හරහා නිශ්චිතව දක්වා ඇති, තිරය මත ආරාධනාවක් ප්‍රදර්ශනය කිරීමට වැඩසටහනක් ඇමතීමේදී, ආරාධනා වර්ගය සහිත ධජයක් දැන් අතිරේකව සම්ප්‍රේෂණය වේ: “තහවුරු කරන්න” - තහවුරු කිරීමේ සංවාදය (ඔව්/නැත), “කිසිවක් නැත. ” - තොරතුරු පණිවිඩය, “හිස්” — මුරපද ඉල්ලීම;
  • නිශ්චිත ඩිජිටල් අත්සනක් සමඟ සම්බන්ධිත පරිශීලකයා සඳහා අවසර-අත්සන් ගොනුව සෙවීම සඳහා ssh-keygen වෙත නව ඩිජිටල් අත්සන් මෙහෙයුමක් "සොයාගන්න-ප්‍රධානීන්" එක් කරන ලදී;
  • seccomp යාන්ත්‍රණය භාවිතයෙන් Linux මත sshd ක්‍රියාවලි හුදකලා කිරීම සඳහා වැඩි දියුණු කළ සහය: IPC පද්ධති ඇමතුම් අක්‍රිය කිරීම, clock_gettime64(), clock_nanosleep_time64 සහ clock_nanosleep().

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න