Представен е SSH3, вариант на протокола SSH, който използва HTTP/3.

Достъпен е първият официален release на експерименталната реализация на сървъра и клиента за протокола SSH3, оформен като разширение над протокола HTTP/3, използващ QUIC (на база UDP) и TLS 1.3 за създаване на защитен канал за връзка и механизми на HTTP за автентикация на потребителите. Проектът се разработва от Франсуа Мишел, аспирант в Католическия университет в Лувен (Белгия), с участието на Оливие Бонавентура, професор в същия университет, известен с разработката на подсистемата 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 мрежови итерации (около 3 кръга), докато за 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

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster