1

В вызове переадресации локального порта ниже,

[me@TunnelBeginHost]$ ssh -L TunnelBeginPort:TunnelEndHost:TunnelEndPort ViaUser@ViaHost

Учитывая тот факт, что часть туннеля между ViaHost и TunnelEndHost небезопасна, склонна к перехвату данных в сети и тому подобное, почему ssh даже предоставляет такую опцию? Безопасность, которая лежит в основе ssh , не требует проверки подлинности в TunnelEndHost ... скажем, с (гипотетическим) синтаксисом, например,

[me@TunnelBeginHost]$ # Proposed syntax:
[me@TunnelBeginHost]$ ssh -L TunnelBeginPort:TunnelEndUser:TunnelEndHost:TunnelEndPort ViaUser@ViaHost

что бы обеспечить безопасный туннель между ViaHost и TunnelEndHost ?

Аналогично, для удаленной переадресации портов.

Понимание логического обоснования этой возможности ssh поможет прояснить любые заблуждения, которые могут возникнуть у меня по поводу ssh туннелирования или о предупреждениях безопасности, связанных с ним.

3 ответа3

2

Во-первых, « часть туннеля между ViaHost и TunnelEndHost небезопасна » - не факт. Вы предполагаете, что конечный хост будет подключен через общедоступный Интернет, но это не всегда так - я мог бы использовать туннель для HTTPS, это могло бы быть через IPsec, зашифрованный VPN или просто физически защищенное кабельное соединение. Локальная сеть моей виртуальной машины не подвержена прослушиванию, пока я единственный, у кого есть root на моем ноутбуке.

Во-вторых, что сказал @Xeross - как бы вы проходили аутентификацию в предложенной вами схеме? Используя какой протокол? Функция туннеля была создана для поддержки произвольных TCP-соединений. Что если конечный хост не поддерживает SSH, TLS или ваш любимый протокол? Если вы решили требовать поддержку SSH на конечном хосте, тогда вся функция туннеля становится практически бесполезной, так как пользователь может просто подключить SSH к конечному хосту напрямую.

Наконец, почему бы и нет? ssh не может знать условия сети пользователя лучше, чем сам пользователь (как видно из первого абзаца), и добавление произвольных ограничений, таких как это, может просто помешать их работе. ssh здесь, чтобы помочь, но не для няни, как это принято в программах Unix.

0

Как именно будет работать аутентификация конечной точки, учитывая, что конечной точкой может быть что угодно, HTTP, HTTPS и т.д. (Вы поняли).

Если трафик должен быть зашифрован, то любой протокол, который вы пытаетесь отправить через туннель, должен сам позаботиться об этом.

-2

Переадресация вне хоста является частично защищенной и частично небезопасной функцией ssh , что делает ее в целом небезопасной .

Страница man по ssh должна содержать явное предостережение относительно этого. К сожалению, это не так, как в версии openssh-clients-5.8p2-25.fc16.i686 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .