Π Π΅Π»ΠΈΠ· OpenSSH 9.9 с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° постквантового ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ML-KEM

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Ρ€Π΅Π»ΠΈΠ· OpenSSH 9.9, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ SSH 2.0 ΠΈ SFTP. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ измСнСния:

  • Π’ ssh ΠΈ sshd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ «mlkem768x25519-sha256», стойкого ΠΊ ΠΏΠΎΠ΄Π±ΠΎΡ€Ρƒ Π½Π° ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΈΠ· X25519 ECDH ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ML-KEM (CRYSTALS-Kyber), Π½Π΅Π΄Π°Π²Π½ΠΎ стандартизированный ΠΠ°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ институтом стандартов ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ БША (NIST). ML-KEM ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, основанныС Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Ρ€Π΅ΡˆΡ‘Ρ‚ΠΎΠΊ, врСмя Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ отличаСтся Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΈ ΠΊΠ²Π°Π½Ρ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ….
  • Π’ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ sshd_config Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово «RefuseConnection», ΠΏΡ€ΠΈ выставлСнии ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ sshd Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ соСдинСния послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ PerSourcePenalties Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ класс «refuseconnection», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСняСтся ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ соСдинСния послС срабатывания «RefuseConnection».
  • Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ssh ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сТатия Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° этапС Π΄ΠΎ прохоТдСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, которая сущСствСнно ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ Π½Π° SSH-сСрвСры ΠΈ создаёт риски примСнСния косвСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, отправляСмой Π² процСссС Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π’ сСрвСрС sshd сТатиС Π΄ΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Ρ€Π°Π½Π΅Π΅.
  • Π’ ssh ΠΈ sshd ΠΏΡ€ΠΈ Ρ€Π°Π·Π±ΠΎΡ€Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ «Match» задСйствованы ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ Π½Π° shell ΠΏΡ€Π°Π²ΠΈΠ»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками, Π·Π°ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΌΠΈ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΎΠ±Ρ€Π°ΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ экранирования ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ символа «\».
  • Π’ Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ssh_config Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ «Include» обСспСчСна ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния ΠΈ «%»-подстановок, Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ ΠΊΠ°ΠΊ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ «Match Exec».
  • Π’ sshd_config Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ Match Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция «invalid-user», ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π²Ρ…ΠΎΠ΄Π° с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • Π’ ssh ΠΈ sshd задСйствована Π±ΠΎΠ»Π΅Π΅ быстрая рСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° «Streamlined NTRUPrime». Для Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ Streamlined NTRUPrime/X25519 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования ΠΈΠΌΠ΅Π½ΠΈ «sntrup761x25519-sha512», ΠΏΠΎΠΌΠΈΠΌΠΎ спСцифичного для SSH ΠΈΠΌΠ΅Π½ΠΈ «[email protected]».
  • Π’ ssh, sshd ΠΈ ssh-agent Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π² OpenBSD, Linux ΠΈ FreeBSD Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ осСдания Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² core-Ρ„Π°ΠΉΠ»Π°Ρ….
  • ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π½Π° использованиС API EVP_PKEY, прСдоставляСмый Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ libcrypto.
  • Π’ sshd Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ случайноС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (LoginGraceTime) Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… 4 сСкунд для услоТнСния опрСдСлСния истСчСния Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°.
  • Π Π΅ΡˆΠ΅Π½Ρ‹ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со сборкой с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Musl.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru