OpenSSH 8.9 versiyasi sshd-dagi zaiflikni yo'q qilish bilan

Olti oylik ishlab chiqishdan so'ng, SSH 8.9 va SFTP protokollari ustida ishlash uchun ochiq mijoz va server ilovasi bo'lgan OpenSSH 2.0 versiyasi taqdim etildi. Sshd-ning yangi versiyasi autentifikatsiya qilinmagan kirishga ruxsat berishi mumkin bo'lgan zaiflikni tuzatadi. Muammo autentifikatsiya kodidagi butun sonning to'lib ketishidan kelib chiqadi, lekin undan faqat koddagi boshqa mantiqiy xatolar bilan birgalikda foydalanish mumkin.

Joriy shaklda, imtiyozlarni ajratish rejimi yoqilgan bo'lsa, zaiflikdan foydalanib bo'lmaydi, chunki uning namoyon bo'lishi imtiyozlarni ajratish kuzatuv kodida amalga oshiriladigan alohida tekshirishlar bilan bloklanadi. Imtiyozlarni ajratish rejimi 2002-yildan beri OpenSSH 3.2.2-dan beri sukut boʻyicha yoqilgan va 7.5-yilda chop etilgan OpenSSH 2017 versiyasidan boshlab majburiy boʻlib kelgan. Bundan tashqari, OpenSSH-ning 6.5 (2014-yil) versiyasidan boshlab portativ versiyalarida zaiflik butun sonlar to'lib ketishidan himoyalanish bayroqlarini qo'shgan holda kompilyatsiya qilish orqali bloklanadi.

Boshqa o'zgarishlar:

  • OpenSSH-ning sshd-dagi portativ versiyasi MD5 algoritmidan foydalangan holda parollarni xeshlash uchun mahalliy yordamni olib tashladi (libxcrypt kabi tashqi kutubxonalar bilan bog'lanishni qaytarishga imkon beradi).
  • ssh, sshd, ssh-add va ssh-agent ssh-agentga qo'shilgan kalitlarni yo'naltirish va ulardan foydalanishni cheklash uchun quyi tizimni amalga oshiradi. Quyi tizim sizga kalitlarni ssh-agentda qanday va qayerda ishlatish mumkinligini aniqlaydigan qoidalarni o'rnatish imkonini beradi. Misol uchun, faqat scylla.example.org xostiga ulangan har qanday foydalanuvchini autentifikatsiya qilish uchun ishlatilishi mumkin bo'lgan kalitni qo'shish uchun foydalanuvchi cetus.example.org xostiga va medea foydalanuvchisi charybdis.example.org xostiga perseus. scylla.example.org oraliq xosti orqali qayta yo'naltirish bilan siz quyidagi buyruqdan foydalanishingiz mumkin: $ ssh-add -h "[elektron pochta bilan himoyalangan]" \ -h "scylla.example.org" \ -h "scylla.example.org>[elektron pochta bilan himoyalangan]\ ~/.ssh/id_ed25519
  • Ssh va sshd-da, KexAlgoritmlar ro'yxatiga sukut bo'yicha gibrid algoritm qo'shilgan, bu kalit almashish usullarini tanlash tartibini belgilaydi.[elektron pochta bilan himoyalangan]"(ECDH/x25519 + NTRU Prime), kvant kompyuterlarida tanlovga chidamli. OpenSSH 8.9 da ushbu muzokara usuli ECDH va DH usullari o'rtasida qo'shilgan, ammo keyingi versiyada sukut bo'yicha yoqilgan bo'lishi rejalashtirilgan.
  • ssh-keygen, ssh va ssh-agent qurilmalarni tekshirish uchun ishlatiladigan FIDO token kalitlari, jumladan, biometrik autentifikatsiya kalitlari bilan ishlashni yaxshilagan.
  • Ruxsat berilgan nomlar ro'yxati faylida foydalanuvchi nomlarini tekshirish uchun ssh-keygenga "ssh-keygen -Y match-principals" buyrug'i qo'shildi.
  • ssh-add va ssh-agent PIN-kod bilan himoyalangan FIDO kalitlarini ssh-agentga qo'shish imkoniyatini beradi (PIN so'rovi autentifikatsiya vaqtida ko'rsatiladi).
  • ssh-keygen imzo yaratish jarayonida xeshlash algoritmini (sha512 yoki sha256) tanlash imkonini beradi.
  • Ssh va sshd-da ishlashni yaxshilash uchun tarmoq ma'lumotlari to'g'ridan-to'g'ri kiruvchi paketlar buferiga o'qiladi, bu stekdagi oraliq buferlashni chetlab o'tadi. Qabul qilingan ma'lumotlarni to'g'ridan-to'g'ri kanal buferiga joylashtirish xuddi shunday tarzda amalga oshiriladi.
  • Ssh-da PubkeyAuthentication direktivasi qo'llab-quvvatlanadigan parametrlar ro'yxatini kengaytirdi (ha|yo'q|bog'lanmagan|xost-bog'langan) foydalaniladigan protokol kengaytmasi variantini tanlash imkoniyatini ta'minlash.

Kelgusi versiyada biz eski SCP/RCP protokoli o'rniga SFTP dan foydalanish uchun scp yordam dasturining sukut bo'yicha o'zgartirishni rejalashtirmoqdamiz. SFTP ko'proq bashorat qilinadigan nomlarni qayta ishlash usullaridan foydalanadi va boshqa xost tomonidagi fayl nomlarida glob naqshlarini qobiq bilan qayta ishlashdan foydalanmaydi, bu esa xavfsizlik muammolarini keltirib chiqaradi. Xususan, SCP va RCP dan foydalanganda, server mijozga qaysi fayl va kataloglarni yuborishni hal qiladi va mijoz faqat qaytarilgan ob'ekt nomlarining to'g'riligini tekshiradi, bu esa mijoz tomonidan tegishli tekshiruvlar bo'lmasa, so'ralganlardan farq qiladigan boshqa fayl nomlarini uzatish uchun server. SFTP protokolida bunday muammolar mavjud emas, lekin "~/" kabi maxsus yo'llarni kengaytirishni qo'llab-quvvatlamaydi. Ushbu farqni bartaraf etish uchun OpenSSH-ning oldingi versiyasi SFTP serverini amalga oshirishda ~/ va ~user/ yo'llariga yangi SFTP protokoli kengaytmasini taqdim etdi.

Manba: opennet.ru

a Izoh qo'shish