Нашри OpenSSH 8.2 бо дастгирии токенҳои аутентификатсияи ду-омили FIDO/U2F

Пас аз чор моҳи рушд пешниҳод карда мешавад релиз OpenSSH 8.2, як муштарӣ ва сервери кушода барои кор тавассути протоколҳои SSH 2.0 ва SFTP.

Такмили калидӣ дар нашри OpenSSH 8.2 ин қобилияти истифодаи аутентификатсияи ду-омилӣ бо истифода аз дастгоҳҳое буд, ки протоколро дастгирӣ мекунанд U2F, ки аз тарафи иттифок тартиб дода шудааст Фидо. U2F имкон медиҳад, ки токенҳои сахтафзори арзон эҷод кунанд, то ҳузури ҷисмонии корбарро тафтиш кунанд ва бо онҳо тавассути USB, Bluetooth ё NFC муошират кунанд. Чунин дастгоҳҳо ҳамчун воситаи аутентификатсияи ду-омилӣ дар вебсайтҳо пешбарӣ карда мешаванд, аллакай аз ҷониби браузерҳои асосӣ дастгирӣ мешаванд ва аз ҷониби истеҳсолкунандагони гуногун, аз ҷумла Yubico, Feitian, Thetis ва Kensington истеҳсол карда мешаванд.

Барои муошират бо дастгоҳҳое, ки ҳузури корбарро тасдиқ мекунанд, ба OpenSSH намудҳои нави калидии “ecdsa-sk” ва “ed25519-sk” илова карда шуданд, ки алгоритмҳои имзои рақамии ECDSA ва Ed25519-ро дар якҷоягӣ бо hash SHA-256 истифода мебаранд. Тартиби ҳамкорӣ бо нишонаҳо дар китобхонаи фосилавӣ ҷойгир карда мешавад, ки он ба таври шабеҳ ба китобхона барои дастгирии PKCS # 11 бор карда мешавад ва дар болои китобхона бастабандӣ аст. libfido2, ки асбобҳоро барои иртибот бо нишонаҳо тавассути USB таъмин мекунад (протоколҳои FIDO U2F/CTAP 1 ва FIDO 2.0/CTAP 2 дастгирӣ мешаванд). Китобхонаи фосилавии libsk-libfido2, ки аз ҷониби таҳиягарони OpenSSH омода шудааст дохил карда шудааст ба либфидо2 асосй, инчунин Ронандаи HID барои OpenBSD.

Барои тасдиқ ва тавлиди калид, шумо бояд параметри "SecurityKeyProvider" -ро дар танзимот муайян кунед ё тағирёбандаи муҳити SSH_SK_PROVIDER -ро бо нишон додани роҳ ба китобхонаи берунии libsk-libfido2.so (экспорти SSH_SK_PROVIDER=/path/to/libsk-libfido2. ҳамин тавр). Openssh-ро бо дастгирии дарунсохтаи китобхонаи қабат (--with-security-key-builtin) сохтан мумкин аст, дар ин ҳолат шумо бояд параметри "SecurityKeyProvider=internal" -ро таъин кунед.
Минбаъд шумо бояд "ssh-keygen -t ecdsa-sk" -ро иҷро кунед ё агар калидҳо аллакай сохта ва танзим шуда бошанд, бо истифода аз "ssh" ба сервер пайваст шавед. Вақте ки шумо ssh-keygen-ро иҷро мекунед, ҷуфти калидҳои тавлидшуда дар "~/.ssh/id_ecdsa_sk" захира карда мешаванд ва мумкин аст ба мисли калидҳои дигар истифода шаванд.

Калиди ҷамъиятӣ (id_ecdsa_sk.pub) бояд ба сервер дар файли authorized_keys нусхабардорӣ карда шавад. Дар тарафи сервер, танҳо имзои рақамӣ тасдиқ карда мешавад ва ҳамкорӣ бо нишонаҳо дар тарафи муштарӣ анҷом дода мешавад (ба шумо лозим нест, ки libsk-libfido2-ро дар сервер насб кунед, аммо сервер бояд навъи калиди "ecdsa-sk" -ро дастгирӣ кунад) . Калиди хусусии тавлидшуда (id_ecdsa_sk) аслан дастаки калид буда, калиди воқеиро танҳо дар якҷоягӣ бо пайдарпаии махфие, ки дар тарафи аломати U2F нигоҳ дошта мешавад, ташкил медиҳад. Агар калиди id_ecdsa_sk ба дасти ҳамлагар афтад, барои гузаштани аутентификатсия ба ӯ ҳамчунин лозим меояд, ки ба аломати сахтафзор дастрасӣ пайдо кунад, ки бе он калиди хусусии дар файли id_ecdsa_sk ҳифзшуда бефоида аст.

Илова бар ин, ба таври нобаёнӣ, ҳангоми анҷом додани ҳама гуна амалиёт бо калидҳо (ҳам ҳангоми тавлид ва ҳам ҳангоми аутентификатсия) тасдиқи маҳаллии ҳузури ҷисмонии корбар талаб карда мешавад, масалан, пешниҳод карда мешавад, ки сенсорро дар токен ламс кунед, ки ин боиси мушкил мегардад. ҳамлаҳои дурдаст ба системаҳои бо аломати пайвастшуда анҷом диҳед. Ҳамчун хати дигари муҳофизат, паролро инчунин дар марҳилаи оғозёбии ssh-keygen барои дастрасӣ ба файли калид муайян кардан мумкин аст.

