Comments 94
В случае использования vpn можно настроить правила маршрутизации трафика между машинами. Например, пользователь А может сходить на свою домашнюю машину и на локальный сервер CS 1.6, а пользователь Б только на домашнюю машину.
Про socks-прокси и политики — согласен. В следующей статье как раз планировал попиарить опенсорсную поделку, которая позволяет и всё кроме порт форвардинга запретить и политики доступа написать.
Закрыть трафик во внешку можно одним исправлением конфига openvpn. Настроить маршруты сложнее, но в большинстве случаев это и не нужно.
Запуск с третьего компьютера без прав… а надо ли? Если кто-то запретил создавать подключения, то зачем нарываться на неприятности? А если не запрещал и это просто компьютер у друга, то можно попросить запустить клиента с нужными правами.
ЗЫ. А вот про поделку для настройки доступа было бы интересно почитать.
ЗЫЗЫ. ЕМНИП, когда OpenShift был бесплатным, то в нем скорость ssh проброса сильно резалась. Админить систему можно было, а вот закинуть большой файл уже сложнее.
Например, такой сценарий: компания хочет дать временной доступ (другой компании или контрактору) к базу данных или ко внутреннему веб-приложению. Это можно сделать одной командой SSH, запущенной из корпоративной сети, для соединения с неким внешним SSH сервером (управляемым контрактором). Никакого дополнительного софта, доступ по самому минимуму (фиксированный IP:port) и никаких лишних дыр в безопасноти. С OpenVPN пришлось бы изрядно поколхозить для достижения такого же результата…
Думаю, настроить iptables и openvpn через web-морду или консоль будет быстрее создания нового пользователя и прописывания нужных разрешений для проброса в конфиге.
REST сервисы можно загнать за nginx и на уровне него разрулить какой юзер должен иметь доступ куда.
Это не отменяет ограничений по IP и портам, но, как говорится, безопасность — это комплекс мер.
Вопрос в том, что все эти меры должны быть доступны из какой-то единой панели…
Смысл статьи в том, чтобы
За статью спасибо, посмотрю на досуге.
Например в Китае. В командировках по openvpn попасть на машину в России не представляется возможным. А по ssh — работает.
OpenVPN или аналог
Насколько я знаю, практически любой vpn-клиент захочет админских прав, как при установке (для сетевого драйвера), так и при подключении (для правки роутинга). Админские права на ssh-клиенте есть далеко не всегда.
OpenVPN при установке добавляет службу OpenVPN Legacy Service (по умолчанию, правда, она не запускается автоматически, надо настроить автозапуск после установки) — тогда клиент можно запускать с правами пользователя и маршруты будут нормально прописываться
к вам на супер-секретный порт 32167Эй! Откуда ты узнал-то? Немедленно удали! >:E
blog.afach.de/?p=606
Запуская данный cmd так:
set path=C:\Program Files\PuTTY;C:\Python37\;
c:
cd "C:\Program Files\PuTTY"
python ssh-reconnect.py
www.bitvise.com/ssh-client
В браузере my.any.host Если сертификат валидный, и с ним нет проблем. Всегда так делаю
Я к тому, что ситуации бывают разные… и нужны разные подходы. Но то, что описали — имеет право на существование.
И еще раз доказывает, что NAT и IPv4 адреса ни от чего не защищают толком…
Описанная в статье игра тем более не стоит свеч. Это неудобно (привет wifi с реконнектами), это медленнее (латенси никуда не пропадает).
«рано или поздно к вам на супер-секретный порт 32167 прилетит TCP SYN родом из китайской деревушки» миллионы серверов работают с открытым стандартным портом rdp. да, брутят. брутят в основном учетную запись «Администратор», которая по умолчанию отключена. ЗаDos'ят? бросьте, кому нужны.
Ок, в дорогом продакшене лучше уже платить деньги.
Пример встречной ситуации — небольшая компания снимает офис в небольшом бизнес-центре, где благодаря монополизму местный "провайдер" вообще не чешется на предоставление каких-либо услуг кроме "исходящий интернет для сотрудников".
Как, даже при очень большом желании админу маленькой компании пробуриться через NAT/PAT снаружи до своего любимого сервера?
Тимвьювер? Впн наружу?
Если смотреть за пределы облака яндекса, то цены будут радовать заметно сильнее. Но в любом случае это не отменяет потребности настраивать инфраструктуру на внешнем сервере.
Так почему бы при наличии уже действующего внешнего сервера (тот же хостинг) не использовать побочный бонус?
Виндоюзерам дали ссш, и они начали делать костыли возрастом лет 10-15)
Ну и да, на этом же вдс вполне можно поднять впн сервер и иметь гораздо больше возможностей
Я в google cloud видел какую-то совсем стоковую машинку (типа 0.5гб и 1-2 ядер), которую можно бесплатно использовать 31 день в месяц — типа одну такую машинку можно держать всегда включенной. (да и если небесплатно использовать — цена явно гуманннее, чем у яндекса.)
P.s. Более интересным выглядит вариант не использовать внешний сервер, ну или использовать его только как точку рандеву, чтобы пробиться сквозь nat.
А если рассматривать Европу, то и за 1 EUR /mo можно получить VPS с белым ipv4
И скорость с ними отличная, я даже по NFS 1.5GB/min имею.
Комментарий не по сути статьи, а мелкое замечание:
В shell вместо $HOME
можно использовать ~
.
Намного короче и удобнее печатать: cat ~/.ssh/id_rsa.pub
вместо громоздкого трудно печатаемого из-за необходимости удерживать Shift cat $HOME/.ssh/id_rsa.pub
.
The goal of this project is to enable Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage.
RDP Wrapper works as a layer between Service Control Manager and Terminal Services, so the original termsrv.dll file remains untouched. Also this method is very strong against Windows Update.
Я не ратую за замену ssh на tv, я про прямое решение задачи. Хочешь поуправлять компом — настрой управление компом, а не страдай с VPS-кой!
Ну и в целом пока что купить белый IP — это 200р. в месяц, что позволяет и без извратов с VPS делать. А для извратов можно и за 1 EUR взять сервер с белым IP в Европе.
P.S. И, конечно, vnc — никак не замена tv. Ну вот как ни крутите. Я про набор фич и качество картинки… Но, конечно, по соотношению «цена/качество» tv проиграет любому бесплатному продукту, тут тоже не о чем спорить.
В обратном режиме слушающий TCP-порт открывается на стороне SSH-сервера, а приложение, обслуживающее этот порт, находится на стороне SSH-клиента. Пригождается такое редко, но, как правило, очень метко.
На самом деле, пригождается такое очень часто, когда вам нужно сделать себе нормальный RDP-доступ к машине, которая расположена в какой-нибудь корпоративной сети с драконовскими политиками удаленного подключения.
На машине запускается ssh-клиент (+ cntlm, если корпоративная прокся не разрешает basic) и на ssh-сервер публикуется localhost:3389 от машины (не забудьте только разрешить в настройках ssh-сервера ssh-клиентам указывать на каком интерфейсе публиковать, иначе порт опубликуется на всех). Кстати, putty и kitty для этого сценария не подходят — у них есть странный глюк, что rdp-подключение пройдет, но тут же отвалится. А вот bitvise ssh client исполняет такое без проблем.
В предложеной экзотической схеме для получения доступа к вашему компьютеру требуется уже две уязвимости — одна в сервере SSH, другая в сервере RDP.
Ну и не всегда сейчас провайдер даёт конечному оборудованию глобальный IP-адрес, пусть и динамический.
Да и сорить секретными ключами на «неизвестном множестве» не хочется. а если начинать автоматизировать дело по их контролю, то тут мне кажется мы выходим за рамки «простого способа»
дома raspberry, на котором включены sshd и сервер vnc, а в файле /etc/rc.local прописано:
sleep 20; autossh -N -R 22001:localhost:22 -R 5900:localhost:5900 -i <ключик> user@some.host.com & >/dev/null 2>&1
Сразу после старта малинки через такой «VPN» доступен или порт 22001 (ssh), или 5900 (VNC). А через какое-то время все отваливается вообще. Хотя на малине в процессах виден ssh-клиент, подключенный куда надо.
Пробовал подключаться к серверу хостера, а также к собственному серверу, где уж точно нет никаких ограничений со стороны sshd. ЧЯДНТ?
Это можно решить установкой параметров ServerAliveInterval на SSH-сервере и ClientAliveInterval на SSH-клиенте. Если установить их оба в, к примеру, 300, то каждые 5 минут будет происходить обмен Keep-Alive сообщениями, что, в свою очередь, будет убеждать все промежуточные роутеры в том, что сессия жива. Кроме того, даже если какой-то из этих роутеров по какой-то причине сбросит сессию, клиент и сервер будут способны относительно быстро этот факт обнаружить и установить подключение повторно.
VPN без VPN или рассказ об нетрадиционном использовании SSH