

• Ce tutoriel explique comment activer le Constrained Language Mode sous Windows 11 pour restreindre l’exécution de scripts potentiellement dangereux dans PowerShell
• L’objectif est de limiter les fonctionnalités de PowerShell aux seules commandes essentielles, réduisant ainsi les risques liés aux attaques par script malveillant

• Un PC sous Windows 11
• Accès administrateur
• Connaissance de base des politiques d’exécution de PowerShell

• Méthode 1 : Activation via Windows Defender Application Control (WDAC)
• Méthode 2 : Activation via PowerShell avec la variable d’environnement __PSLockDownPolicy

• Méthode 1 : Solution robuste et persistante
• Méthode 2 : Activation rapide sans modification de la configuration système

• Méthode 1 : Plus complexe à mettre en place
• Méthode 2 : Non persistante après un redémarrage

Méthode 1 : Activer Constrained Language Mode via WDAC
Ouvrir PowerShell en mode administrateur
Générer une politique WDAC par défaut :
Code:
New-CIPolicy -Level Default -FilePath C:\WDAC\Policy.xml
Modifier la politique pour activer le mode restreint :
Code:
Set-RuleOption -FilePath C:\WDAC\Policy.xml -Option 3
Convertir la politique en format binaire :
Code:
ConvertFrom-CIPolicy -XmlFilePath C:\WDAC\Policy.xml -BinaryFilePath C:\WDAC\Policy.bin
Appliquer la politique et redémarrer :
Code:
Copy-Item C:\WDAC\Policy.bin C:\Windows\System32\CodeIntegrity\SIPolicy.p7b
Méthode 2 : Activer temporairement Constrained Language Mode via PowerShell
Ouvrir PowerShell
Vérifier le mode d’exécution actuel :
Code:
$ExecutionContext.SessionState.LanguageMode
Activer le mode restreint :
Code:
$env:__PSLockDownPolicy = 4
Vérifier si le mode est bien activé :
Code:
$ExecutionContext.SessionState.LanguageMode

• Pour s’assurer que Constrained Language Mode est appliqué, tester une commande non autorisée comme :
Code:
Add-Type -TypeDefinition "public class Test{}"

• Le mode restreint peut empêcher certains scripts métiers de s’exécuter Tester en environnement sécurisé avant déploiement

• Pour une activation permanente, privilégier WDAC plutôt que la variable d’environnement

• Utiliser AppLocker pour contrôler les scripts et binaires autorisés

• Microsoft Learn
• Support Microsoft
• Recherche Google

• Activer le Constrained Language Mode sous Windows 11 renforce la sécurité en limitant l’exécution de scripts malveillants L’option via WDAC est plus robuste que la méthode temporaire