Requisito de una conexión cifrada a un espacio de nombres

Puede requerir que los scripts y las aplicaciones de cliente establezcan una conexión cifrada para la autenticación; para ello, agregue el calificador RequireEncryption al archivo MOF que crea el espacio de nombres.

Una conexión cifrada a un espacio de nombres WMI especifica RPC_C_AUTHN_LEVEL_PKT_PRIVACY (o PktPrivacy en un script) para la autenticación. El calificador RequiresEncryption hace que WMI rechace las solicitudes de datos entrantes a menos que usen explícitamente la autenticación cifrada. Para más información, consulte Establecimiento del nivel de seguridad de proceso predeterminado mediante VBScript o Configuración de la autenticación con C++.

También puede modificar un espacio de nombres agregando este atributo y compilando de nuevo el archivo MOF. RequiresEncryption se usa en MOF con la instrucción de preprocesador pragma namespace.

El procedimiento siguiente establece el espacio de nombres para requerir una conexión cifrada.

Establecimiento del cifrado obligatorio

  1. Cree un archivo con formato de objeto administrado (MOF) o modifique el archivo MOF existente que defina el espacio de nombres.

    En el ejemplo de código siguiente se muestra que el espacio de nombres que se va a modificar es root\MyNamespace y el archivo se llama MyNamespace_security.mof. RequiresEncryption tiene un tipo de datos booleano, por lo que debe establecerse en True o False.

    #pragma namespace("\\\\.\\Root\\MyNamespace") 
    
    [RequiresEncryption(TRUE)] 
    instance of __systemSecurity { };
    
  2. Ejecute mofcomp.exe para compilar el archivo MOF.

    c:\mofcomp MyNamespace_security.mof

    En C++, use los métodos IMoFCompiler.

WMI rechaza un cliente que usa el nivel de autenticación predeterminado porque DCOM negocia la seguridad al nivel que requiere el proceso SVCHOST en el que se ejecuta el servicio WMI. Para más información sobre los hosts de servicio, consulte Hospedaje y seguridad del proveedor. Para más información sobre cómo establecer niveles de autenticación al conectarse a espacios de nombres de WMI, consulte Establecimiento del nivel de seguridad de proceso predeterminado mediante C++, Establecimiento de la autenticación mediante C++o Establecimiento del nivel de seguridad de proceso predeterminado mediante VBScript.

Al devolver datos en una conexión de devolución de llamada asincrónica, WMI devuelve un mensaje de acceso denegado al equipo solicitante. WMI también realiza una entrada en el registro de eventos NT del equipo con el espacio de nombres cifrado que indica que no se puede establecer una conexión segura al cliente.

A partir de Windows Vista, el archivo WbemCore.log ya no existe. Puede comprobar el registro de eventos NT en busca de entradas que indiquen solicitudes de datos entrantes rechazadas a espacios de nombres que requieran cifrado.

Establecimiento de descriptores de seguridad del espacio de nombres

WbemAuthenticationLevelEnum

Protección de una conexión WMI remota