Application des scripts avec App Control for Business
Remarque
Certaines fonctionnalités d’App Control for Business sont disponibles uniquement sur des versions spécifiques de Windows. En savoir plus sur la disponibilité des fonctionnalités De contrôle d’application.
Important
L’option 11 Disabled :Script Enforcement n’est pas prise en charge sur Windows Server 2016 ou sur Windows 10 1607 LTSB et ne doit pas être utilisée sur ces plateformes. Cela entraîne des comportements d’application de script inattendus.
Vue d’ensemble de l’application des scripts
Par défaut, l’application des scripts est activée pour toutes les stratégies De contrôle d’application, sauf si l’option 11 Disabled :Script Enforcement est définie dans la stratégie. L’application du script App Control implique une liaison entre un hôte de script compatible, tel que PowerShell, et App Control. Toutefois, l’hôte de script gère le comportement d’application réel. Certains hôtes de script, comme l’hôte d’application HTML Microsoft (mshta.exe), bloquent l’exécution du code si une stratégie UMCI de contrôle d’application est active. La plupart des hôtes de script demandent d’abord à Contrôle d’application si un script doit être autorisé à s’exécuter en fonction des stratégies de contrôle d’application actuellement actives. L’hôte de script bloque, autorise ou modifie la façon dont le script est exécuté pour protéger au mieux l’utilisateur et l’appareil.
La validation des scripts signés est effectuée à l’aide de l’API WinVerifyTrust. Pour réussir la validation, la racine de signature doit être présente dans le magasin racine approuvé sur l’appareil et votre stratégie App Control doit l’autoriser. Ce comportement est différent de la validation App Control pour les fichiers exécutables, qui ne nécessite pas l’installation du certificat racine.
App Control partage le journal des événements AppLocker - MSI et Script pour tous les événements d’application de script. Chaque fois qu’un hôte de script demande à App Control si un script doit être autorisé, un événement est journalisé avec la réponse Contrôle d’application renvoyé à l’hôte de script. Pour plus d’informations sur les événements d’application de script App Control, consultez Présentation des événements App Control.
Remarque
Lorsqu’un script s’exécute qui n’est pas autorisé par la stratégie, Le contrôle d’application déclenche un événement indiquant que le script a été « bloqué ». Toutefois, le comportement d’application de script réel est géré par l’hôte de script et peut ne pas bloquer complètement l’exécution du fichier.
Sachez également que certains hôtes de script peuvent modifier leur comportement même si une stratégie App Control est en mode audit uniquement. Vous devez passer en revue les informations spécifiques de l’hôte de script dans cet article et effectuer des tests approfondis dans votre environnement pour vous assurer que les scripts que vous devez exécuter fonctionnent correctement.
Hôtes de script éclairés qui font partie de Windows
PowerShell
Vos stratégies App Control doivent autoriser l’exécution de tous les scripts PowerShell (.ps1), modules (.psm1) et manifestes (.psd1) pour qu’ils s’exécutent avec des droits linguistiques complets.
Vos stratégies De contrôle d’application doivent également autoriser tous les modules dépendants chargés par un module autorisé, et les fonctions de module doivent être exportées explicitement par nom lorsque le contrôle d’application est appliqué. Les modules qui ne spécifient aucune fonction exportée (aucune liste de noms d’exportation) se chargent toujours, mais aucune fonction de module n’est accessible. Le chargement des modules qui utilisent des caractères génériques (*) dans leur nom échoue.
Tout script PowerShell qui n’est pas autorisé par la stratégie De contrôle d’application s’exécute toujours, mais uniquement en mode langue contrainte.
L’approvisionnement en points PowerShell n’est pas recommandé. Au lieu de cela, les scripts doivent utiliser des modules PowerShell pour fournir des fonctionnalités courantes. Si un fichier de script autorisé tente d’exécuter des fichiers de script d’origine dot, ces fichiers de script doivent également passer la stratégie.
App Control place PowerShell interactif en mode de langage limité si une stratégie UMCI de contrôle d’application est appliquée et qu’une stratégie App Control active active l’application des scripts, même si cette stratégie est en mode audit. Pour exécuter PowerShell interactif avec des droits de langage complet, vous devez désactiver l’application des scripts pour toutes les stratégies.
Pour plus d’informations, consultez À propos des modes de langage et du mode de langage limité.
VBscript, cscript et jscript
Vos stratégies De contrôle d’application doivent autoriser l’exécution de tous les scripts à l’aide de l’hôte de script windows (wscript.exe) ou de l’hôte de script basé sur la console Microsoft (cscript.exe). Si ce n’est pas le cas, le script est bloqué.
Microsoft HTML Application Host (MSHTA) et MSXML
Toute l’exécution du code à l’aide de MSHTA ou MSXML est bloquée si une stratégie App Control avec application de script est active, même si cette stratégie est en mode audit.
Objets COM
Le contrôle d’application applique également une liste d’autorisation restreinte pour les objets COM que votre stratégie App Control peut développer ou restreindre davantage. L’application de l’objet COM n’est pas affectée par l’option 11 Disabled :Script Enforcement. Pour plus d’informations sur la façon d’autoriser ou de refuser des objets COM, consultez Autoriser l’inscription d’objets COM.
Scripts qui ne sont pas directement contrôlés par le contrôle d’application
App Control ne contrôle pas directement l’exécution du code via le processeur de commandes Windows (cmd.exe), y compris .batfichiers de script /.cmd. Toutefois, tout ce qu’un tel script de traitement par lots tente d’exécuter est soumis au contrôle App Control. Si vous n’avez pas besoin d’exécuter cmd.exe, il est recommandé de la bloquer ou de l’autoriser uniquement par exception en fonction du processus d’appel. Consultez Utiliser une stratégie App Control for Business pour contrôler des plug-ins, des compléments et des modules spécifiques.
App Control ne contrôle pas les scripts exécutés via un hôte de script non allumé, comme de nombreux moteurs Java ou Python tiers. Si votre stratégie De contrôle d’application autorise l’exécution d’un hôte de script non allumé, vous autorisez implicitement l’exécution de tous les scripts via cet hôte. Pour les hôtes de script non-Microsoft, vous devez case activée avec le fournisseur de logiciels si leurs hôtes de script sont compatibles avec la stratégie De contrôle d’application.