Autoriser automatiquement les applications déployées par un programme d’installation managé avec Windows Defender contrôle d’application

Remarque

Certaines fonctionnalités de Windows Defender Contrôle d’application ne sont disponibles que sur des versions spécifiques de Windows. En savoir plus sur la disponibilité des fonctionnalités de contrôle d’application Windows Defender.

Windows Defender Contrôle d’application (WDAC) inclut une option appelée programme d’installation managé qui permet d’équilibrer la sécurité et la facilité de gestion lors de l’application des stratégies de contrôle d’application. Cette option vous permet d’autoriser automatiquement les applications installées par une solution de distribution de logiciels désignée, telle que Microsoft Configuration Manager (MEMCM) ou Microsoft Intune.

Comment fonctionne un programme d’installation géré ?

Le programme d’installation managé utilise une collection de règles spéciale dans AppLocker pour désigner les fichiers binaires approuvés par votre organization en tant que source autorisée pour l’installation de l’application. Quand l’un de ces fichiers binaires approuvés s’exécute, Windows surveille le processus du binaire (et tous les processus enfants qu’il lance) et surveille l’écriture des fichiers sur le disque. Au fur et à mesure que les fichiers sont écrits, ils sont étiquetés comme provenant d’un programme d’installation managé.

Vous pouvez ensuite configurer WDAC pour approuver les fichiers installés par un programme d’installation managé en ajoutant l’option « Enabled :Managed Installer » à votre stratégie WDAC. Lorsque cette option est définie, WDAC case activée pour les informations d’origine du programme d’installation managée lors de la détermination de l’autorisation ou non de l’exécution d’un fichier binaire. Tant qu’il n’y a pas de règles de refus pour le fichier binaire, WDAC l’autorise à s’exécuter uniquement en fonction de son origine du programme d’installation managé.

Considérations de sécurité relatives au programme d’installation géré

Étant donné que le programme d’installation géré est un mécanisme heuristique, il ne fournit pas les mêmes garanties de sécurité que les règles d’autorisation ou de refus explicites. Le programme d’installation géré est mieux adapté aux utilisateurs qui fonctionnent en tant qu’utilisateur standard et où tous les logiciels sont déployés et installés par une solution de distribution de logiciels telle que MEMCM.

Les utilisateurs disposant de privilèges d’administrateur ou d’un programme malveillant s’exécutant en tant qu’utilisateur administrateur sur le système peuvent être en mesure de contourner l’intention de vos stratégies WDAC lorsque l’option du programme d’installation managée est autorisée.

Si un processus d’installation managé s’exécute dans le contexte d’un utilisateur disposant de privilèges standard, il est possible que les utilisateurs standard ou les programmes malveillants s’exécutant en tant qu’utilisateur standard puissent contourner l’intention de vos stratégies WDAC.

Certains programmes d’installation d’application peuvent exécuter automatiquement l’application à la fin du processus d’installation. Si l’application s’exécute automatiquement et que le programme d’installation a été exécuté par un programme d’installation géré, le suivi et l’autorisation heuristiques du programme d’installation managé s’étendent à tous les fichiers créés lors de la première exécution de l’application. Cette extension peut entraîner l’autorisation involontaire d’un exécutable. Pour éviter cela, assurez-vous que la méthode de déploiement d’applications utilisée comme programme d’installation managé limite l’exécution des applications dans le cadre de l’installation.

