다음을 통해 공유


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 사용되면 서버에서 높은 권한을 가정하지 않는지 확인합니다.