Permitir automáticamente las aplicaciones implementadas por un instalador administrado con Windows Defender Control de aplicaciones

Nota

Algunas funcionalidades de Windows Defender Application Control solo están disponibles en versiones específicas de Windows. Obtenga más información sobre la disponibilidad de características Windows Defender Application Control.

Windows Defender Control de aplicaciones (WDAC) incluye una opción denominada instalador administrado que ayuda a equilibrar la seguridad y la capacidad de administración al aplicar directivas de control de aplicaciones. Esta opción le permite permitir automáticamente las aplicaciones instaladas por una solución de distribución de software designada, como Microsoft Configuration Manager (MEMCM) o Microsoft Intune.

¿Cómo funciona un instalador administrado?

El instalador administrado usa una colección de reglas especial en AppLocker para designar archivos binarios de confianza para su organización como origen autorizado para la instalación de la aplicación. Cuando se ejecuta uno de estos archivos binarios de confianza, Windows supervisa el proceso del binario (y los procesos secundarios que inicia) y busca los archivos que se escriben en el disco. A medida que se escriben los archivos, se etiquetan como procedentes de un instalador administrado.

A continuación, puede configurar WDAC para que confíe en los archivos instalados por un instalador administrado agregando la opción "Enabled:Managed Installer" a la directiva WDAC. Cuando se establece esa opción, WDAC comprobará si hay información de origen del instalador administrado al determinar si se va a permitir o no la ejecución de un archivo binario. Siempre que no haya reglas de denegación para el binario, WDAC le permitirá ejecutarse únicamente en función de su origen del instalador administrado.

Consideraciones de seguridad con instalador administrado

Dado que el instalador administrado es un mecanismo basado en heurística, no proporciona las mismas garantías de seguridad que las reglas explícitas de permitir o denegar. El instalador administrado es más adecuado cuando los usuarios funcionan como usuario estándar y donde todo el software se implementa e instala mediante una solución de distribución de software como MEMCM.

Los usuarios con privilegios de administrador o malware que se ejecutan como usuario administrador en el sistema pueden eludir la intención de las directivas WDAC cuando se permite la opción del instalador administrado.

Si un proceso de instalador administrado se ejecuta en el contexto de un usuario con privilegios estándar, es posible que los usuarios estándar o malware que se ejecutan como usuario estándar puedan eludir la intención de las directivas WDAC.

Algunos instaladores de aplicaciones pueden ejecutar automáticamente la aplicación al final del proceso de instalación. Si la aplicación se ejecuta automáticamente y el instalador lo ejecutó un instalador administrado, el seguimiento heurístico y la autorización del instalador administrado se extenderán a todos los archivos creados durante la primera ejecución de la aplicación. Esta extensión podría dar lugar a una autorización involuntaria de un ejecutable. Para evitarlo, asegúrese de que el método de implementación de aplicaciones que se usa como instalador administrado limita la ejecución de aplicaciones como parte de la instalación.

Limitaciones conocidas con el instalador administrado

  • El control de aplicaciones, basado en el instalador administrado, no admite aplicaciones que se actualicen automáticamente. Si una aplicación implementada por un instalador administrado se actualiza más adelante, los archivos de aplicación actualizados no incluirán la información de origen del instalador administrado y es posible que no puedan ejecutarse. Cuando se basa en instaladores administrados, debe implementar e instalar todas las actualizaciones de aplicaciones mediante un instalador administrado o incluir reglas para autorizar la aplicación en la directiva WDAC. En algunos casos, también puede ser posible designar un archivo binario de aplicación que realice actualizaciones automáticas como instalador administrado. Es necesario realizar una revisión adecuada de la seguridad y la funcionalidad para la aplicación antes de usar este método.

  • Algunas aplicaciones o instaladores pueden extraer, descargar o generar archivos binarios e intentar ejecutarlos inmediatamente. Es posible que el instalador administrado no permita los archivos ejecutados por este proceso. En algunos casos, puede que sea posible designar también una aplicación binaria que realice esta operación como instalador administrado. Es necesario realizar una revisión adecuada de la seguridad y la funcionalidad para la aplicación antes de usar este método.

  • La heurística del instalador administrado no autoriza los controladores de kernel. La directiva WDAC debe tener reglas que permitan la ejecución de los controladores necesarios.

Configuración del seguimiento del instalador administrado con AppLocker y WDAC

Para activar el seguimiento del instalador administrado, debe:

  • Cree e implemente una directiva de AppLocker que defina las reglas del instalador administrado y habilite la aplicación de servicios para archivos ejecutables y archivos DLL.
  • Habilite los servicios Application Identity y AppLockerFltr de AppLocker.

Nota

La siguiente directiva de AppLocker del instalador administrado está diseñada para combinarse de forma segura con cualquier directiva de AppLocker preexistente y no cambiará el comportamiento de esas directivas. Sin embargo, si se aplica en un dispositivo que actualmente no tiene ninguna directiva de AppLocker, verá un gran aumento en los eventos de advertencia generados en el registro de eventos de AppLocker- EXE y DLL . Si usa un servicio de reenviamiento y recopilación de eventos, como LogAnalytics, es posible que desee ajustar la configuración de ese registro de eventos para que solo recopile eventos de error o deje de recopilar eventos de ese registro por completo.

