Null-Sitzungen

Manchmal kann ein Aufruf, der in der NULL-Sitzung eintrifft, wie ein authentifizierter Anruf angezeigt werden. Insbesondere gibt das Aufrufen der RpcBindingInqAuthClient-Funktion die Authentifizierungsebene und den Sicherheitsanbieter zurück, die für den Aufruf verwendet werden. Dieser Vorgang bedeutet nicht, dass der Aufruf nicht in einer NULL-Sitzung ausgeführt wurde. Die beiden Probleme sind orthogonal. Unter Microsoft Windows 2000 kann ein Remoteprozeduraufruf versuchen, die Identität eines Aufrufers zu annehmen und die Berechtigungen nach dem Identitätswechsel zu überprüfen. Unter Microsoft Windows XP ist es schneller, die RpcServerInqCallAttributes-Funktion aufzurufen und nach dem NullSession-Flag zu suchen.

Ein weiterer relevanter Unterschied besteht zwischen Windows 2000 und Windows XP. Wenn nur das RPC_IF_ALLOW_SECURE_ONLY-Flag angegeben ist, werden Aufrufe für die NULL-Sitzung in Windows 2000 ausgeführt. In Windows XP werden Aufrufe für die NULL-Sitzung mit der allgemeinen Straffung der Standardsicherheitseinstellungen abgelehnt, wenn dieses Flag angegeben wird. Selbst bei RPC_IF_ALLOW_SECURE_ONLY-Flag garantiert RPC jedoch nicht die Berechtigungsstufe des aufrufenden Benutzers. Alle RPC-Überprüfungen sind, dass der Benutzer über gültige Anmeldeinformationen verfügt. Es ist möglich, dass der aufrufende Benutzer das Gastkonto oder andere Konten mit niedrigen Berechtigungen verwendet. Stellen Sie sicher, dass der Server keine hohen Berechtigungen übernimmt, sobald RPC_IF_ALLOW_SECURE_ONLY verwendet wird.