OpenSSH 9.2 нь баталгаажуулалтын өмнөх эмзэг байдлыг зассан

SSH 9.2 болон SFTP протоколуудыг ашиглан ажиллах үйлчлүүлэгч болон серверийн нээлттэй хувилбар болох OpenSSH 2.0 хувилбар хэвлэгдэн гарлаа. Шинэ хувилбар нь баталгаажуулалтын өмнөх үе шатанд санах ойг давхар чөлөөлөхөд хүргэдэг эмзэг байдлыг арилгасан. Зөвхөн OpenSSH 9.1 хувилбарт нөлөөлсөн бөгөөд өмнөх хувилбаруудад асуудал харагдахгүй байна.

Эмзэг байдлын илрэлийн нөхцөлийг бүрдүүлэхийн тулд SSH-ийн хувилбараас хамаарах "SSH_BUG_CURVE2.0PAD" болон "SSH_OLD_DHGEX" тугуудыг тохируулахын тулд SSH клиент баннерыг "SSH-9.1-FuTTYSH_1p25519" болгон өөрчлөхөд хангалттай. үйлчлүүлэгч. Эдгээр тугуудыг тохируулсны дараа "options.kex_algorithms" буферийн санах ой хоёр удаа чөлөөлөгдөнө - compat_kex_proposal() гэж дууддаг do_ssh2_kex() функцийг гүйцэтгэх үед болон input_userauth_requep(na), mm_getw () гэж дууддаг do_authentication2() функцийг гүйцэтгэх үед. ), гинжин хэлхээний дагуу copy_set_server_options(), assemble_algorithms() болон kex_assemble_names().

Мөлжилтийн үйл явц нь хэтэрхий төвөгтэй байдаг тул эмзэг байдлын хувьд ажиллаж буй эксплойт үүсгэх магадлал багатай гэж үздэг - орчин үеийн санах ойн хуваарилалтын сангууд нь санах ойг давхар чөлөөлөхөөс хамгаалдаг бөгөөд алдаа гарсан урьдчилан баталгаажуулах үйл явц нь тусгаарлагдсан байдлаар бага эрхтэйгээр ажилладаг. хамгаалагдсан хязгаарлагдмал орчинд.

Тэмдэглэгдсэн эмзэг байдлаас гадна шинэ хувилбар нь аюулгүй байдлын хоёр асуудлыг зассан:

  • "PermitRemoteOpen" тохиргоог боловсруулах явцад алдаа гарсан бөгөөд эхний аргумент нь "any" болон "none" гэсэн утгуудаас ялгаатай байвал үл тоомсорлоход хүргэсэн. Асуудал нь OpenSSH 8.7-ээс шинэ хувилбаруудад гарч ирдэг бөгөөд зөвхөн нэг зөвшөөрөл заасан тохиолдолд шалгалтыг алгасахад хүргэдэг.
  • Хэрэв тохиргоонд CanonicalizeHostname болон CanonicalizePermittedCNAMEs сонголтууд идэвхжсэн бөгөөд систем шийдүүлэгч нь тохиргооны зөв эсэхийг шалгаагүй бол нэрийг шийдвэрлэхэд ашигладаг DNS серверийг удирдаж буй халдагч нь мэдэгдэж буй_hosts файлд тусгай тэмдэгтүүдийг (жишээ нь, "*") орлуулах боломжтой. DNS серверийн хариултууд. Буцаагдсан нэрс нь CanonicalizePermittedCNAMEs-ээр заасан нөхцөлтэй тохирч байх ёстой тул халдлага гарах магадлал багатай гэж үзэж байна.

Бусад өөрчлөлтүүд:

  • EnableEscapeCommandline тохиргоог ssh-д зориулсан ssh_config-д нэмсэн бөгөөд командын мөрийг хангадаг "~C" escape дарааллын клиент талын боловсруулалтыг идэвхжүүлсэн эсэхийг хянах боломжтой. Анхдагч байдлаар, "~C" горимыг одоо илүү хатуу хамгаалагдсан хязгаарлагдмал тусгаарлалтыг ашиглахын тулд идэвхгүй болгосон бөгөөд ажиллах үед порт дамжуулахад "~C" ашигладаг системийг эвдэж болзошгүй.
  • Сувгийн идэвхгүй байдлын хугацааг тохируулахын тулд ChannelTimeout зааврыг sshd_config for sshd-д нэмсэн (зааварт заасан хугацаанд ямар ч урсгал бүртгэгдээгүй сувгууд автоматаар хаагдах болно). Сеанс, X11, агент, урсгалыг дахин чиглүүлэхэд өөр өөр завсарлага тохируулж болно.
  • UnusedConnectionTimeout зааврыг sshd-д зориулсан sshd_config-д нэмсэн нь тодорхой хугацаанд идэвхтэй суваггүй байсан үйлчлүүлэгчийн холболтыг зогсоох хугацааг тохируулах боломжийг танд олгоно.
  • ssh клиент дээрх ижил төстэй сонголттой адил хувилбарыг харуулахын тулд "-V" сонголтыг sshd дээр нэмсэн.
  • Хост нэрийн аргументийн утгыг тусгасан "ssh -G" гаралт дээр "Host" мөрийг нэмсэн.
  • Хуулбарлах буферийн хэмжээ, хүлээгдэж буй хүсэлтийн тоо зэрэг SFTP протоколын параметрүүдийг хянахын тулд "-X" сонголтыг scp болон sftp дээр нэмсэн.
  • ssh-keyscan нь CIDR хаягийн бүрэн мужийг сканнердах боломжийг олгодог, жишээ нь "ssh-keyscan 192.168.0.0/24".

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх