|  01.04.2008, 12:32 | #41 | 
| Участник | 
			
			Идеи-то есть уже давно, вот времени их воплотить не хватает... А идея простая: как было выяснено, проблема с подключением возникает из-за того, что AOS получает информацию о SID'е пользователя для сопоставления его с тем или иным пользователем Axapta не из характеристик RPC-подключения (при том, что там используется аутентификация и обеспечение целостности данных), а непосредственно от клиента Axapta. Последний для этого получает SecurityToken своего основного потока, для этого SecurityToken запрашивает SID, проверяет его с помощью функции IsValidSid() из kernel32.dll и (та-да!) преобразует в строковый формат с помощью функции ConvertSidToStringSidW() все из той же kernel32.dll, после чего посылает его в таком виде AOS'у. При этом клиент Аксапты еще для каких-то надобностей грузит ntdsapi.dll и version.dll. Примечательны они тем, что из них импортируется всего лишь 1 и 3 функции, соответственно. Теперь зачем эта информация нужна... В общем, идея видится такая: 
 Последний раз редактировалось gl00mie; 01.04.2008 в 13:01. Причина: уточнение | 
|  | 
|  01.04.2008, 12:45 | #42 | 
| Участник | 
			
			Вообще говоря, если описанный способ сработает, то получится, что в механизме аутентификации клиента AX4 кроется здоровенная дыра. Связана она с тем, что аутентификация основывается на информации, посылаемой непосредственно клиентом AOS'у, а информация эта общедоступна. Узнать SID любого пользователя в домене (при наличии доступа к этому домену) не составляет труда: это можно сделать, к примеру, с помощью оснастки adsiedit или с помощью утилиты psgetsid из PsTools, причем никаких особенных прав на это не требуется, достаточно быть обычным пользователем в домене. А узнать SID пользователя и запустить программу под этим пользователем - это, согласитесь, «две большие разницы»    | 
|  | |
| За это сообщение автора поблагодарили: mazzy (5). | |
|  05.04.2008, 22:08 | #43 | 
| Участник | 
			
			Ну раз там такая "дыра", то может провести редактирование файла сервера не как взлом ПО (что является нарушением п 4.4 правил форума "...Запрещено любое обсуждение взлома, обхода защиты любого программного обеспечения..."), а как "исправление ошибки" в безопасности?  ;-) Т.е. "подправить" файл, чтобы он брал не SID, присланный бог весть откуда, а SID аккаунта, который выполняется на сервере. | 
|  | 
|  29.08.2008, 15:46 | #44 | 
| Участник | 
			
			Скромненько так: "Какое-то решение появилось, кроме вышеуказанного? На 5ке кто-то проверял это?"
		 | 
|  | 
| Теги | 
| active directory, доступ, ax4.0 | 
|  | 
| 
 |