powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Вопрос по теории авторизации на сервере приложений внутри домена
6 сообщений из 6, страница 1 из 1
Вопрос по теории авторизации на сервере приложений внутри домена
    #37042274
Фотография MustDie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос, скорее, из области программирования, но хотелось бы уточнить теоретические основы у гуру-админов.

Задача
Есть серверное приложение, предоставляющее клиентам некоторые свои сервисы. Сейчас клиенты авторизуются через логин/пароль.
Серверное приложение держит список логинов и назначенные им полномочия (доступные сервисы).
Требуется модернизировать эту схему так, чтобы серверное приложение могло идентифицировать пользователя, авторизовавшегося в домене.
То есть имеем традиционную тройственную схему: домен-контроллер - клиент - сервер приложений.
Клиент обращается к серверу приложений через WinSockеt.
В литературе все красиво написано: Есть SID (пользователя/группы/компа), есть Access Token, который пользователь получает при входе и далее предоставляет его всем и везде для олицетворения себя любимого.
К сожалению, на практике не так все красиво (или я просто не туда копаю).

Возникает ряд вопросов
1. Как? Как передается Access Token от клиента к серверу приложений? Или как на сервере приложений получить Access Token клиента?
2. Можно считать на кленте его SID, передать его серверу приложений и он уже по этому SID-у раскрутит все группы и привелегии. Но! Насколько уникальна комбинация "Имя домена + SID пользователя"? То есть не возникнет ли ситуации, когда клиент Вася авторизуется в домене "Домен.com" где у него есть свой "SID1", далее он "стучится" на сервер приложений и передает ему всю эту информацию. Сервер приложений реально расположен в где-нибудь другой стране, но его домен совершенно случайно тоже называется "Домен.com", он по полученному SID1 пытается определить пользователя в своем "Домен.com" - и, о чюдо!, есть такой пользователь и он совершенно случайно тоже Вася. Мы его пускаем, но он реально не тот Вася.
3. Исходя из ситуации в вопросе 2: Как 100% точно определить, находятся ли мой сервер приложений и пытающийся подконнектиться клиент в рамках одного домена (леса доменов) или это просто может оказаться случайное совпадение имен доменов?
4. Или, может, вообще все не так? Истина где-то рядом...

Вариант 2 мне вообще не нравиться, так как не безопасен (возможна подмена своего SIDа чьим-то чужим).

Спасибо всем за то, что дочитали сей пост до конца!
Заранее благодарен за ответы и тыканье носом в мануалы!
Всех с наступающим Новым годом!
...
Рейтинг: 0 / 0
Вопрос по теории авторизации на сервере приложений внутри домена
    #37042303
TREY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MustDie,
msdn+WinAPI
...
Рейтинг: 0 / 0
Вопрос по теории авторизации на сервере приложений внутри домена
    #37043164
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это называется делегирование полномочий kerberos ... гуглитесь ... точно есть реальные описания например для IIS->MSSQL ...
...
Рейтинг: 0 / 0
Вопрос по теории авторизации на сервере приложений внутри домена
    #37043386
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Biz©это называется делегирование полномочий kerberos ... гуглитесь ... точно есть реальные описания например для IIS->MSSQL ...

1. Ну... до делегирования тама как до небес. Делегирование, схематично, = клиент->промежуточный сервер->целевой сервер.

2. А у тредстартера тривиальная схема клиент->сервер.

3. Есть два варианта:
a) перейти на NamedPipes и пользовать встроенную систему авторизации Windows не задумываясь;
б) разобраться с Trusted Authentication для домена.
http://technet.microsoft.com/en-us/library/bb742535.aspx
Пример, использующий обе схемы, MS SQL сервер.

4. Придумывать собственную систему можно, но не очень продуктивно. Сложное это дело и долгое.
...
Рейтинг: 0 / 0
Вопрос по теории авторизации на сервере приложений внутри домена
    #37043692
Biz©
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleks2Biz©это называется делегирование полномочий kerberos ... гуглитесь ... точно есть реальные описания например для IIS->MSSQL ...

1. Ну... до делегирования тама как до небес. Делегирование, схематично, = клиент->промежуточный сервер->целевой сервер.

2. А у тредстартера тривиальная схема клиент->сервер.
то, что хочет автор (отказ от внутренней аутентикации) частенько перерождается в трёхзвенку с отказом и от внутренней авторизации и тут делегирования не избежать ...
впрочем с поправкой согласен ...
...
Рейтинг: 0 / 0
Вопрос по теории авторизации на сервере приложений внутри домена
    #37051348
Фотография MustDie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо за ответы! Направили в нужное русло (SSPI).
Начитался, аж голова пухнет. Надеюсь, до делегирования не дойдет.
Остановился на SSPI через WinSocks, - круче вроде не требуется.

Кстати, наткнулся, может кому пригодиться - очень толково и наглядно этот процесс описан в книге Рихтера Дж. и Кларка Д.Д. - "Программирование серверных приложений". К ней есть диск с примерами.


Также есть хорошие примеры в SDK (...\Microsoft SDK\samples\security\SSPI\).

Глубоко не копал, но почему-то пакет безопасности (security package) Kerberos не инициализируется на клиентской машине под XP sp2 (вируталка). Не понял пока, с чем это связано. NTLM - нормально и Negotiate нормально. Где-то читал, что Negotiate включает в себя и Kerberos и NTLM. То есть можно его использовать и не париться, а он сам разберется?

Еще раз спасибо за ответы!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / Вопрос по теории авторизации на сервере приложений внутри домена
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]