Поделиться через


Сеансы со значением NULL

Иногда вызов, поступающий в сеанс null, может выглядеть как вызов с проверкой подлинности. В частности, вызов функции RpcBindingInqAuthClient возвращает уровень проверки подлинности и поставщик безопасности, используемый для вызова. Эта операция не означает, что вызов не был выполнен в сеансе null. Эти две проблемы являются ортогональными. В Microsoft Windows 2000 удаленный вызов процедуры может попытаться олицетворять вызывающую сторону и проверка разрешения после олицетворения. В Microsoft Windows XP быстрее вызвать функцию RpcServerInqCallAttributes и проверка для флага NullSession.

Еще одно важное различие между Windows 2000 и Windows XP. Если указан только флаг RPC_IF_ALLOW_SECURE_ONLY, вызовы в сеансе null проходят в Windows 2000. В Windows XP при общем ужесточении параметров безопасности по умолчанию при указании этого флага вызовы в сеансе null отклоняются с отказом в доступе. Однако даже при использовании флага RPC_IF_ALLOW_SECURE_ONLY RPC не гарантирует уровень привилегий вызывающего пользователя. Все проверки RPC заключается в том, что у пользователя есть действительные учетные данные. Возможно, вызывающий пользователь использует гостевую учетную запись или другие учетные записи с низким уровнем привилегий. Убедитесь, что сервер не получает высокий уровень привилегий после использования RPC_IF_ALLOW_SECURE_ONLY.