Acceso a espacios de nombres de WMI

WMI usa un descriptor de seguridad estándar de Windows para controlar el acceso a los espacios de nombres de WMI. Cuando se conecta a WMI, tanto mediante el moniker "winmgmts" de WMI como mediante una llamada a IWbemLocator::ConnectServer o SWbemLocator.ConnectServer, se conecta a un espacio de nombres específico.

En este tema se describe lo siguiente:

Seguridad de espacios de nombres de WMI

WMI mantiene la seguridad del espacio de nombres comparando el token de acceso del usuario que se conecta al espacio de nombres con el descriptor de seguridad del espacio de nombres. Para obtener más información sobre la seguridad de Windows, vea Acceso a objetos protegibles de WMI.

Tenga en cuenta que, a partir de Windows Vista, el Control de cuentas de usuario (UAC) afecta al acceso a los datos de WMI y a lo que se puede configurar con el Control de WMI. Para obtener más información, vea Permisos predeterminados en espacios de nombres de WMI y Control de cuentas de usuario y WMI.

El acceso a los espacios de nombres de WMI también se ve afectado cuando la conexión se realiza desde un equipo remoto. Para obtener más información, vea Conexión a WMI en un equipo remoto, Protección de una conexión a WMI remota y Conexión mediante el Firewall de Windows.

Los proveedores deben confiar en la configuración de suplantación de la conexión para determinar si el script de cliente o la aplicación deben recibir datos. Para obtener más información sobre el script y las aplicaciones cliente, vea Establecimiento de la seguridad del proceso de aplicación cliente. Para obtener más información sobre la suplantación del proveedor, vea Desarrollo de un proveedor de WMI.

Auditoría de espacios de nombres de WMI

WMI usa las listas de control de acceso del sistema (SACL) del espacio de nombres para auditar la actividad del espacio de nombres. Para habilitar la auditoría de los espacios de nombres de WMI, use la pestaña Seguridad del Control de WMI a fin de cambiar la configuración de auditoría del espacio de nombres.

La auditoría no se habilita durante la instalación del sistema operativo. Para habilitar la auditoría, haga clic en la pestaña Auditoría de la ventana Seguridad estándar. Después, puede agregar una entrada de auditoría.

La directiva de grupo para el equipo local debe configurarse a fin de permitir la auditoría. Puede habilitar la auditoría ejecutando el complemento MMC Gpedit.msc y estableciendo Auditar el acceso a objetos en Configuración del equipo>Configuración de Windows>Configuración de seguridad>Directivas locales>Directiva de auditoría.

Una entrada de auditoría edita la SACL del espacio de nombres. Al agregar una entrada de auditoría, puede ser un usuario, un grupo, un equipo o una entidad de seguridad integrada. Después de agregar la entrada, puede establecer las operaciones de acceso que dan lugar a eventos de registro de seguridad. Por ejemplo, para el grupo Usuarios autenticados, puede hacer clic en Ejecutar métodos. Esta configuración da como resultado eventos de registro de seguridad cada vez que un miembro del grupo Usuarios autenticados ejecuta un método en ese espacio de nombres. El identificador de evento para eventos de WMI es 4662.

La cuenta debe estar en el grupo Administradores y ejecutarse con privilegios elevados para cambiar la configuración de auditoría. La cuenta predefinida de administrador también puede cambiar la seguridad o la auditoría de un espacio de nombres. Para obtener más información sobre la ejecución con privilegios elevados, vea Control de cuentas de usuario y WMI.

La auditoría de WMI genera eventos de éxito o error para intentos de acceso a espacios de nombres de WMI. El servicio no audita el éxito ni el error de las operaciones del proveedor. Por ejemplo, cuando un script se conecta a WMI y a un espacio de nombres, puede producir un error porque la cuenta con la que se ejecuta el script no tiene acceso a ese espacio de nombres o puede intentar una operación, como editar la DACL, que no se concede.

Si se ejecuta el script en una cuenta en el grupo Administradores, puede ver los eventos de auditoría del espacio de nombres en la interfaz de usuario del Visor de eventos.

Tipos de eventos de espacio de nombres