Варианти нави OpenSSH инчунин аз бекоркунии дарпешистодаи алгоритмҳо бо истифода аз хэшҳои SHA-1 эълон кард. пешбарй кардан самаранокии ҳамлаҳои бархӯрд бо префикси додашуда (арзиши интихоби бархӯрд тақрибан 45 ҳазор доллар ҳисоб карда мешавад). Дар яке аз нашрҳои дарпешистода, онҳо нақша доранд, ки ба таври нобаёнӣ қобилияти истифодаи калиди оммавии алгоритми имзои рақамии "ssh-rsa", ки дар RFC-и аслии протоколи SSH зикр шудааст ва дар амал васеъ боқӣ мемонад (барои санҷиши истифодаи он) аз 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 дар RFC521 ECDSA (аз OpenSSH 5656 дастгирӣ карда мешавад).

Дар 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 дастури Include илова карда шуд, ки ба шумо имкон медиҳад, ки мундариҷаи файлҳои дигарро дар мавқеи ҷории файли конфигуратсия дохил кунед (ниқобҳои glob ҳангоми муайян кардани номи файл истифода мешаванд);
  • Ба ssh-keygen опсияи "но-такс лозим" илова карда шудааст, ки зарурати аз ҷиҳати ҷисмонӣ тасдиқ кардани дастрасӣ ба нишонаро ҳангоми тавлиди калид ғайрифаъол мекунад;
  • Ба sshd_config дастури PubkeyAuthOptions илова карда шуд, ки имконоти мухталифи марбут ба аутентификатсияи калиди ҷамъиятиро муттаҳид мекунад. Дар айни замон, танҳо парчами "но-дастрас лозим" дастгирӣ карда мешавад, то аз санҷиши ҳузури ҷисмонӣ барои тасдиқи аломатҳо гузаред. Аз рӯи қиёс, ба файли authorized_keys опсияи "но-такс лозим" илова карда шудааст;
  • Имконияти "-O write-attestation=/path" ба ssh-keygen илова карда шуд, то ҳангоми тавлиди калидҳо шаҳодатномаҳои иловагии аттестатсияи FIDO навишта шаванд. OpenSSH то ҳол ин сертификатҳоро истифода намебарад, аммо онҳо баъдтар метавонанд барои тасдиқи он ки калид дар мағозаи сахтафзори боэътимод ҷойгир шудааст, истифода шаванд;
  • Дар танзимоти ssh ва sshd, ҳоло имконпазир аст, ки режими афзалиятдиҳии трафикро тавассути дастури IPQoS муқаррар кунед LE DSCP (Рафтори пасти саъю кӯшиши ҳар як хоп);
  • Дар ssh, ҳангоми гузоштани арзиши "AddKeysToAgent=yes", агар калид майдони шарҳро дарбар надошта бошад, он ба ssh-agent илова карда мешавад, ки роҳи калидро ҳамчун шарҳ нишон медиҳад. ДАР
    ssh-keygen ва ssh-agent низ ҳоло тамғаҳои PKCS#11 ва номи мавзӯъи X.509-ро ба ҷои роҳи китобхона ҳамчун шарҳ дар калид истифода мебаранд;

  • Имконияти содироти PEM барои калидҳои DSA ва ECDSA ба ssh-keygen илова карда шуд;
  • Иловаи нави иҷрошавандаи ssh-sk-helper, ки барои ҷудо кардани китобхонаи дастрасии FIDO/U2F истифода мешавад;
  • Имконияти сохтани "--with-zlib" ба ssh ва sshd барои таҳия бо дастгирии китобхонаи zlib илова карда шуд;
  • Мувофиқи талаботи RFC4253, дар баннере, ки ҳангоми пайвастшавӣ нишон дода мешавад, огоҳӣ дар бораи бастани дастрасӣ бо сабаби зиёд шудани маҳдудиятҳои MaxStartups дода мешавад. Барои содда кардани ташхис, сарлавҳаи раванди sshd, ки ҳангоми истифодаи утилитаи ps намоён аст, ҳоло шумораи пайвастҳои тасдиқшудаи ҳозира ва ҳолати маҳдудияти MaxStartups нишон медиҳад;
  • Дар ssh ва ssh-agent, ҳангоми занг задан ба барнома барои намоиш додани даъватнома дар экран, ки тавассути $SSH_ASKPASS муайян шудааст, ҳоло ба таври иловагӣ парчам бо навъи даъватнома интиқол дода мешавад: "тасдиқ" - муколамаи тасдиқ (ҳа/не), "ҳеҷ" ” - паёми иттилоотӣ, “бланк” — дархости парол;
  • Ба ssh-keygen амалиёти нави имзои рақамии "find-principals" барои ҷустуҷӯи файли имзокунандагони иҷозатдодашуда барои корбаре, ки бо имзои рақамии мушаххас алоқаманд аст, илова карда шуд;
  • Дастгирии мукаммали изолятсияи раванди sshd дар Linux бо истифода аз механизми seccomp: хомӯш кардани зангҳои системаи IPC, иҷозат додан ба clock_gettime64(), clock_nanosleep_time64 ва clock_nanosleep().

Манбаъ: opennet.ru

Илова Эзоҳ