Schützen einer WMI-Remoteverbindung

Stellen Sie sicher, dass die richtigen DCOM-Einstellungen und WMI-Namespacesicherheitseinstellungen für die Verbindung aktiviert sind, um mithilfe von WMI eine Verbindung mit einem Remotecomputer herzustellen.

WMI verfügt über Standardeinstellungen für Identitätswechsel, Authentifizierung und Authentifizierungsdienst (NTLM oder Kerberos), die für den Zielcomputer in einer Remoteverbindung erforderlich sind. Ihr lokaler Computer verwendet möglicherweise unterschiedliche Standardwerte, die vom Zielsystem nicht akzeptiert werden. Sie können diese Einstellungen im Verbindungsaufruf ändern.

Die folgenden Abschnitte werden in diesem Thema behandelt:

DCOM-Einstellungen für Identitätswechsel und Authentifizierung für WMI

WMI verfügt über Standardeinstellungen für Identitätswechsel, Authentifizierung und Authentifizierungsdienst (NTLM oder Kerberos), die für den Zielsystem erforderlich sind. Ihr lokales System verwendet möglicherweise unterschiedliche Standardwerte, die vom Zielsystem nicht akzeptiert werden. Sie können diese Einstellungen im Verbindungsaufruf ändern. Weitere Informationen finden Sie unter Einstellen der Prozesssicherheit für Clientanwendungen. Für den Authentifizierungsdienst wird jedoch empfohlen, dass Sie RPC_C_AUTHN_DEFAULT angeben und DCOM erlauben, den geeigneten Dienst für den Zielcomputer auszuwählen.

Sie können in C++ Einstellungen in Parametern für die Aufrufe von CoInitializeSecurity oder CoSetProxyBlanket angeben. In Skripts können Sie Sicherheitseinstellungen in Aufrufen von SWbemLocator.ConnectServer, in einem SWbemSecurity-Objekt oder in der Skripting-Moniker-Zeichenfolge einrichten.

Eine Liste aller C++-Identitätswechselkonstanten finden Sie unter Festlegen der Standardprozesssicherheitsstufe mithilfe von C++. Informationen zu den Visual Basic-Konstanten und Skripting-Zeichenfolgen für die Verwendung der Monikerverbindung finden Sie unter Festlegen der Standardprozesssicherheitsstufe mithilfe von VBScript.

In der folgenden Tabelle sind die Standard-DCOM-Einstellungen für Identitätswechsel, Authentifizierung und Authentifizierungsdienst aufgeführt, die für den Zielcomputer (Computer B) in einer Remoteverbindung erforderlich sind. Weitere Informationen finden Sie unter „Schützen einer WMI-Remoteverbindung“.

Betriebssystem von Computer B Skripting-Zeichenfolge auf Identitätswechselebene Skripting-Zeichenfolge auf Authentifizierungsebene Authentifizierungsdienst
Windows Vista oder höher Impersonate Pkt Kerberos

 

WMI-Remoteverbindungen sind von der Benutzerkontensteuerung (UAC) und der Windows-Firewall betroffen. Weitere Informationen finden Sie unter Herstellen einer WMI-Remoteverbindung mit Vista und Herstellen einer Verbindung über die Windows-Firewall.

Beachten Sie, dass die Verbindung mit WMI auf dem lokalen Computer über die Standardauthentifizierungsebene PktPrivacy verfügt.

Einstellen der DCOM-Sicherheit, um einem Benutzenden den Remotezugriff auf einen Computer zu ermöglichen

Die Sicherheit in WMI hängt mit der Verbindung zu einem WMI-Namespace zusammen. WMI verwendet DCOM, um Remoteaufrufe zu verarbeiten. Ein Grund für das Fehlschlagen beim Herstellen einer Verbindung mit einem Remotecomputer ist ein DCOM-Fehler (Fehler „DCOM-Zugriff verweigert“ dezimal -2147024891 oder hexadezimal 0x80070005). Weitere Informationen zur DCOM-Sicherheit in WMI für C++-Anwendungen finden Sie unter Einstellen der Sicherheit des Clientanwendungsprozesses.

Sie können DCOM-Einstellungen für WMI mithilfe des DCOM-Konfigurationshilfsprogramms (DCOMCnfg.exe) konfigurieren, das sie unter Verwaltungs-Tools in der Systemsteuerung finden. Dieses Hilfsprogramm macht die Einstellungen verfügbar, die es bestimmten Benutzern ermöglichen, über DCOM eine Remoteverbindung mit dem Computer herzustellen. Mitglieder der Gruppe „Administratoren“ dürfen standardmäßig eine Remoteverbindung mit dem Computer herstellen. Mit diesem Hilfsprogramm können Sie die Sicherheit einstellen, die benötigt wird,um den WMI-Dienst zu starten, darauf zuzugreifen und zu konfigurieren.

Im folgenden Verfahren wird beschrieben, wie Sie bestimmten Benutzenden und Gruppen DCOM-Remotestart- und Aktivierungsberechtigungen erteilen. Wenn Computer A eine Remoteverbindung mit Computer B herstellt, können Sie diese Berechtigungen auf Computer B festlegen, damit ein Benutzender oder eine Gruppe, die nicht zur Gruppe „Administratoren“ auf Computer B gehört, DCOM-Start- und Aktivierungsaufrufe auf Computer B ausführen kann.

