LINUX.ORG.RU

Защита VNC-приложений при помощи SSL


0

0

Идея состоит в использовании SSL для обеспечения безопасности использования простого клиента VNC, встроенного в Web-страницу. Это означает, что практически любой Java-совместимый Web-браузер может видеть удаленный рабочий стол и взаимодействовать с ним; это обеспечивает эффективное решение в типовых ситуациях, включая удаленную совместную работу, осуществление технической поддержки и инициализацию.

>>> Подробности

В VNC помимо отсутствия SSL еще куча проблем:

1) во время сеанса человек, находящийся рядом с компьютером, может видеть все действия, а также вмешиваться;

2) пароли до 8 символов;

3) нет никакой гарантии, что VNC-сервер запущен именно под данным пользователем - другой пользователь того же компьютера может перезагрузить иксы/компьютер или другим способом занять порт для запуска своего VNC-сервера на том же порту, после чего перехватить пароль другого пользователя к VNC;

4) VNC запускается только после входа пользователя в систему - нельзя подключиться, если пользователь сделал logout;

5) нет звука.

true
()
Ответ на: комментарий от true

А нахер оно вообще нужно? Устаревшая технология, работает медленно. Обычные X удаленно - наше фсе!

anonymous
()
Ответ на: комментарий от true

>> 1) во время сеанса человек, находящийся рядом с компьютером, может видеть все действия, а также вмешиваться;

>> 3) нет никакой гарантии, что VNC-сервер запущен именно под данным пользователем - другой пользователь того же компьютера может перезагрузить иксы/компьютер или другим способом занять порт для запуска своего VNC-сервера на том же порту, после чего перехватить пароль другого пользователя к VNC;

>> 4) VNC запускается только после входа пользователя в систему - нельзя подключиться, если пользователь сделал logout;

сразу видно виндузятника

ты давно vnc под линуксом то запускал? или путаешь vnc с x11vnc?

sergej ★★★★★
()
Ответ на: комментарий от sergej

2й и 5й пункты лечатся правда не очень прямо (например ssh тунелями)

sergej ★★★★★
()
Ответ на: комментарий от sergej

Я про тот VNC-сервер, который через KDE Сontrol Center включается.

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

true
()
Ответ на: комментарий от anonymous

>>2) нет SSL;

>а что, кто-то пользуется удаленными иксами не через ssh-форвардинг?

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

true
()
Ответ на: комментарий от true

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

Неудобно добавить -X к ssh? А про порт вообще не понял, какая служба будет перезапускаться и как пользователь будет его занимать и подглядывать пароли?

По теме - предпочитаю NX от nomachine, хотя vnc в браузере - эт сильно :)

Laz ★★★★★
()
Ответ на: комментарий от Laz

>Неудобно добавить -X к ssh?

Я так понял, там имелся ввиду форвардинг портов, а не иксов. ssh -X не удобно, потому что опять же нельзя подключиться к уже запущенному приложению, а также нельзя работать со всем рабочим столом, только с отдельным приложением.

>А про порт вообще не понял, какая служба будет перезапускаться и как пользователь будет его занимать и подглядывать пароли?

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

>По теме - предпочитаю NX от nomachine

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

true
()
Ответ на: комментарий от true

Не знаю как там в КДЕ, а у нас пол конторы пользуется пакетом vnc.

И не надо рассказывать сказки про запущенные сессии. Все там работает отлично.

Есть проблемы только с пунктами 2 и 5, но они, как я уже сказал, решаются например ssh тунелями.

sergej ★★★★★
()
Ответ на: комментарий от sergej

>И не надо рассказывать сказки про запущенные сессии. Все там работает отлично.

Еще раз повторяю, мне надо так:

1) если сессия не запущена - хочу создать новую, чтобы потом можно было ей управлять локально;

2) если сессия запущена - хочу управлять этой сессией удаленно;

3) при этом экран на локальной машине должен оставаться заблокированным.

Так это сделано в RDP в Windows. Правда у RDP куча своих косяков, не связанных с этим...

