Наш отдел отвечает за проведение курсов, которые, среди прочего, основаны на полностью работающем домене Windows. Назовем эти среды просто System1, System2 и так далее. Цель состоит в том, чтобы обеспечить подключение к удаленному рабочему столу для студентов курсов, чтобы они могли подключаться к этим системам. Технически это просто RDP-соединение с любым сервером в системе в качестве отправной точки. Назовем эти отправные точки Система 1 Шлюз, Система 2 Шлюз и так далее.
Помимо всех этих систем, у нас есть домен Active Directory для нашего отдела и полная установка удаленного рабочего стола Windows, позвольте нам называть это основной домен. Этот основной домен имеет один сервер, который действует как шлюз удаленного рабочего стола (RDGW), а также размещает настраиваемую веб-страницу MVC5.
Если пользователь участвует в курсе и хочет подключиться к одной из систем, мы создаем для них учетную запись, которую они затем могут использовать для входа в веб-приложение MVC5, которое отображает информацию обо всем курсе и так далее. Они также могут загрузить предварительно настроенный .rdp
файл. В этом файле есть веб-сервер, имеющий общедоступный домен с действующим сертификатом TLS, который также является шлюзом удаленного рабочего стола, настроен, а целью является IP-адрес в основном домене, который выполняет перенаправление портов на один из шлюзов System X ( эта установка просто должна быть такой, примите ее как данность).
Проблема, с которой мы сейчас сталкиваемся с этой настройкой, заключается в том, что пользователь должен сначала войти на веб-страницу со своими учетными данными основного домена (со своего собственного, частного или корпоративного компьютера). Затем они скачивают .rdp
файл, установите соединение, где они должны ввести тем же учетные данные для шлюза снова, так как учетные данные не используются совместно ОС или браузером. После этого они также должны ввести учетные данные шлюза целевой системы. Мы можем заранее определить имя пользователя конечного системного шлюза, но не пароль, в качестве зашифрованного пароля внутри .rdp
Файл может быть успешно расшифрован только в том случае, если шифрование было создано с помощью их локального пользовательского ключа Windows, который, конечно, недоступен через веб-службу. Здесь мы говорим о пароле от целевой системы, которая представляет собой всего лишь обучающую систему с фиктивным паролем, и это нормально. Безопасность обеспечивается шлюзом удаленного рабочего стола (RDGW) и аутентификацией в нашем основном домене.
Короче говоря: этот способ предоставления нескольких учетных данных довольно запутывает студентов, из-за чего многие из них вообще не могут подключиться. Поэтому мы хотим улучшить этот процесс и сделать его максимально простым для них. Итак, мой вопрос: Как мы можем упростить вышеупомянутое установление соединения? Первым приветственным шагом было бы предотвратить повторный запрос учетных данных RDGW. Мы не хотим, чтобы пользователь что-либо устанавливал (поскольку RDP в Windows предустановлен, это своего рода исключение). Пользователи работают на компьютерах, на которых они могут вообще не иметь никаких прав.
Вещи, которые мы рассматривали или пробовали до сих пор:
.bat
скачать, который включает шаг, не работающий выше. Поскольку он выполняется локально, мы можем создать зашифрованный хэш / токен (независимо от его вызова), создать .rdp
на лету и все работает. Однако проблема в том, кто разрешает выполнение произвольных исполняемых файлов? Ни один. Никто.ip:port
. Может быть, существует способ просто извлечь и разместить клиентский код RDP, но как тогда он будет настроен?ip:port
, используйте текущие учетные данные для входа в веб-окна для шлюза.Мы уже довольно давно зациклились на этой проблеме. Возможно, мы полностью над этим задумываемся. По сути, мы просто хотим установить RDP-соединение через веб-браузер таким образом, чтобы, по крайней мере, учетные данные шлюза были взяты из уже установленного сеанса входа в систему, поскольку учетные данные для домена и шлюза, конечно, одинаковы. Надстройка браузера не решение здесь, мы хотим 0-конфигурацию.
Заранее благодарю за все намеки, я надеюсь, что этот длинный текст делает проблему и то, что мы пытались каким-то образом понять.