So erteilen Sie DCOM-Remotestart- und Aktivierungsberechtigungen für einen Benutzenden oder eine Gruppe

  1. Klicken Sie auf Start, dann auf Ausführen, geben Sie DCOMCNFGein, und klicken Sie dann auf OK.

  2. Erweitern Sie im Dialogfeld Komponentendienste nacheinander die Einträge Komponentendienste und Computer, klicken Sie mit der rechten Maustaste auf Mein Computer, und klicken Sie dann auf Eigenschaften.

  3. Klicken Sie im Dialogfeld Eigenschaften von Mein Computer auf die Registerkarte COM-Sicherheit .

  4. Klicken Sie unter Start- und Aktivierungsberechtigungen auf Limits bearbeiten.

  5. Führen Sie im Dialogfeld Startberechtigung die folgenden Schritte aus, wenn Ihr Name oder Ihre Gruppe nicht in der Liste mit Gruppen oder Benutzernamen angezeigt wird:

    1. Klicken Sie im Dialogfeld Startberechtigungen auf Hinzufügen.
    2. Geben Sie im Dialogfeld Benutzer, Computer oder Gruppen auswählen in das Feld Auszuwählende Objektnamen eingeben, und klicken Sie auf OK.
  6. Wählen Sie im Dialogfeld Startberechtigung Ihren Benutzenden und Ihre Gruppe im Feld Gruppen- oder Benutzernamen aus. Wählen Sie in der Spalte Zulassen unter Berechtigungen für Benutzer die Option Remotestart und die Option Remoteaktivierung aus, und klicken Sie dann auf OK.

Im folgenden Verfahren wird beschrieben, wie Sie bestimmten Benutzenden und Gruppen DCOM-Remotezugriffsberechtigungen erteilen. Wenn Computer A eine Remoteverbindung mit Computer B herstellt, können Sie diese Berechtigungen auf Computer B festlegen, damit ein Benutzender oder eine Gruppe, die nicht zur Gruppe „Administratoren“ auf Computer B gehört, eine Verbindung mit Computer B herstellen kann.

So erteilen Sie DCOM-Remotezugriffsberechtigungen

  1. Klicken Sie auf Start, dann auf Ausführen, geben Sie DCOMCNFGein, und klicken Sie dann auf OK.
  2. Erweitern Sie im Dialogfeld Komponentendienste nacheinander die Einträge Komponentendienste und Computer, klicken Sie mit der rechten Maustaste auf Mein Computer, und klicken Sie dann auf Eigenschaften.
  3. Klicken Sie im Dialogfeld Eigenschaften von Mein Computer auf die Registerkarte COM-Sicherheit .
  4. Klicken Sie unter Zugriffsberechtigungen auf Limits bearbeiten.
  5. Wählen Sie im Dialogfeld Zugriffsberechtigung im Feld Gruppen- oder Benutzernamen die Option ANONYMER LOGON-Name aus. Wählen Sie in der Spalte Zulassen unter Berechtigungen für Benutzer die Option Remotezugriff aus, und klicken Sie dann auf OK.

Zulassen des Zugriffs auf einen bestimmten WMI-Namespace durch Benutzende

Sie können Benutzenden den Zugriff auf einen bestimmten WMI-Namespace erlauben oder verbieten, indem Sie die Berechtigung „Remoteaktivierung“ im WMI-Steuerelement für einen Namespace festlegen. Wenn ein Benutzender versucht, eine Verbindung mit einem Namespace herzustellen, auf den er keinen Zugriff hat, erhält er eine Fehlermeldung „0x80041003“. Standardmäßig ist diese Berechtigung nur für Administratoren aktiviert. Ein Administrator kann den Remotezugriff auf bestimmte WMI-Namespaces für einen Benutzenden, der kein Administrator ist, aktivieren.

Mit dem folgenden Verfahren werden Remoteaktivierungsberechtigungen für einen Benutzenden, der kein Administrator ist, festgelegt.

So legen Sie Remoteaktivierungsberechtigungen fest

  1. Stellen Sie mithilfe des WMI-Steuerelements eine Verbindung mit dem Remotecomputer her.

    Weitere Informationen finden Sie unter Festlegen der Namespacesicherheit mit dem WMI-Steuerelement.

  2. Öffnen Sie die Registerkarte Sicherheit, wählen Sie den Namespace aus, und klicken Sie auf Sicherheit.

  3. Suchen Sie das entsprechende Konto, und markieren Sie Remoteaktivierung in der Liste Berechtigungen.

Einstellen der Namespacesicherheit auf „Datenverschlüsselung für Remoteverbindungen erforderlich“

Ein Administrator oder eine MOF-Datei kann einen WMI-Namespace so konfigurieren, dass keine Daten zurückgegeben werden, es sei denn, Sie verwenden den Paketschutz (RPC_C_AUTHN_LEVEL_PKT_PRIVACY oder PktPrivacy als Moniker in einem Skript) in einer Verbindung mit diesem Namespace. Dadurch wird sichergestellt, dass die Daten auf ihrem Weg durch das Netzwerk verschlüsselt werden. Wenn Sie versuchen, eine niedrigere Authentifizierungsstufe festzulegen, erhalten Sie eine Nachricht „Zugriff verweigert. Weitere Informationen finden Sie unter Anfordern einer verschlüsselten Verbindung zu einem Namespace.

Das folgende VBScript-Codebeispiel zeigt, wie Sie mithilfe von „pktPrivacy“ eine Verbindung mit einem verschlüsselten Namespace herstellen.

strComputer = "RemoteComputer"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                              & strComputer & "\root\EncryptedNamespace")

Delegieren mit WMI

Remoteerstellung von Prozessen mit WMI

Schutz von C++-Clients und -Anbietern

Schutz von Skripting-Clients