· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Авторизация клиента

Посл.отвђт Сообщенiе


Дата: Сен 15, 2003 17:08:31

Давно мучает меня следующий вопрос, вот, решил спросить...

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

Хреновина тут в том, что для выполнения имперсонализации (или создания секьюрити дескриптора) сервер должен поиметь пасворд клиента в открытом виде.

Возникает вопрос, можно ли реализовать вышеприведенную схему, без передачи пароля в открытом виде, используя имя залогиненного юзера на клиентской машине и... еще что-то?
Короче говоря, клиент должен коннектиться к серверу используя имя залогиненного юзера и НЕ запрашивая его пароль.

Фуу, надеюсь понятно объяснил :)

Максимум до чего я допер, что можно выдернуть хэш пароля из SAM базы (типа как делает l0pht) и передавать его на сервер, но как тогда делать имперсонализацию клиента на серверной стороне?

Может кто подскажет чего?


Дата: Сен 15, 2003 17:38:50

Короче говоря, клиент должен коннектиться к серверу используя имя залогиненного юзера и НЕ запрашивая его пароль.
А как ты себе это представляешь? Если пароль нужен для имперсонализации, то он все равно должен присутствовать. Он может храниться на сервере, а сервер будет проверять имя пользователя, его IP, может еще MAC, но все равно это все легко подделать.


Дата: Сен 15, 2003 17:47:51

Вариант раз - используй DCOM CoSetSecurityBlanket или как-то так.
тогда будет использоваться NTLM
Вариант два - ImpersonateThread - чтоб имперсонализироваться, но нужно чтоб было LogonLocally если не ошибаюсь - а это дикий минус.


Дата: Сен 15, 2003 18:55:02

ssx
Так ведь система это как-то делает!
Когда я щемлюсь на другую машину по сетке, она передает хэш на нее, и пытается авторизовать по данному хэшу.
З.Ы. Я понимаю, что на то она и система :)

rst
Чего-то в MSDN April 2003 я ничего не нашел по поводу CoSetSecurityBlanket
Че это такое?


Дата: Сен 18, 2003 10:43:09

Max
Так ведь система это как-то делает!
Когда я щемлюсь на другую машину по сетке, она передает хэш на нее, и пытается авторизовать по данному хэшу.
З.Ы. Я понимаю, что на то она и система :)

А система это что, не программа? И не хэш она передает по сетке.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.125