Limitations connues avec le programme d’installation géré

  • Le contrôle d’application, basé sur le programme d’installation managé, ne prend pas en charge les applications qui se mettent à jour automatiquement. Si une application déployée par un programme d’installation managée se met à jour ultérieurement, les fichiers d’application mis à jour n’incluent pas les informations d’origine du programme d’installation managé et peuvent ne pas être en mesure de s’exécuter. Lorsque vous vous appuyez sur des programmes d’installation gérés, vous devez déployer et installer toutes les mises à jour d’application à l’aide d’un programme d’installation managé, ou inclure des règles pour autoriser l’application dans la stratégie WDAC. Dans certains cas, il peut également être possible de désigner un fichier binaire d’application qui effectue des mises à jour automatiques en tant que programme d’installation managé. Il convient de passer en revue les fonctionnalités et la sécurité de l’application avant d’utiliser cette méthode.

  • Certaines applications ou programmes d’installation peuvent extraire, télécharger ou générer des fichiers binaires et tenter immédiatement de les exécuter. Les fichiers exécutés par un tel processus peuvent ne pas être autorisés par l’heuristique du programme d’installation managé. Dans certains cas, il est possible également de désigner un fichier binaire de l'application qui effectue cette opération en tant que programme d’installation géré. Il convient de passer en revue les fonctionnalités et la sécurité de l’application avant d’utiliser cette méthode.

  • L’heuristique du programme d’installation managée n’autorise pas les pilotes de noyau. La stratégie WDAC doit disposer de règles qui autorisent les pilotes nécessaires à s'exécuter.

Configurer le suivi du programme d’installation managé avec AppLocker et WDAC

Pour activer le suivi du programme d’installation géré, vous devez :

  • Créez et déployez une stratégie AppLocker qui définit vos règles d’installation managées et active l’application des services pour les exécutables et les DLL.
  • Activez les services AppLocker Application Identity et AppLockerFltr.

Remarque

La stratégie AppLocker du programme d’installation géré ci-dessous est conçue pour être fusionnée en toute sécurité avec toutes les stratégies AppLocker préexistantes et ne modifie pas le comportement de ces stratégies. Toutefois, s’il est appliqué sur un appareil qui n’a actuellement aucune stratégie AppLocker, vous verrez une augmentation importante des événements d’avertissement générés dans le journal des événements AppLocker - EXE et DLL . Si vous utilisez un service de transfert et de collecte d’événements, comme LogAnalytics, vous pouvez ajuster la configuration de ce journal des événements afin de collecter uniquement les événements d’erreur ou d’arrêter la collecte des événements à partir de ce journal.

Remarque

MEMCM se configure automatiquement en tant que programme d’installation managé et active les composants AppLocker requis si vous déployez l’une de ses stratégies WDAC de boîte de réception. Si vous configurez MEMCM en tant que programme d’installation managé à l’aide d’une autre méthode, une configuration supplémentaire est nécessaire. Utilisez le commutateur de ligne de commande ManagedInstaller dans votre configuration ccmsetup.exe. Vous pouvez également déployer l’une des stratégies de mode d’audit de la boîte de réception MEMCM en même temps que votre stratégie personnalisée.

Créer et déployer une stratégie AppLocker qui définit vos règles d’installation managées et active l’application des services pour les exécutables et les DLL

L’interface utilisateur de création de stratégie AppLocker dans l’objet de stratégie de groupe Rédacteur et les applets de commande PowerShell AppLocker ne peuvent pas être utilisées directement pour créer des règles pour la collection de règles Managed Installer. Toutefois, vous pouvez utiliser un éditeur XML ou de texte pour convertir une stratégie de collection de règles EXE en collection de règles ManagedInstaller.

Remarque

