Administración de aplicaciones empaquetadas con Windows Defender Control de aplicaciones

Nota

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

En este artículo para profesionales de TI se describen los conceptos y se enumeran los procedimientos para ayudarle a administrar aplicaciones empaquetadas con Windows Defender Application Control (WDAC) como parte de la estrategia general de control de aplicaciones.

Comparación de aplicaciones clásicas de Windows y aplicaciones empaquetadas

El mayor desafío en la adopción del control de aplicaciones es la falta de una identidad de aplicación segura para las aplicaciones clásicas de Windows, también conocidas como aplicaciones win32. Una aplicación win32 típica consta de varios componentes, incluido el instalador que se usa para instalar la aplicación, y uno o varios archivos exe, dll o scripts. Una aplicación puede constar de cientos o incluso miles de archivos binarios individuales que funcionan juntos para ofrecer la funcionalidad que los usuarios entienden como la aplicación. Parte de ese código puede estar firmado por el editor de software, otros pueden estar firmados por otras compañías y algunos de ellos pueden no estar firmados en absoluto. Gran parte del código puede ser escrito en disco por un conjunto común de instaladores, pero es posible que algunos ya estén instalados y otros descargados a petición. Algunos archivos binarios tienen metadatos de encabezado de recursos comunes, como el nombre del producto y la versión del producto, pero otros archivos no compartirán esa información. Por lo tanto, aunque quieras poder expresar reglas como "permitir app Foo", eso no es algo que Windows entiende inherentemente para las aplicaciones clásicas de Windows. En su lugar, es posible que tenga que crear muchas reglas WDAC para permitir todos los archivos que componen la aplicación.

Por otro lado, las aplicaciones empaquetadas, también conocidas como MSIX, garantizan que todos los archivos que componen una aplicación comparten la misma identidad y tienen una firma común. Por lo tanto, con las aplicaciones empaquetadas, es posible controlar toda la aplicación con una sola regla WDAC.

Uso de WDAC para administrar aplicaciones empaquetadas

Importante

Al controlar aplicaciones empaquetadas, debe elegir entre reglas de firmante o reglas de nombre de familia de paquetes (PFN). Si se usa alguna regla de nombre de familia de paquetes (PFN) en la directiva base wdac o en una de sus directivas complementarias, todas las aplicaciones empaquetadas deben controlarse exclusivamente mediante reglas PFN. No se pueden combinar y combinar reglas PFN con reglas basadas en firmas dentro del ámbito de una directiva base determinada. Esto afectará a muchas aplicaciones del sistema de bandeja de entrada, como el menú Inicio. Puede usar caracteres comodín en las reglas PFN en Windows 11 para simplificar la creación de reglas.

Creación de reglas basadas en firmas para aplicaciones empaquetadas

Todos los archivos que componen una aplicación MSIX están firmados con una firma de catálogo común. Puede crear una regla de firmante desde el archivo del instalador de la aplicación MSIX (.msix o .msixbundle) o desde el archivo AppxSignature.p7x que se encuentra en la carpeta de instalación de la aplicación en %ProgramFiles%\WindowsApps\ mediante el cmdlet De PowerShell New-CIPolicyRule . Por ejemplo:

Creación de una regla de firmante desde MSIX/MSIXBUNDLE

$FilePath = $env:USERPROFILE+'\Downloads\WDACWizard_2.1.0.1_x64_8wekyb3d8bbwe.MSIX'
$Rules = New-CIPolicyRule -DriverFilePath $FilePath -Level Publisher

A continuación, use el cmdlet Merge-CIPolicy de PowerShell para combinar la nueva regla en el XML de directiva WDAC existente.

Creación de una regla de firmante desde AppxSignature.p7x

$FilePath = $env:ProgramFiles+'\WindowsApps\Microsoft.WDAC.WDACWizard_2.1.0.1_x64__8wekyb3d8bbwe\AppxSignature.p7x'
$Rules = New-CIPolicyRule -DriverFilePath $FilePath -Level Publisher

A continuación, use el cmdlet Merge-CIPolicy de PowerShell para combinar la nueva regla en el XML de directiva WDAC existente.

Creación de reglas PackageFamilyName para aplicaciones empaquetadas

Creación de reglas PFN desde PowerShell

Puede crear reglas PFN directamente desde aplicaciones empaquetadas que están instaladas actualmente mediante los cmdlets de PowerShell Get-AppXPackage y New-CIPolicyRule . Por ejemplo:

# Query for the packaged apps. This example looks for all packages from Microsoft.
$Packages = Get-AppXPackage -Name Microsoft.*
foreach ($Package in $Packages)
{
   $Rules += New-CIPolicyRule -Package $Package
}

A continuación, use el cmdlet Merge-CIPolicy de PowerShell para combinar las nuevas reglas en el XML de directiva WDAC existente.

Creación de reglas PFN mediante el Asistente para WDAC

Creación de una regla PFN desde una aplicación MSIX instalada

Siga estos pasos para crear una regla WDAC PFN para una aplicación instalada en el sistema:

  1. En la página Reglas de firma de directivas del Asistente para WDAC, seleccione Agregar regla personalizada.
  2. Active Regla de modo de usuario como ámbito de regla, si no está activada.
  3. Seleccione Permitir o Denegar para la acción de regla.
  4. Seleccione Aplicación empaquetada para el tipo de regla.
  5. En el campo Nombre del paquete , escriba un valor de cadena para buscar. Puede usar ? caracteres comodín o * en la cadena de búsqueda. A continuación, seleccione Buscar.
  6. En el cuadro de resultados, active una o varias aplicaciones para las que desea crear reglas.
  7. Seleccione Crear regla.
  8. Cree cualquier otra regla que desee y, a continuación, complete el Asistente.

Creación de una regla PFN desde el Asistente para WDAC

Creación de una regla PFN mediante una cadena personalizada

Siga estos pasos para crear una regla PFN con un valor de cadena personalizado:

  1. Repita los pasos del 1 al 4 en el ejemplo anterior.
  2. Active la casilla Usar familia de paquetes personalizados. La etiqueta del botón Buscar cambia a Crear.
  3. En el campo Nombre del paquete , escriba un valor de cadena para la regla PFN. Puede usar ? o * caracteres comodín si tiene como destino Windows 11 dispositivos. A continuación, seleccione Crear.
  4. En el cuadro de resultados, active una o varias aplicaciones para las que desea crear reglas.
  5. Seleccione Crear regla.
  6. Cree cualquier otra regla que desee y, a continuación, complete el Asistente.

Creación de una regla PFN con una cadena personalizada desde el Asistente para WDAC