Рейтинг:0

Подключите SSH Tunnel с программой Java Desktop (.jar) к удаленному серверу.

флаг us

я разработал Рабочий стол JavaFX запрограммировать сотрудников компании. Теперь они хотят использовать программу в своих домах со своими персональными компьютерами. Программа имеет MySQL и FTP-сервисы.

мне нужно использовать SSH-туннель или же VPN чтобы программа могла подключаться из снаружи на удаленный сервер в офисе(Перенаправление порта для FTP и MySQL).

Если я хочу использовать SSH Tunnel, я должен установить(или скопировать/вставить) сертификаты на компьютерах собственных сотрудников, и я думаю, что этот вариант опасен из-за сертификаты могут быть задействованы для атак на их компьютеры.

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

Я хотел бы использовать SSH Tunnel, но не знаю лучший ли вариант в этой ситуации.

Какие другие опции я могу использовать для безопасного подключения моей программы к удаленному серверу?

Рейтинг:0
флаг cn

Вариантов протоколов не так много — все, что вы выберете, должно быть:

  • Доступно для аудита - нет совместного использования учетных данных
  • Secured — для ограничения риска перехвата трафика/MitM
  • Управляемый - если у вас 100+ сотрудников.

Вы можете использовать SSH, но настройка VPN — это то, что делает большинство предприятий (по моему опыту). Затем вы можете разрешать VPN-подключения только через брандмауэр, и больше ничего менять не нужно.

Лучше всего изучить VPN-устройство для малого бизнеса. Быстрый поиск здесь выдает множество сообщений (не по теме) с просьбами дать рекомендации.

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

Arkhan6 avatar
флаг us
Большое спасибо за ваш ответ. Я думал о том, чтобы сделать это с раздельным туннелированием с OpenVPN, потому что мне нужно использовать только 2 порта. Я не хочу, чтобы весь трафик сотрудников шел через VPN.Я надеюсь, что это не проблема, чтобы установить сертификат VPN на персональные компьютеры сотрудников (я также буду использовать пароль для подключения к VPN) https://openvpn.net/for/split-tunneling-with-access-server/
флаг cn
Это звучит разумно. В идеале было бы хорошо использовать более корпоративное решение, которое использует учетные записи LDAP/AD сотрудников для аутентификации — первое, что я сделал, это то, что оно поддается аудиту, поэтому не нужно делиться учетными данными!
Arkhan6 avatar
флаг us
У меня нет знаний об использовании учетных записей LDAP/AD. Я собираюсь искать информацию, чтобы использовать ее. Спасибо!
Рейтинг:-1
флаг cl

Как вы упомянули, я бы разрешил сотрудникам с помощью закрытого ключа из сгенерированной пары ключей rsa открытый/закрытый для подключения ssh к офисному серверу. Вы можете сохранить открытый ключ в ~/.ssh/authorized_keys и защитить закрытый ключ парольной фразой, чтобы сотрудник мог подключиться к серверу. Но вы должны открыть порт ssh в брандмауэре снаружи.

флаг cn
Это ужасная практика безопасности! Удаленный доступ — это большая банка червей, и его следует делать безопасным или не делать вообще, так как риски для бизнеса слишком высоки!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.