Nota

MEMCM se configurará automáticamente como instalador administrado y habilitará los componentes de AppLocker necesarios si implementa una de sus directivas WDAC de bandeja de entrada. Si va a configurar MEMCM como instalador administrado mediante cualquier otro método, se requiere una configuración adicional. Use el modificador cmdline ManagedInstaller en la configuración de ccmsetup.exe. O bien, puede implementar una de las directivas de modo de auditoría de bandeja de entrada de MEMCM junto con la directiva personalizada.

Cree e implemente una directiva de AppLocker que defina las reglas del instalador administrado y habilite la aplicación de servicios para archivos ejecutables y archivos DLL.

La interfaz de usuario de creación de directivas de AppLocker en GPO Editor y los cmdlets de PowerShell de AppLocker no se pueden usar directamente para crear reglas para la colección de reglas del instalador administrado. Sin embargo, puede usar un editor de texto o XML para convertir una directiva de colección de reglas EXE en una colección de reglas ManagedInstaller.

Nota

Solo los tipos de archivo EXE se pueden designar como instaladores administrados.

  1. Use New-AppLockerPolicy para crear una regla EXE para el archivo que está designando como instalador administrado. En este ejemplo se crea una regla para la extensión de administración de Intune de Microsoft mediante el tipo de regla publisher, pero se puede usar cualquier tipo de regla de AppLocker. Es posible que tenga que volver a formatear la salida para mejorar la legibilidad.

    Get-ChildItem ${env:ProgramFiles(x86)}'\Microsoft Intune Management Extension\Microsoft.Management.Services.IntuneWindowsAgent.exe' | Get-AppLockerFileInformation | New-AppLockerPolicy -RuleType Publisher -User Everyone -Xml > AppLocker_MI_PS_ISE.xml
    
  2. Cambie manualmente el tipo de colección de reglas de "Exe" a "ManagedInstaller" y establezca EnforcementMode en "AuditOnly"

    Cambio:

    <RuleCollection Type="Exe" EnforcementMode="NotConfigured">
    

    Para:

    <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
    
  3. Edite manualmente la directiva de AppLocker y agregue las colecciones de reglas EXE y DLL con al menos una regla para cada una. Para asegurarse de que la directiva se puede aplicar de forma segura en sistemas que ya pueden tener una directiva de AppLocker activa, se recomienda usar una regla DENY benigna para bloquear un archivo binario falso y establecer enforcementMode de la colección de reglas en AuditOnly. Además, dado que muchos procesos de instalación se basan en servicios, debe habilitar el seguimiento de servicios para cada una de esas colecciones de reglas. En el ejemplo siguiente se muestra una directiva parcial de AppLocker con la colección de reglas EXE y DLL configurada como se recomienda.

    <RuleCollection Type="Dll" EnforcementMode="AuditOnly" >
      <FilePathRule Id="86f235ad-3f7b-4121-bc95-ea8bde3a5db5" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
        <Conditions>
          <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.dll" />
        </Conditions>
      </FilePathRule>
      <RuleCollectionExtensions>
        <ThresholdExtensions>
          <Services EnforcementMode="Enabled" />
        </ThresholdExtensions>
        <RedstoneExtensions>
          <SystemApps Allow="Enabled"/>
        </RedstoneExtensions>
      </RuleCollectionExtensions>
    </RuleCollection>
    <RuleCollection Type="Exe" EnforcementMode="AuditOnly">
      <FilePathRule Id="9420c496-046d-45ab-bd0e-455b2649e41e" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
        <Conditions>
          <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.exe" />
        </Conditions>
      </FilePathRule>
      <RuleCollectionExtensions>
        <ThresholdExtensions>
          <Services EnforcementMode="Enabled" />
        </ThresholdExtensions>
        <RedstoneExtensions>
          <SystemApps Allow="Enabled"/>
        </RedstoneExtensions>
      </RuleCollectionExtensions>
    </RuleCollection>
    
  4. Compruebe la directiva de AppLocker. En el ejemplo siguiente se muestra una directiva completa de AppLocker que establece Configuration Manager y Microsoft Intune como instaladores administrados. Solo las colecciones de reglas de AppLocker que tienen reglas reales definidas se incluyen en el XML final. Esta inclusión basada en condición garantiza que la directiva se combinará correctamente en dispositivos que ya tengan una directiva de AppLocker en su lugar.

    <AppLockerPolicy Version="1">
      <RuleCollection Type="Dll" EnforcementMode="AuditOnly" >
        <FilePathRule Id="86f235ad-3f7b-4121-bc95-ea8bde3a5db5" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
          <Conditions>
            <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.dll" />
          </Conditions>
        </FilePathRule>
        <RuleCollectionExtensions>
          <ThresholdExtensions>
            <Services EnforcementMode="Enabled" />
          </ThresholdExtensions>
          <RedstoneExtensions>
            <SystemApps Allow="Enabled"/>
          </RedstoneExtensions>
        </RuleCollectionExtensions>
      </RuleCollection>
      <RuleCollection Type="Exe" EnforcementMode="AuditOnly">
        <FilePathRule Id="9420c496-046d-45ab-bd0e-455b2649e41e" Name="Benign DENY Rule" Description="" UserOrGroupSid="S-1-1-0" Action="Deny">
          <Conditions>
            <FilePathCondition Path="%OSDRIVE%\ThisWillBeBlocked.exe" />
          </Conditions>
        </FilePathRule>
        <RuleCollectionExtensions>
          <ThresholdExtensions>
            <Services EnforcementMode="Enabled" />
          </ThresholdExtensions>
          <RedstoneExtensions>
            <SystemApps Allow="Enabled"/>
          </RedstoneExtensions>
        </RuleCollectionExtensions>
      </RuleCollection>
      <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
        <FilePublisherRule Id="55932f09-04b8-44ec-8e2d-3fc736500c56" Name="MICROSOFT.MANAGEMENT.SERVICES.INTUNEWINDOWSAGENT.EXE version 1.39.200.2 or greater in MICROSOFT® INTUNE™ from O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
              <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="MICROSOFT.MANAGEMENT.SERVICES.INTUNEWINDOWSAGENT.EXE">
                <BinaryVersionRange LowSection="1.39.200.2" HighSection="*" />
              </FilePublisherCondition>
        </Conditions>
        </FilePublisherRule>
        <FilePublisherRule Id="6ead5a35-5bac-4fe4-a0a4-be8885012f87" Name="CMM - CCMEXEC.EXE, 5.0.0.0+, Microsoft signed" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
            <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="CCMEXEC.EXE">
              <BinaryVersionRange LowSection="5.0.0.0" HighSection="*" />
            </FilePublisherCondition>
          </Conditions>
        </FilePublisherRule>
        <FilePublisherRule Id="8e23170d-e0b7-4711-b6d0-d208c960f30e" Name="CCM - CCMSETUP.EXE, 5.0.0.0+, Microsoft signed" Description="" UserOrGroupSid="S-1-1-0" Action="Allow">
          <Conditions>
            <FilePublisherCondition PublisherName="O=MICROSOFT CORPORATION, L=REDMOND, S=WASHINGTON, C=US" ProductName="*" BinaryName="CCMSETUP.EXE">
              <BinaryVersionRange LowSection="5.0.0.0" HighSection="*" />
              </FilePublisherCondition>
            </Conditions>
          </FilePublisherRule>
        </RuleCollection>
      </AppLockerPolicy>
    
  5. Implemente la directiva de configuración del instalador administrado de AppLocker. Puede importar la directiva de AppLocker e implementarla con directiva de grupo o usar un script para implementar la directiva con el cmdlet Set-AppLockerPolicy, como se muestra en el siguiente comando de PowerShell.

    Set-AppLockerPolicy -XmlPolicy <AppLocker XML FilePath> -Merge -ErrorAction SilentlyContinue
    
  6. Si implementa la directiva de AppLocker mediante script, use appidtel.exe para configurar el servicio de identidad de aplicación de AppLocker y el controlador de filtro de AppLocker.

    appidtel.exe start [-mionly]
    

    Especifique "-mionly" si no tiene previsto usar Intelligent Security Graph (ISG).