Seuls les types de fichiers EXE peuvent être désignés comme programmes d’installation managés.

  1. Utilisez New-AppLockerPolicy pour créer une règle EXE pour le fichier que vous désignez comme programme d’installation managé. Cet exemple crée une règle pour l’extension de gestion Intune de Microsoft à l’aide du type de règle Publisher, mais n’importe quel type de règle AppLocker peut être utilisé. Vous devrez peut-être reformater la sortie pour plus de lisibilité.

    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. Remplacez manuellement le type de collection de règles de « Exe » par « ManagedInstaller » et définissez EnforcementMode sur « AuditOnly »

    Changement:

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

    À:

    <RuleCollection Type="ManagedInstaller" EnforcementMode="AuditOnly">
    
  3. Modifiez manuellement votre stratégie AppLocker et ajoutez les collections de règles EXE et DLL avec au moins une règle pour chaque. Pour vous assurer que votre stratégie peut être appliquée en toute sécurité sur les systèmes qui ont peut-être déjà une stratégie AppLocker active, nous vous recommandons d’utiliser une règle DENY sans gravité pour bloquer un fichier binaire factice et de définir l’ApplicationMode de la collection de règles sur AuditOnly. En outre, étant donné que de nombreux processus d’installation s’appuient sur des services, vous devez activer le suivi des services pour chacune de ces collections de règles. L’exemple suivant montre une stratégie AppLocker partielle avec la collection de règles EXE et DLL configurée comme recommandé.

    <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. Vérifiez votre stratégie AppLocker. L’exemple suivant montre une stratégie AppLocker complète qui définit Configuration Manager et Microsoft Intune en tant que programmes d’installation gérés. Seules les collections de règles AppLocker pour lesquelles des règles réelles sont définies sont incluses dans le code XML final. Cette inclusion basée sur des conditions garantit que la stratégie sera fusionnée correctement sur les appareils qui ont peut-être déjà une stratégie AppLocker en place.

    <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. Déployez votre stratégie de configuration du programme d’installation managé AppLocker. Vous pouvez importer votre stratégie AppLocker et la déployer avec stratégie de groupe ou utiliser un script pour déployer la stratégie avec l’applet de commande Set-AppLockerPolicy, comme indiqué dans la commande PowerShell suivante.

    Set-AppLockerPolicy -XmlPolicy <AppLocker XML FilePath> -Merge -ErrorAction SilentlyContinue
    
  6. Si vous déployez votre stratégie AppLocker via un script, utilisez appidtel.exe pour configurer le service AppLocker Application Identity et le pilote de filtre AppLocker.

    appidtel.exe start [-mionly]
    

    Spécifiez « -mionly » si vous n’envisagez pas d’utiliser le graphe de sécurité intelligent (ISG).

Remarque

Le suivi du programme d’installation managé démarre la prochaine fois qu’un processus s’exécute qui correspond à vos règles d’installation managées. Si un processus prévu est déjà en cours d’exécution, vous devez le redémarrer.

Activer l'option programme d'installation géré dans une stratégie WDAC

Afin d’activer l’approbation pour les fichiers binaires définis par les programmes d’installation gérés, l’option « Activé : Programme d’installation géré » doit être spécifiée dans votre stratégie WDAC. Ce paramètre peut être défini à l’aide de l’applet de commande Set-RuleOption avec l’option 13.

Voici les étapes de création d’une stratégie WDAC qui permet à Windows de démarrer et active l’option managed installer.

  1. Copiez la stratégie DefaultWindows_Audit dans votre dossier de travail à partir de « C:\Windows\schemas\CodeIntegrity\ExamplePolicies\DefaultWindows_Audit.xml »

  2. Réinitialisez l’ID de stratégie pour vous assurer qu’il est au format à plusieurs stratégies et donnez-lui un GUID différent des exemples de stratégies. Donnez-lui également un nom convivial pour faciliter l’identification.

    Par exemple :

    Set-CIPolicyIdInfo -FilePath <XML filepath> -PolicyName "<friendly name>" -ResetPolicyID
    
  3. Définissez l’option 13 (Enabled :Managed Installer).

    Set-RuleOption -FilePath <XML filepath> -Option 13
    
  4. Déployez votre stratégie WDAC. Consultez Déploiement de stratégies WDAC (Windows Defender Application Control).

Remarque

Votre stratégie WDAC doit inclure des règles pour tous les composants système/de démarrage, les pilotes de noyau et toutes les autres applications autorisées qui ne peuvent pas être déployées via un programme d’installation managé.

Supprimer la fonctionnalité Programme d’installation managé

Pour supprimer la fonctionnalité Programme d’installation géré de l’appareil, vous devez supprimer la stratégie AppLocker du programme d’installation managé de l’appareil en suivant les instructions de la page Supprimer une règle AppLocker : Effacer les stratégies AppLocker sur un système unique ou des systèmes distants.