Удаленная аутентификация клиента Windows по требованию - PullRequest
0 голосов
/ 14 ноября 2009

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

Обоснование

Я действительно хочу написать прокси-сервер FTP. Клиенты будут подключаться к прокси с желаемым именем пользователя сервера и поддельным паролем. Затем прокси-сервер аутентифицирует пользователя Windows, на котором работает FTP-клиент (с помощью какого-либо механизма, кроме протокола FTP). После проверки подлинности пользователя Windows прокси-сервер затем определит, может ли этот пользователь Windows подключиться к реальному FTP-серверу в качестве имени пользователя, которое он предоставил через свой FTP-клиент.

Условия

  • И клиенты, и прокси-сервер будут находиться в одном и том же брандмауэре, и ни один клиент не будет скрыт за NAT (что позволяет прокси-серверу подключаться обратно к клиенту при необходимости).

1 Ответ

1 голос
/ 14 ноября 2009

Microsoft пытается сделать это сложно. Они не хотят, чтобы программы проходили аутентификацию без учетных данных.

Вы должны подключиться к инфраструктуре аутентификации и убедить систему, что вы действительно являетесь источником аутентификации. Смотрите функции "Lsa".

См. Исходный код ssh-сервера с открытым исходным кодом, чтобы получить представление о ваших возможностях здесь.

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

Если на другом конце соединения установлен Windows, вы можете передавать учетные данные через Kerberos и использовать API SSPI. Я рекомендую эту книгу .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...