У меня есть подрядчик, использующий ПК с Windows за пределами корпоративной сети. Однако мы разрешаем подключения через брандмауэр к определенным хостам / портам. Использование Telnet / 23 с ПК подрядчика на конкретный сервер AS400 (iSeries) запрещено.
Я хочу создать пару туннелей SSH, используя Linux внутри корпоративной сети.
Вот моя предлагаемая установка:
OutsideWindowsPC <-> { Internet } <-> InsideLinuxServer <-> InsideAS400Server
Мы можем предоставить доступ к определенным портам на сервере Linux внутри корпоративной сети.
Знаю, что это можно сделать, но самостоятельно прошить полное решение не могу. В целях безопасности решение должно масштабироваться примерно до 10 подрядчиков, у каждого из которых есть собственный ПК.
В конце концов, мы хотим установить telnet / 23 с ПК подрядчика с Windows на сервер AS400 в корпоративной сети.
Наконец, я понимаю, что в идеальном мире мы бы туннелировали напрямую к серверу AS400 или использовали безопасный протокол для подключения к серверу AS400. Однако политика препятствует такому решению!
Непонятно, что вы подразумеваете под «двойным туннелем». Похоже, вы просто говорите об использовании переадресации портов SSH, чтобы подрядчик мог получить доступ к AS / 400 через компьютер «InsideLinuxServer».
Убедитесь, что SSH разрешен из Интернета на «InsideLinuxServer»
Создайте учетные данные на «InsideLinuxServer» для использования подрядчиком. (Возможно, вы захотите получить более подробную информацию и запретить доступ к оболочке на этом компьютере Linux для подрядчика, отключить SFTP и т. Д.)
Попросите подрядчика настроить свой SSH-клиент для туннелирования некоторого локального порта на порт 23 AS / 400. В «PuTTY» это делается в Туннели узел SSH узел Подключение узел настроек. Они добавляли исходный порт в качестве неиспользуемого порта на своей машине (например, «2300»), назначения IP-адреса или имени AS / 400 с добавлением «: 23» после него и добавляли его к перенаправляемым портам. список.
После того, как подрядчик подключится к машине «InsideLinuxServer» с SSH, он сможет подключиться к своему собственному порту 2300 по TELNET (в случае моего примера). PuTTY отвечал на попытку TCP-соединения и перенаправлял трафик на «InsideLinuxServer», который, в свою очередь, устанавливал TCP-соединение с портом 23 на AS / 400 и пересылал трафик.
Что касается «масштабируемости», для такого количества клиентов я просто написал бы для них инструкции о том, как настроить PuTTY и отправить их по пути.
Чтобы сделать вещи более безопасными, вы можете подумать об использовании аутентификации с открытым ключом на сервере SSH вместо паролей. С самого начала это немного сложнее, но это безопаснее, чем использование паролей.