Sicherheit von Komponenten in der Warteschlange

Wenn ein Client einen Methodenaufruf an ein Objekt in der Warteschlange sendet, erfolgt der Aufruf tatsächlich an den Recorder, der ihn als Teil einer Nachricht an den Server packt. Der Listener liest die Nachricht aus der Warteschlange und übergibt sie an den Player. Der Player ruft die eigentliche Serverkomponente auf und führt den gleichen Methodenaufruf aus. Die Serverkomponente muss den Sicherheitsaufrufkontext des Clients (nicht den Sicherheitsaufrufkontext des Spielers) beobachten, wenn der Player den Methodenaufruf vornimmt. Der Aufzeichnungsschreiber marshallt den Sicherheitsaufrufkontext des Clients in die Nachricht, und der Spieler entmarshallt sie auf dem Server, bevor der Methodenaufruf ausgeführt wird. Was das Serverobjekt angeht, gibt es keinen Unterschied im Sicherheitskontext zwischen einem direkten Aufruf vom Client und einem indirekten Aufruf des Players. Insbesondere führen die aufgerufenen Methoden mit den Berechtigungen des Absenders aus.

Eine COM+-Komponente in der Warteschlange unterstützt rollenbasierte Sicherheitssemantik genau wie andere Komponenten, die für die Verwendung mit COM+-Anwendungen erstellt wurden. Komponenten einer Anwendung in der Warteschlange können daher programmgesteuerte Schnittstellen verwenden, um die Rollenmitgliedschaft ihres Aufrufers (ISecurityCallContext::IsCallerInRole) oder eines bestimmten Benutzers (ISecurityCallContext::IsUserInRole) zu ermitteln. Es wird empfohlen, dass alle Komponenten in der Warteschlange mit potenziellen Sicherheitsbeeinträchtigungen diese Schnittstellen verwenden, um die Anmeldeinformationen des Absenders explizit zu überprüfen.

Die Aufruferidentität ist die Identität, die einem Methodenaufruf zugeordnet ist. Die Aufruferidentität wird von der rollenbasierten Sicherheit verwendet und ist im Sicherheitsaufrufkontext vorhanden. In Komponenten in der Warteschlange wird die Aufruferidentität als Daten in der Message Queuing-Nachricht dargestellt. Message Queuing authentifiziert die Absenderidentität der Nachricht. Wenn die Anruferidentität und die Absenderidentität der Nachricht identisch sind, authentifiziert Message Queuing sowohl die Nachricht als auch den Aufrufer. Dies ist der übliche Fall.

Hinweis

Com+-Komponenten in der Warteschlange unterstützen keine Sicherheit im Identitätswechselstil, wodurch ein Server ein Zugriffstoken abrufen kann, das der Clientidentität entspricht, und es entweder zum Durchführen von Zugriffssteuerungsprüfungen oder zum Handeln im Clientsicherheitskontext verwenden kann.

 

Wenn der Aufrufer einer Komponente in der Warteschlange über einen Out-of-Process-Recorder mit der Komponente interagiert, können sich die Identitäten des Aufrufers und des Nachrichtensenders (Recorder) unterscheiden. In diesem Fall überprüfen COM+-Komponenten in der Warteschlange, ob der Absender der Nachricht Mitglied der QC-Rolle "Vertrauenswürdiger Benutzer" auf dem Server ist. Darüber hinaus erfordert der Out-of-Process-Recorder ein Authentifizierungszertifikat, da er von Message Queuing authentifiziert wird.

Mitglieder der QC-Rolle "Vertrauenswürdiger Benutzer" dürfen eine beliebige Identität angeben. Dies bedeutet, dass ein böswilliger Member einen Komponentenaufruf in der Warteschlange mit erhöhten Berechtigungen ausführen kann. Es wird daher empfohlen, die Anzahl dieser Nutzer auf ein absolutes Minimum zu beschränken.

Aufgrund des Risikos eines komplexen Angriffs im Zusammenhang mit einem Mechanismus, der die Identität über ein Netzwerk verteilt, sowie des Risikos eines einfachen Denial-of-Service-Angriffs durch Das Überfluten der Warteschlangen mit nicht ausgeführten Anforderungen wird empfohlen, den COM+-Komponentendienst nur in der Warteschlange in einem Netzwerk vertrauenswürdiger Hosts bereitzustellen, z. B. in einem privaten Netzwerk oder einem virtuellen privaten Netzwerk oder hinter einer entsprechend konfigurierten Firewall.

Com+-Komponenten in der Warteschlange werden über DCOM ausgeführt, sodass Sie die Integrität und Geheimhaltung von Methodenaufrufen in der Warteschlange schützen können, indem Sie auf der Registerkarte Sicherheit des Eigenschaftenblatts Ihrer in die Warteschlange eingereihten Anwendung die Einstellung Paketdatenschutz als Einstellung für Authentifizierungsebene von Aufrufen auswählen.

COM+-Sicherheit

Sicherheitsbeschränkungen im Arbeitsgruppenmodus

Angeben des Authentifizierungsprotokolls