OpenSSH 8.5 хувилбар

Таван сарын хөгжүүлэлтийн дараа SSH 8.5 болон SFTP протоколууд дээр ажиллах үйлчлүүлэгч болон серверийн нээлттэй хувилбар болох OpenSSH 2.0 хувилбарыг танилцуулж байна.

OpenSSH хөгжүүлэгчид өгөгдсөн угтвартай мөргөлдөөний халдлагын үр ашиг нэмэгдсэнтэй холбоотойгоор SHA-1 хэш ашиглан алгоритмуудыг удахгүй татан буулгах гэж байгааг санууллаа (мөргөлдөөнийг сонгох зардал нь ойролцоогоор 50 мянган доллараар тооцогдоно). Удахгүй гарах хувилбаруудын нэгэнд тэд SSH протоколын анхны RFC-д дурдсан, практикт өргөн тархсан хэвээр байгаа "ssh-rsa" нийтийн түлхүүрийн тоон гарын үсгийн алгоритмыг ашиглах боломжийг анхдагч байдлаар идэвхгүй болгохоор төлөвлөж байна.

Та өөрийн систем дээр ssh-rsa-г ашиглахыг шалгахын тулд “-oHostKeyAlgorithms=-ssh-rsa” сонголтоор ssh-ээр холбогдож үзээрэй. Үүний зэрэгцээ, "ssh-rsa" дижитал гарын үсгийг анхдагч байдлаар идэвхгүй болгох нь RSA түлхүүрүүдийг ашиглахаас бүрэн татгалзах гэсэн үг биш юм, учир нь SHA-1-ээс гадна SSH протокол нь хэш тооцоолох бусад алгоритмуудыг ашиглах боломжийг олгодог. Ялангуяа "ssh-rsa" -аас гадна "rsa-sha2-256" (RSA/SHA256) болон "rsa-sha2-512" (RSA/SHA512) багцуудыг ашиглах боломжтой хэвээр байх болно.

Шинэ алгоритм руу шилжих шилжилтийг жигд болгохын тулд OpenSSH 8.5 нь UpdateHostKeys тохиргоог анхдагчаар идэвхжүүлсэн бөгөөд энэ нь үйлчлүүлэгчдэд илүү найдвартай алгоритм руу автоматаар шилжих боломжийг олгодог. Энэ тохиргоог ашиглан тусгай протоколын өргөтгөлийг идэвхжүүлсэн "[имэйлээр хамгаалагдсан]", баталгаажуулалтын дараа серверт боломжтой бүх хост түлхүүрүүдийн талаар үйлчлүүлэгчид мэдэгдэх боломжийг олгоно. Үйлчлүүлэгч эдгээр түлхүүрүүдийг ~/.ssh/known_hosts файлдаа тусгах боломжтой бөгөөд энэ нь хост түлхүүрүүдийг шинэчлэх боломжийг олгодог бөгөөд сервер дээрх түлхүүрүүдийг өөрчлөхөд хялбар болгодог.

UpdateHostKeys-ийн хэрэглээ нь ирээдүйд устгаж болох хэд хэдэн анхааруулгааар хязгаарлагддаг: түлхүүр нь UserKnownHostsFile-д лавлагаатай байх ёстой бөгөөд GlobalKnownHostsFile-д ашиглагдах ёсгүй; түлхүүр нь зөвхөн нэг нэрийн дор байх ёстой; хост түлхүүрийн гэрчилгээг ашиглах ёсгүй; know_hosts-д хостын нэрээр маск хэрэглэж болохгүй; VerifyHostKeyDNS тохиргоог идэвхгүй болгосон байх ёстой; UserKnownHostsFile параметр идэвхтэй байх ёстой.

