Condividi tramite


Richiesta di una connessione crittografata a uno spazio dei nomi

È possibile richiedere che gli script client e le applicazioni stabiliscino una connessione crittografata per l'autenticazione aggiungendo il qualificatore RequireEncryption al file MOF (Managed Object Format) che crea lo spazio dei nomi.

Una connessione crittografata a uno spazio dei nomi WMI specifica RPC_C_AUTHN_LEVEL_PKT_PRIVACY (o PktPrivacy in uno script) per l'autenticazione. Il qualificatore RequiresEncryption fa sì che WMI rifiuti le richieste di dati in ingresso, a meno che non usino in modo esplicito l'autenticazione crittografata. Per altre informazioni, vedere Impostazione del livello di sicurezza del processo predefinito tramite VBScript o l'impostazione dell'autenticazione con C++.

È anche possibile modificare uno spazio dei nomi esistente aggiungendo questo attributo e quindi compilare di nuovo il file MOF. RequiresEncryption viene usata in MOF con l'istruzione del preprocessore spazio dei nomi pragma .

La seguente procedura imposta lo spazio dei nomi affinché richieda una connessione crittografata.

Per impostare i di crittografia necessari

  1. Creare un file MOF (Managed Object Format) o modificare il file MOF esistente che definisce lo spazio dei nomi.

    L'esempio di codice seguente mostra che lo spazio dei nomi che verrà modificato è root\MyNamespace e il file è denominato MyNamespace_security.mof. RequiresEncryption ha un tipo di dati booleano, pertanto deve essere impostato su True o False.

    #pragma namespace("\\\\.\\Root\\MyNamespace") 
    
    [RequiresEncryption(TRUE)] 
    instance of __systemSecurity { };
    
  2. Eseguire mofcomp.exe per compilare il file MOF.

    c:\mofcomp MyNamespace_security.mof

    In C++, usare i metodiIMoFCompiler.

WMI rifiuta un client che utilizza il livello di autenticazione predefinito perché DCOM negozia la sicurezza al livello richiesto dal processo SVCHOST in cui è in esecuzione il servizio WMI. Per altre informazioni sugli host del servizio, vedere Provider Hosting and Security. Per altre informazioni sull'impostazione dei livelli di autenticazione durante la connessione agli spazi dei nomi WMI, vedere Impostazione del livello di sicurezza del processo predefinito tramite C++, Impostazione dell'autenticazione tramiteC++ o impostazione del livello di sicurezza del processo predefinito tramite VBScript.

Quando si restituiscono dati in una connessione di callback asincrona, WMI restituisce un messaggio di accesso negato al computer richiedente. WMI crea inoltre una voce di registro nel registro eventi NT del computer con lo spazio dei nomi crittografato, specificando che non è possibile stabilire una connessione sicura al client.

A partire da Windows Vista, il file WbemCore.log non esiste più. È possibile controllare nel registro eventi NT le voci che indicano le richieste di dati in ingresso rifiutate agli spazi dei nomi che richiedono la crittografia.

Impostazione dei descrittori di sicurezza del namespace

WbemAuthenticationLevelEnum

Protezione di una connessione WMI remota