ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ SSH3, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ HTTP/3

ДоступСн ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ выпуск ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвСра ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH3, ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ΅ надстройки Π½Π°Π΄ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ HTTP/3, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅ΠΉ QUIC (Π½Π° Π±Π°Π·Π΅ UDP) ΠΈ TLS 1.3 для установки Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° связи ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ HTTP для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ѐрансуа МишСль (François Michel), аспирант ЛувСнского католичСского унивСрситСта (Π‘Π΅Π»ΡŒΠ³ΠΈΡ), ΠΏΡ€ΠΈ участии ОливьС Π‘ΠΎΠ½Π°Π²Π΅Π½Ρ‚ΡƒΡ€Ρ‹ (Olivier Bonaventure), профСссора Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ унивСрситСта, извСстного Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ подсистСмы Multipath TCP ΠΈ ΠΊΠΎΠ΄Π° сСгмСнтной ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ IPv6 для ядра Linux, Π° Ρ‚Π°ΠΊΠΆΠ΅ соавтора 10 RFC ΠΈ Ρ‡Π΅Ρ€Π½ΠΎΠ²ΠΈΠΊΠΎΠ² Π±ΠΎΠ»Π΅Π΅ 60 сСтСвых спСцификаций. Код эталонной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра написан Π½Π° языкС Go ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° SSH3 стала Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ пСрСсмотра ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH, ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ исслСдоватСлСй нСзависимо ΠΎΡ‚ OpenSSH ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ классичСского ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH. Π’ SSH3 сСмантика классичСского ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ HTTP, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ скрытиС связанной с SSH-активности срСди Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°.

ΠŸΡ€ΠΈ использовании SSH3 сСрвСр Π½Π΅ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΌ ΠΎΡ‚ HTTP-сСрвСра ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ запросы Π½Π° 443-сСтСвом ΠΏΠΎΡ€Ρ‚Ρƒ (HTTPS), Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ SSH3 сливаСтся с Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌ HTTP-Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ, Ρ‡Ρ‚ΠΎ затрудняСт ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π°Ρ‚Π°ΠΊ, связанных со сканированиСм ΠΏΠΎΡ€Ρ‚ΠΎΠ² ΠΈ выявлСниСм SSH-сСрвСров для ΠΏΠΎΠ΄Π±ΠΎΡ€Π° ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ. Для услоТнСния ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊ Π½Π° сСрвСры SSH3, ΠΊΡ€ΠΎΠΌΠ΅ знания свСдСний ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ сСрвСра Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ IP-адрСсС, ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ сСкрСтный ΠΏΡƒΡ‚ΡŒ-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ SSH3-сСрвСра. Π‘Π΅Π· обращСния с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ сСрвСр ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ HTTPS-сСрвСр ΠΈ Π½Π΅ выдаст Ρ„Π°ΠΊΡ‚ наличия возмоТности ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ SSH3. НапримСр, ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° «e6ae772cbdaafd6918865cc2ce449dae» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ сСрвСру ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ URL «https://192.0.2.0:443/e6ae772cbdaafd6918865cc2ce449dae», Π° Ссли ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, сСрвСр выдаст ΡˆΡ‚Π°Ρ‚Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ «404».

Из Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SSH3 упоминаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ сСртификатов X.509 ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² OAuth 2.0/OpenID Connect, ΠΏΠΎΠΌΠΈΠΌΠΎ классичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² SSH; ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пСрСнаправлСния UDP-ΠΏΠΎΡ€Ρ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· SSH-Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ возмоТности пСрСнаправлСния TCP-ΠΏΠΎΡ€Ρ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для проброса QUIC, DNS ΠΈ RTP); использованиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° QUIC, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ миграция соСдинСний Π±Π΅Π· Ρ€Π°Π·Ρ€Ρ‹Π²Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈ установка multipath-соСдинСний для распараллСливания Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΠΎ нСскольким ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°ΠΌ.

ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ выдСляСтся сущСствСнноС сокращСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ установки соСдинСния ΠΏΡ€ΠΈ использовании SSH3. ΠŸΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ сСрвСру SSH3 трСбуСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ всСго 3 сСтСвых ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ (Round Trip), Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ для SSHv2 выполняСтся 5-7 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ. ВрСмя Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ для ΡƒΠΆΠ΅ установлСнных сСансов Π² SSH3 ΠΈ SSHv2 находится Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ SSH3, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SSH, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ HTTP/3

Для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π° связи Π² SSH3 задСйствован ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» TLS 1.3, Π° для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ классичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π° Π±Π°Π·Π΅ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (RSA ΠΈ EdDSA/ed25519). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² SSH3 ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π° основС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° OAuth 2.0, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π½Π° сторонних ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для обСспСчСния Π²Ρ…ΠΎΠ΄Π° с ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ записи Π² сСрвисах Google, Microsoft ΠΈ GitHub. Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСрам ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ, ΠΏΠΎΠΌΠΈΠΌΠΎ SSH-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ сСртификаты X.509, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для HTTPS.

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Π°Ρ рСализация ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра SSH3 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ возмоТности OpenSSH, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…:

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»Π° ~/.ssh/authorized_keys с настройками ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π° сСрвСрС.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ~/.ssh/config Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ настоящСС врСмя ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Hostname, User, Port ΠΈ IdentityFile, Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру Π½Π° Π±Π°Π·Π΅ сСртификатов.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° known_hosts (Π² ситуациях, ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ сСртификаты X.509).
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с OpenSSH Agent (ssh-agent) ΠΈ автоматичСскоС использованиС Π°Π³Π΅Π½Ρ‚Π° для Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ пСрСнаправлСния Ρ‡Π΅Ρ€Π΅Π· SSH-Π°Π³Π΅Π½Ρ‚ для использования Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π° внСшнСм сСрврС.
  • ΠŸΡ€ΡΠΌΠΎΠΉ проброс TCP-ΠΏΠΎΡ€Ρ‚ΠΎΠ².

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