Шилжүүлэхэд санал болгож буй алгоритмууд нь RFC2 RSA SHA-256 (OpenSSH 512-с хойш дэмжигдсэн бөгөөд анхдагчаар ашиглагддаг), ssh-ed8332 (OpenSSH 2-аас хойш дэмжигдсэн) болон ecdsa-sha7.2-nistp25519/6.5 дээр суурилсан rsa-sha2-256/384 орно. RFC521 ECDSA дээр (OpenSSH 5656-с хойш дэмжигддэг).

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

  • Аюулгүй байдлын өөрчлөлтүүд:
    • ssh-agent дээр аль хэдийн суллагдсан санах ойн хэсгийг (давхар чөлөөгүй) дахин чөлөөлсний улмаас үүссэн эмзэг байдлыг зассан. Энэ асуудал OpenSSH 8.2 хувилбарыг гаргаснаас хойш байсаар байгаа бөгөөд хэрэв халдагч орон нутгийн систем дээрх ssh-agent залгуурт хандах боломжтой бол түүнийг ашиглах боломжтой. Мөлжлөгийг илүү хэцүү болгодог зүйл нь зөвхөн root болон анхны хэрэглэгч л сокет руу нэвтрэх эрхтэй байдаг. Халдлагын хамгийн их магадлалтай хувилбар бол агентыг халдагчийн удирддаг данс руу эсвэл халдагчид root хандалттай хост руу шилжүүлэх явдал юм.
    • sshd нь PAM дэд системд хэрэглэгчийн нэр бүхий маш том параметрүүдийг дамжуулахаас хамгаалах хамгаалалтыг нэмсэн бөгөөд энэ нь PAM (Pluggable Authentication Module) системийн модулиудын эмзэг байдлыг хаах боломжийг олгодог. Жишээлбэл, өөрчлөлт нь sshd-г Solaris (CVE-2020-14871) дээр саяхан илрүүлсэн үндсэн эмзэг байдлыг ашиглах вектор болгон ашиглахаас сэргийлдэг.
  • Тохиромжтой байдлын өөрчлөлтийг эвдэж болзошгүй:
    • Ssh болон sshd дээр квант компьютер дээр таахад тэсвэртэй туршилтын түлхүүр солилцох аргыг дахин зохион бүтээсэн. Квантын компьютерууд натурал тоог анхны хүчин зүйл болгон задлах асуудлыг шийдвэрлэхэд илүү хурдан байдаг бөгөөд энэ нь орчин үеийн тэгш хэмт бус шифрлэлтийн алгоритмуудын үндэс суурь болдог бөгөөд сонгодог процессорууд дээр үр дүнтэй шийдвэрлэх боломжгүй юм. Ашигласан арга нь квантын дараах криптосистемд зориулан боловсруулсан NTRU Prime алгоритм болон X25519 эллипс муруй түлхүүр солилцох аргад суурилдаг. Оронд нь [имэйлээр хамгаалагдсан] арга нь одоо тодорхойлогддог [имэйлээр хамгаалагдсан] (sntrup4591761 алгоритмыг sntrup761-ээр сольсон).
    • Ssh болон sshd дээр дэмжигдсэн тоон гарын үсгийн алгоритмуудыг зарлах дарааллыг өөрчилсөн. Одоо ECDSA-ийн оронд ED25519-ийг эхлээд санал болгож байна.
    • Ssh болон sshd дээр интерактив сешнүүдийн үйлчилгээний TOS/DSCP чанарын параметрүүдийг TCP холболт үүсгэхээс өмнө тохируулдаг.
    • ssh болон sshd дээр шифрийн дэмжлэг зогссон [имэйлээр хамгаалагдсан], энэ нь aes256-cbc-тэй ижил бөгөөд RFC-4253-ыг батлахаас өмнө ашиглаж байсан.
    • Анхдагч байдлаар CheckHostIP параметрийг идэвхгүй болгосон бөгөөд түүний ашиг тус нь үл тоомсорлодог боловч түүний хэрэглээ нь ачааллын тэнцвэржүүлэгчийн ард байрлах хостуудын түлхүүрийн эргэлтийг ихээхэн хүндрүүлдэг.
  • PerSourceMaxStartups болон PerSourceNetBlockSize тохиргоог sshd-д нэмснээр харилцагчийн хаяг дээр тулгуурлан зохицуулагчийг эхлүүлэх эрчмийг хязгаарласан. Эдгээр параметрүүд нь ерөнхий MaxStartups тохиргоотой харьцуулахад процессыг эхлүүлэх хязгаарыг илүү нарийн хянах боломжийг танд олгоно.
  • LogVerbose-ийн шинэ тохиргоог ssh болон sshd-д нэмсэн бөгөөд энэ нь загвар, функц, файлаар шүүж, бүртгэлд хаягдсан дибаг хийх мэдээллийн түвшинг хүчээр нэмэгдүүлэх боломжийг олгодог.
  • Ssh-д шинэ хост түлхүүрийг хүлээн авах үед түлхүүртэй холбоотой бүх хостын нэр болон IP хаягууд харагдана.
  • ssh нь UserKnownHostsFile=none сонголтод хост түлхүүрүүдийг таних үед мэдэгдэж байгаа_hosts файлын хэрэглээг идэвхгүй болгох боломжийг олгодог.
  • KnownHostsCommand тохиргоог ssh-д зориулсан ssh_config-д нэмсэн бөгөөд энэ нь танд заасан тушаалын гаралтаас мэдэгдэж буй_hosts өгөгдлийг авах боломжийг олгоно.
  • SOCKS-тэй RemoteForward сонголтыг ашиглах үед очих газраа хязгаарлах боломжийг олгох үүднээс ssh-д зориулсан ssh_config-д PermitRemoteOpen сонголтыг нэмсэн.
  • FIDO түлхүүрүүдэд зориулсан ssh-д ПИН код буруу хийгдсэний улмаас тоон гарын үсгийн ажиллагаа бүтэлгүйтсэн, хэрэглэгчээс ПИН код асуугаагүй тохиолдолд (жишээлбэл, зөв ​​биометрийн өгөгдлийг авч чадаагүй, төхөөрөмж гар аргаар PIN оруулах горим руу буцсан).
  • sshd нь Линукс дээрх seccomp-bpf-д суурилсан процесс тусгаарлах механизмд нэмэлт системийн дуудлагын дэмжлэгийг нэмдэг.
  • Contrib/ssh-copy-id хэрэгсэл шинэчлэгдсэн.

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

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