Вышел SSH3: SSH теперь маскируется под HTTPS

Вышел SSH3: SSH теперь маскируется под HTTPS

Протокол теперь использует HTTP/3 и TLS 1.3 для скорости и безопасности.

image

Доступен первый официальный выпуск экспериментальной реализации сервера и клиента для протокола 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 являются:

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

Ученые доказали: чтение нашего канала продлевает жизнь!

Ладно, не доказали. Но мы работаем над этим

Поучаствуйте в эксперименте — подпишитесь