true
()
Ответ на: комментарий от true

>Еще бы возможность подключаться к уже запущенной сессии...

Закрываем nx "крестиком", запускаем через час, он предлагает восстановить сессию либо запустить новую. Если вы про возможность подключения к чужой сессии, то думаю это лишнее. Если про подключение к своим иксам в стиле x11vnc, то это совсем другая песня, но опять же это нужно (имхо) крайне редко.

Laz ★★★★★
()
Ответ на: комментарий от sergej

>Есть проблемы только с пунктами 2 и 5, но они, как я уже сказал, решаются например ssh тунелями.

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

true
()
Ответ на: комментарий от Laz

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

Нет, это не лишнее. Я ушел из дома, оставил открытой некоторую программу, потому что она делает свою работу. Как мне управлять этой программой удаленно?

Или наоборот - я удаленно запускаю сессию, как мне потом работать с ней локально (запускать NX-клиента на localhost нет никакого желания)?

true
()
Ответ на: комментарий от true

если ты про сессию с иксовой консоли через x11vnc - то да, заблокированной оставить не получится.

C vnc сессиями все нормально во всех случаях.

sergej ★★★★★
()
Ответ на: комментарий от true

>Так это сделано в RDP в Windows. Правда у RDP куча своих косяков, не связанных с этим...

Если там сделано так, это не значит, что так должно быть везде. Не нравится vnc - пользуйте rdp.

Laz ★★★★★
()
Ответ на: комментарий от sergej

>а если ты к внц подключился через ssh тунель с авторизацией по ключу, что он будет брутфорсить???

Ну неужели непонятно, что другой локальный юзер может подключиться к локальному порту VNC и без помощи SSH???

true
()
Ответ на: комментарий от Laz

> Если там сделано так, это не значит, что так должно быть везде. Не нравится vnc - пользуйте rdp

Ну так нету что-то в линуксе аналога RDP. Мне тоже хотелось с одной и той же сессией работать и локально и удалённо.

ero-sennin ★★
()
Ответ на: комментарий от Laz

>Если там сделано так, это не значит, что так должно быть везде.

Это наиболее удобный способ, подходящий во всех случаях.

>Не нравится vnc - пользуйте rdp.

Где мне взять RDP-сервер под Linux? Да и я уже говорил, что своих косяков у него тоже достаточно.

true
()
Ответ на: комментарий от true

О господи, что ж за параноя.

Ну поставь iptables на lo (:)), для ограничения кол-ва коннектов в единицу времени, чтоб он 8 символьный пароль перебирал 2000 лет...

А вообще для таких задач VNC пожалуй не подходит....

sergej ★★★★★
()
Ответ на: комментарий от saper

>Citrix вроде есть под Unix/Linux.

Сервер?

Led ★★★☆☆
()
Ответ на: комментарий от true

Сервер стоит деньжищ.

Люди, вы тут так горячо обсуждаете, что у меня сложилось впечатление, что не автоподписанными сертификатами SSL вы уже разжились немерено. Лично у меня к статье сразу же интерес пропал.

Lumi ★★★★★
()
Ответ на: комментарий от true

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

anonymous
()
Ответ на: комментарий от anonymous

ну, а если ты локальному юзеру шел дал - ты ему доверяешь! ну, или имеешь возможность логировать все его действия. иначе - ССЗБ!

anonymous
()
Ответ на: комментарий от anonymous

>локальный юзер может вынуть батарейку, слить инфу с винта, загрузиться с лив-сиди... да мало ли чего еще. если машина физически не защищена - она вообще никак не защищена.

В данном случае под локальным подразумевается и тот, у которого есть доступ к SSH.

true
()
Ответ на: комментарий от sergej

>Кстати, для создания ssh тунелей совсем не обязательно давать пользователю shell...

Интересно, как? Неужели надо в /etc/passwd в качестве шелла что-то другое прописать?

true
()
Ответ на: комментарий от true

> Неужели надо в /etc/passwd в качестве шелла что-то другое прописать?

Ну да, а чо?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.