Erfordern einer verschlüsselten Verbindung mit einem Namespace
Sie können anfordern, dass Clientskripts und Anwendungen eine verschlüsselte Verbindung für die Authentifizierung herstellen, indem Sie den RequiresEncryption-Qualifizierer der MOF-Datei (Managed Object Format) hinzufügen, die den Namespace erstellt.
Eine verschlüsselte Verbindung mit einem WMI-Namespace gibt RPC _ C _ AUTHN _ LEVEL _ PKT _ PRIVACY (oder PktPrivacy in einem Skript) für die Authentifizierung an. Der RequiresEncryption-Qualifizierer bewirkt, dass WMI alle eingehenden Datenanforderungen ablehnt, es sei denn, sie verwenden explizit eine verschlüsselte Authentifizierung. Weitere Informationen finden Sie unter Setting the Default Process Security Level Using VBScript (Festlegen der Standardprozesssicherheitsstufe mit VBScript) oder Setting Authentication Using C++ (Festlegen der Authentifizierung mit C++).
Sie können auch einen vorhandenen Namespace ändern, indem Sie dieses Attribut hinzufügen und dann die MOF-Datei erneut kompilieren. RequiresEncryption wird in MOF mit der Pragma-Namespacepräprozessoranweisung verwendet.
Mit dem folgenden Verfahren wird der Namespace so festgelegt, dass eine verschlüsselte Verbindung erforderlich ist.
So legen Sie die erforderliche Verschlüsselung fest
Erstellen Sie eine MOF-Datei (Managed Object Format), oder ändern Sie Ihre vorhandene MOF-Datei, die den Namespace definiert.
Das folgende Codebeispiel zeigt den Namespace, der geändert wird, ist root \ MyNamespace, und die Datei heißt MyNamespace _ security.mof. RequiresEncryption weist einen booleschen Datentyp auf, sodass er auf True oder False festgelegt werden muss.
#pragma namespace("\\\\.\\Root\\MyNamespace") [RequiresEncryption(TRUE)] instance of __systemSecurity { };Führen Sie mofcomp.exe aus, um die MOF-Datei zu kompilieren.
c: \ mofcomp MyNamespace _ security.mof
Verwenden Sie in C++ die IMoFCompiler-Methoden.
WMI lehnt einen Client ab, der die Standardauthentifizierungsebene verwendet, da DCOM die Sicherheit auf die Ebene aushandelt, die für den SVCHOST-Prozess erforderlich ist, in dem der WMI-Dienst ausgeführt wird. Weitere Informationen zu Diensthosts finden Sie unter Anbieterhosting und Sicherheit. Weitere Informationen zum Festlegen von Authentifizierungsebenen beim Herstellen einer Verbindung mit WMI-Namespaces finden Sie unter Festlegen der Standardprozesssicherheitsstufe mit C++,Festlegen der Authentifizierung mit C++oder Festlegen der Standardprozesssicherheitsstufe mit VBScript.
Wenn Daten für eine asynchrone Rückrufverbindung zurückgegeben werden, gibt WMI eine Meldung vom Datentyp "Zugriff verweigert" an den anfordernden Computer zurück. WMI erstellt auch einen Protokolleintrag im NT-Ereignisprotokoll des Computers mit dem verschlüsselten Namespace, der angibt, dass keine sichere Verbindung mit dem Client hergestellt werden kann.
Ab Windows Vista ist die Datei WbemCore.log nicht mehr vorhanden. Sie können das NT-Ereignisprotokoll auf Einträge überprüfen, die auf abgelehnte eingehende Datenanforderungen an Namespaces hinweisen, die eine Verschlüsselung erfordern.