|
|
| Посл.отвђт | Сообщен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 |