Neue Flags für die RPC-Schnittstellenregistrierung

Veröffentlicht: 21. Jul 2004 | Aktualisiert: 14. Nov 2004

Es wurden drei neue Schnittstellenregistrierungsflags erstellt, die es einem Anwendungsentwickler erleichtern, einer RPC-Schnittstelle die nötige Sicherheit zuzuweisen.

  • RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH

    Wenn dieses Flag registriert ist, ruft das RPC-Laufzeitsystem den registrierten Sicherheitsrückruf für alle Aufrufe auf, unabhängig von den Sicherheitseinstellungen für den Aufruf. Ohne dieses Flag weist RPC alle nicht authentifizierten Aufrufe zurück, bevor sie den Sicherheitsrückruf erreichen. Dieses Flag funktioniert nur, wenn ein Sicherheitsrückruf registriert ist.

  • RPC_IF_SEC_NO_CACHE

    Für eine Schnittstelle wird ein Sicherheitsrückruf registriert, um den Zugriff auf diese Schnittstelle zu beschränken. Der normale Sicherheitsrückruf nimmt die Identität des Clients an, um zu ermitteln, ob der Client über ausreichende Rechte für einen Aufruf der Schnittstelle verfügt. Wenn eine bestimmte Clientidentität einen Sicherheitsrückruf einmal bestanden hat, wird normalerweise immer der gleiche Sicherheitsrückruf übergeben.

    Das RPC-Laufzeitsystem nutzt dieses Muster, indem aufgezeichnet wird, wann eine individuelle Clientidentität einen Sicherheitsrückruf übergibt, und überspringt den Sicherheitsrückruf für nachfolgende Aufrufe dieses Clients an die gleiche Schnittstelle. Dieses Feature wird Zwischenspeichern von Sicherheitsrückrufen genannt und ist seit Windows 2000 integriert. In Windows XP Service Pack 2 können Sie mit dem Flag RPC_IF_ SEC _NO_CACHE das Zwischenspeichern von Sicherheitsrückrufen für eine bestimmte Schnittstelle deaktivieren. Dies ist von Nutzen, wenn sich die Sicherheitsüberprüfung ändert und möglicherweise eine Clientidentität zurückgewiesen wird, die zuvor zugelassen wurde.

  • RPC_IF_LOCAL_ONLY

    Wenn eine Schnittstelle mit diesem Flag registriert wird, weist RPC Aufrufe von Remote-RPC-Clients zurück. Darüber hinaus werden lokale Aufrufe über alle ncadg_*- und ncacn_*-Protokollsequenzen (außer Named Pipes mit ncacn_np) ebenfalls zurückgewiesen. Wenn in ncacn_np ein Aufruf erfolgt, lässt RPC den Aufruf nur zu, wenn dieser nicht von SVR kommt, sodass alle Remoteaufrufe herausgefiltert werden. Ncalrpc-Aufrufe werden immer durchgelassen.

Implikationen für den Entwickler

pfeilrechts Einführung
pfeilrechts Erhöhter Netzwerkschutz
pfeilrechts Neuer Speicherschutz
pfeilrechts Verbesserte E-Mail-Sicherheit
pfeilrechts Erweiterte Sicherheit beim Browsen
pfeilrechts Zusammenfassung