Nota

El seguimiento del instalador administrado se iniciará la próxima vez que se ejecute un proceso que coincida con las reglas del instalador administrado. Si ya se está ejecutando un proceso previsto, debe reiniciarlo.

Habilitar la opción del instalador administrado en la directiva WDAC

Para habilitar la confianza para los archivos binarios establecidos por los instaladores administrados, la opción "Habilitado: Instalador administrado" debe especificarse en la directiva WDAC. Esta configuración se puede definir mediante el cmdlet Set-RuleOption con la opción 13.

A continuación se muestran los pasos para crear una directiva WDAC que permite que Windows arranque y habilita la opción del instalador administrado.

  1. Copie la directiva de DefaultWindows_Audit en la carpeta de trabajo de "C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml"

  2. Restablezca el identificador de directiva para asegurarse de que está en formato de varias directivas y asígnele un GUID diferente de las directivas de ejemplo. Además, asígnele un nombre descriptivo para ayudar con la identificación.

    Por ejemplo:

    Set-CIPolicyIdInfo -FilePath <XML filepath> -PolicyName "<friendly name>" -ResetPolicyID
    
  3. Establezca la opción 13 (Enabled:Managed Installer).

    Set-RuleOption -FilePath <XML filepath> -Option 13
    
  4. Implemente la directiva WDAC. Consulte Implementación de directivas de control de aplicaciones de Windows Defender (WDAC).

Nota

La directiva WDAC debe incluir reglas para todos los componentes del sistema o arranque, controladores de kernel y cualquier otra aplicación autorizada que no se pueda implementar a través de un instalador administrado.

Eliminación de la característica del instalador administrado

Para quitar la característica Del instalador administrado del dispositivo, deberá quitar la directiva de AppLocker del instalador administrado del dispositivo siguiendo las instrucciones de Eliminación de una regla de AppLocker: Borrar directivas de AppLocker en un único sistema o sistemas remotos.