Null 会话数
有时,在 null 会话上到达的呼叫可能显示为经过身份验证的呼叫。 具体而言,调用 RpcBindingInqAuthClient 函数将返回用于调用的身份验证级别和安全提供程序。 此操作并不意味着调用不在 null 会话上。 这两个问题是正交的。 在 Microsoft Windows 2000 上,远程过程调用可以尝试模拟调用方并在模拟后检查权限。 在 Microsoft Windows XP 上,为 NullSession 标志调用 RpcServerInqCallAttributes 函数和检查速度更快。
Windows 2000 和 Windows XP 之间存在另一个相关差异。 如果仅指定RPC_IF_ALLOW_SECURE_ONLY标志,则 Windows 2000 中将通过 null 会话上的调用。 在 Windows XP 中,随着默认安全设置的一般收紧,指定此标志时,将拒绝对 null 会话的调用,并拒绝访问。 但是,即使使用 RPC_IF_ALLOW_SECURE_ONLY 标志,RPC 也不能保证调用用户的权限级别。 所有 RPC 检查都是用户是否具有有效的凭据。 呼叫用户可能正在使用来宾帐户或其他低特权帐户。 确保服务器在使用RPC_IF_ALLOW_SECURE_ONLY后不会采用高特权。