Freigeben über


Sicherheit von Komponenten in der Warteschlange

Wenn ein Client einen Methodenaufruf an ein in die Warteschlange eingereihtes Objekt sendet, wird der Aufruf tatsächlich an den Recorder vorgenommen, der ihn als Teil einer Nachricht an den Server packt. Der Listener liest die Nachricht aus der Warteschlange und übergibt sie an den Spieler. Der Spieler ruft die tatsächliche Serverkomponente auf und führt denselben Methodenaufruf aus. Die Serverkomponente muss den Sicherheitsaufrufkontext des Clients (nicht den Sicherheitsaufrufkontext des Spielers) beobachten, wenn der Spieler den Methodenaufruf ausführt. Der Recorder marshallt den Sicherheitsaufrufkontext des Clients in die Nachricht, und der Spieler entmarsiert ihn auf dem Server, bevor er den Methodenaufruf vornimmt. Was das Serverobjekt betrifft, besteht kein Unterschied im Sicherheitskontext zwischen einem direkten Anruf vom Client und einem indirekten Anruf vom Spieler. Insbesondere werden die aufgerufenen Methoden mit den Berechtigungen des Absenders ausgeführt.

Eine COM+-Komponente in der Warteschlange unterstützt rollenbasierte Sicherheitssemantik genau wie andere Komponenten, die für die Verwendung mit COM+-Anwendungen entwickelt wurden. Komponenten einer in die Warteschlange gestellten Anwendung können daher programmgesteuerte Schnittstellen verwenden, um die Rollenmitgliedschaft ihres Aufrufers zu ermitteln (ISecurityCallContext::IsCallerInRole) oder einen bestimmten Benutzer (ISecurityCallContext::IsUserInRole). Es wird empfohlen, dass jede Komponente in der Warteschlange mit potenziellen Auswirkungen auf die Sicherheit diese Schnittstellen verwendet, um die Anmeldeinformationen des Absenders explizit zu überprüfen.

Die Anruferidentität ist die Identität, die einem Methodenaufruf zugeordnet ist. Die Anruferidentität wird von rollenbasierter Sicherheit verwendet und ist im Sicherheitsaufrufkontext vorhanden. In Warteschlangenkomponenten wird die Anruferidentitä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 Anrufer. Dies ist der übliche Fall.

Anmerkung

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 Ausführen von Zugriffssteuerungsprüfungen oder zum Handeln im Clientsicherheitskontext verwendet.

 

Wenn der Aufrufer einer in die Warteschlange eingereihten Komponente mit der Komponente über eine Out-of-Process-Aufzeichnung interagiert, können die Identitäten des Anrufers und des Nachrichtensenders (Recorder) unterschiedlich sein. In diesem Fall überprüft COM+-Komponenten in der Warteschlange, dass 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 es von Message Queuing authentifiziert wird.

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

Aufgrund des Risikos eines komplexen Angriffs, der mit jedem Mechanismus verbunden ist, der identitätsübergreifend über ein Netzwerk verteilt, sowie das Risiko eines einfachen Denial-of-Service-Angriffs durch Überfluten der Warteschlangen mit nicht ausgeführten Anforderungen, empfiehlt es sich, den COM+-Komponentendienst nur 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+ in die Warteschlange eingereihte Komponenten werden über DCOM ausgeführt, sodass Sie die Integrität und Geheimhaltung von Aufrufen in der Warteschlange schützen können, indem Sie Paketdatenschutz- als Authentifizierungsebene für Anrufe Einstellung auf der Registerkarte Sicherheit Registerkarte der Eigenschaften Blatts Ihrer in die Warteschlange eingereihten Anwendung auswählen.

COM+ Security

Sicherheitsbeschränkungen im Arbeitsgruppenmodus

Angeben des Authentifizierungsprotokolls