Доступен первый официальный выпуск экспериментальной реализации сервера и клиента для протокола 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: в SSH3 семантика классического протокола SSH реализована через механизмы HTTP, что позволило реализовать некоторые дополнительные возможности и обеспечить скрытие связанной с SSH активности среди другого трафика.
- Интеграция с HTTP: при использовании SSH3 сервер неотличим от HTTP-сервера и принимает запросы на 443 сетевом порту (HTTPS), а трафик SSH3 сливается с типовым HTTP-трафиком, что затрудняет проведение атак, связанных со сканированием портов и выявлением SSH-серверов для подбора паролей.
- Секретный путь-идентификатор: для усложнения совершения атак на серверы SSH3, кроме знания сведений о наличии сервера на заданном IP-адресе, может задаваться секретный путь-идентификатор SSH3-сервера. Без обращения с корректным идентификатором сервер обработает ответы как обычный HTTPS-сервер и не выдаст факт наличия возможности подключения по SSH3.
- Расширенные функции аутентификации: SSH3 поддерживает аутентификацию с использованием сертификатов X.509 и методов OAuth 2.0 /OpenID Connect, помимо традиционных методов SSH.
- Поддержка перенаправления UDP-портов: помимо TCP-портов, SSH3 позволяет перенаправление UDP-портов, включая QUIC, DNS и RTP.
- Расширенные функции протокола QUIC: SSH3 включает возможности протокола QUIC, такие как миграция соединений без разрыва подключения и установка multipath-соединений для распараллеливания трафика по нескольким маршрутам.
- Улучшенное время установки соединения: при подключении к серверу SSH3 требуется выполнить всего 3 сетевых итерации (Round Trip), в то время как для SSHv2 выполняется 5-7 итераций обмена пакетами.
- Для шифрования канала связи SSH3 использует протокол TLS 1.3.
- Множество методов аутентификации: SSH3 поддерживает различные методы аутентификации, включая классические методы на базе паролей и открытых ключей (RSA и EdDSA/ed25519). Кроме того, в SSH3 могут применяться методы на основе протокола OAuth 2.0 , позволяющие перекладывать аутентификацию на сторонних провайдеров, например, для обеспечения входа с подтверждением через учётные записи в сервисах Google, Microsoft и GitHub.
- Совместимость с OpenSSH: реализация SSH3 поддерживает множество базовых функций OpenSSH, такие как файлы authorized_keys, конфигурационные файлы клиента, аутентификация через сертификаты и механизм known_hosts. Она также совместима с OpenSSH Agent и поддерживает прямой проброс TCP-портов.
|