WMI realiza un seguimiento de los siguientes tipos de eventos en el registro de eventos de seguridad:

  • Auditoría correcta

    La operación debe completar correctamente dos pasos para realizar una auditoría correcta. En primer lugar, WMI concede acceso a la aplicación cliente o al script en función del SID de cliente y la DACL del espacio de nombres. En segundo lugar, la operación solicitada coincide con los derechos de acceso en la SACL del espacio de nombres para ese usuario o grupo.

  • Error de auditoría

    WMI deniega el acceso al espacio de nombres, pero la operación solicitada coincide con los derechos de acceso en al SACL del espacio de nombres para ese usuario o grupo.

Configuración de acceso del espacio de nombres

Puede ver los derechos de acceso del espacio de nombres para varias cuentas en el Control de WMI. Estas constantes se describen en Constantes de derechos de acceso del espacio de nombres. Puede cambiar el acceso a un espacio de nombres de WMI mediante el Control de WMI o mediante programación. Para obtener más información, vea Cambio de la seguridad de acceso en objetos protegibles.

WMI audita los cambios en todos los permisos de acceso enumerados en la lista siguiente, excepto el permiso Llamada remota habilitada. Los cambios se registran como auditorías correctas o errores de auditoría según el permiso Modificar seguridad.

Ejecutar métodos

Permite al usuario ejecutar métodos definidos en clases de WMI. Corresponde a la constante de permiso de acceso WBEM_METHOD_EXECUTE.

Escritura completa

Permite el acceso completo de lectura, escritura y eliminación a clases e instancias de clase de WMI, tanto estáticas como dinámicas. Corresponde a la constante de permiso de acceso WBEM_FULL_WRITE_REP.

Escritura parcial

Permite el acceso de escritura a instancias de clases de WMI estáticas. Corresponde a la constante de permiso de acceso WBEM_PARTIAL_WRITE_REP.

Escritura de proveedor

Permite el acceso de escritura a instancias de clases de WMI dinámicas. Corresponde a la constante de permiso de acceso WBEM_WRITE_PROVIDER.

Habilitar cuenta

Permite el acceso de lectura a instancias de clases de WMI. Corresponde a la constante de permiso de acceso WBEM_ENABLE.

Llamada remota habilitada

Permite el acceso de equipos remotos al espacio de nombres. Corresponde a la constante de permiso de acceso WBEM_REMOTE_ACCESS.

Seguridad de lectura

Permite el acceso de solo lectura a la configuración de DACL. Corresponde a la constante de permiso de acceso READ_CONTROL.

Modificar seguridad

Permite el acceso de escritura a la configuración de DACL. Corresponde a la constante de permiso de acceso WRITE_DAC.

Permisos predeterminados en espacios de nombres de WMI

Los grupos de seguridad predeterminados son:

  • Usuarios autenticados
  • SERVICIO LOCAL
  • SERVICIO DE RED
  • Administradores (en el equipo local)

Los permisos de acceso predeterminados para Usuarios autenticados, SERVICIO LOCAL y SERVICIO DE RED son:

  • Ejecutar métodos
  • Escritura completa
  • Habilitar cuenta

Las cuentas del grupo Administradores tienen todos los derechos disponibles, incluida la modificación de los descriptores de seguridad. Sin embargo, debido al Control de cuentas de usuario (UAC), el Control de WMI o el script deben ejecutarse con privilegios de seguridad elevados. Para obtener más información, vea Control de cuentas de usuario y WMI.

A veces, un script o una aplicación deben habilitar un privilegio de administrador, como SeSecurityPrivilege, para llevar a cabo una operación. Por ejemplo, un script puede ejecutar el método GetSecurityDescriptor de la clase Win32_Printer sin SeSecurityPrivilege y obtener la información de seguridad en la lista de control de acceso discrecional (DACL) del descriptor de seguridad del objeto de impresora. Pero la información de la SACL no se devuelve al script a menos que el privilegio SeSecurityPrivilege esté disponible y habilitado para la cuenta. Si la cuenta no tiene este privilegio disponible, no se puede habilitar. Para obtener más información, vea Ejecución de operaciones con privilegios.

Acerca de WMI