1.
Description
AppLocker est une fonctionnalité de sécurité intégrée dans les systèmes d'exploitation Windows, qui permet aux administrateurs de définir des règles pour contrôler l'accès aux applications et aux scripts sur les ordinateurs.
2.
Prérequis
Prérequis pour l'utilisation de AppLocker :
- Service Identité de l'application activé sur les postes de travail
- Un poste de travail Windows 10 ou Windows 11 (idéalement avec tous les produits spécifiques métiers installés par exemple).
2.1 Activation du service Identité de l'application
Cette configuration peut être mise en place avec Intune au travers d'un script de remédiation ou par GPO. Cette dernière possibilité ne sera pas décrite ici.
Activation du service par script de remédiation :
Dans un premier temps, vous trouverez ci-dessous, le script de détection et le script de remédiation à utiliser.
ApplockerService_Detect.ps1
$ServiceName = 'AppIDSvc'
$Service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
If ($service.StartType -eq $Action) {
Write-Host "$ServiceName is already configured correctly."
Exit 0
}
else {
Write-Warning "$ServiceName is not configured correctly."
Exit 1
}
ApplockerService_Remediation.ps1
$ServiceName = 'AppIDSvc'
$Action = 'Auto'
Function Manage-Services {
Param
(
[string]$ServiceName,
[ValidateSet("Start", "Stop", "Restart", "Disable", "Auto", "Manual")]
[string]$Action
)
try {
Start-Transcript -Path "C:\Windows\Temp\$($ServiceName)_Management.Log" -Force -ErrorAction SilentlyContinue
Get-Date
$service = Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
$service
if ($service) {
Switch ($Action) {
"Start" { Start-Service -Name $ServiceName; Break; }
"Stop" { Stop-Service -Name $ServiceName; Break; }
"Restart" { Restart-Service -Name $ServiceName; Break; }
"Disable" { Set-Service -Name $ServiceName -StartupType Disabled -Status Stopped; Break; }
"Auto" { Set-Service -Name $ServiceName -StartupType Automatic -Status Running; Break; }
"Manual" { Set-Service -Name $ServiceName -StartupType Manual -Status Running; Break; }
}
Get-Service -Name $ServiceName -ErrorAction SilentlyContinue
}
Stop-Transcript -ErrorAction SilentlyContinue
}
catch {
throw $_
}
}
try {
Write-Host "Fixing Applocker service statup type to auto."
Manage-Services -ServiceName $ServiceName -Action $Action
Exit 0
catch {
Write-Error $_.Exception.Message
}
Connectez-vous sur la console Microsoft Endpoint Manager admin center : https://endpoint.microsoft.com/
Dans le menu "Reports", puis "Endpoint analytics" sélectionnez "Proactive remediations" et enfin choisissez "Create script package"
Choisissez un nom pour le script package et cliquez sur "Next".
Renseignez le script de détection (ApplockerService_Detect.ps1) et le script de remédiation (ApplockerService_Remediation.ps1).
Modifiez également l'option permettant d'exécuter le script avec l'architecture 64-bit de PowerShell.
Définissez ensuite un scope, si vous le souhaitez, l'assignation et valider la création du script package.
Vous pourrez ensuite visualiser d'état du déploiement directement depuis le panneau Overview sur script package.
Résultat sur le poste du travail :
2.2 Le poste de travail
En effet, afin de réaliser la configuration souhaitée, il est important
d'avoir à disposition un poste de travail sur lequel est installé un maximum
d'applications, et même les applications métiers.
Ceci permettra de valider localement la configuration avec les règles par défaut détaillées plus bas mais également de réaliser les règles personnalisées qui ne rentrerai pas en compte dans les règles par défaut (exemple avec un produit installé ailleurs que dans %ProgramFiles%, %ProgramFiles(x86)% ou %SystemRoot%).
Ce prérequis peut-être remplacé par l'activation du mode audit sur
quelques postes de travail et l'analyse des évènements Windows lié à
l'application de ce mode. Nous verrons le détail de cette activation plus bas.
3.
Plateformes supportées
Vous trouverez ci-dessous le tableau concernant l'applicabilité de la configuration Applocker :
Source : Fournisseur de services de configuration AppLocker - Windows Client Management | Microsoft Learn
4.
Création des règles Applocker par défaut
Afin de créer les règles Applocker par défaut, vous devez mettre en place la configuration sur un poste de travail Windows 10/Windows 11 via les stratégies de sécurités locales.
Pour ouvrir la Stratégie de sécurité locale, dans l’écran
de Démarrage, tapez secpol.msc, puis appuyez sur Entrée.
Se déplacez jusqu'à Applocker sous Stratégies de contrôle de l'application
A ce niveau, vous pourrez alors configurer les règles pour les types de fichier suivant :
- Fichiers
exécutables : .exe et .com
- Fichiers
Windows Installer : .msi, mst et .msp
- Scripts
: .ps1, .bat, .cmd, .vbs et .js
- DLL
: .dll et .ocx
- Applications
empaquetées et programmes d’installation d’applications empaquetées :
.appx
Source : Présentation des collections de règles AppLocker (Windows) | Microsoft Learn
/!\ Afin de faire apparaitre le menu pour les règles concernant les DDL, il
faut cliquez droits sur AppLocker puis "Propriétés".
Sélectionnez l'onglet "Avancé" et cochez la case "Activer le regroupement de règles DLL" puis validez.
Pour chaque types, vous aurez la possibilité de créer les règles par défaut.
Ces règles sont les suivantes en fonction du type:
- Règles d'exécutable par défaut:
- Autorisation
pour tous les utilisateurs à exécuter les fichiers exécutable du dossier
Windows (variable d'environnement Windows %SystemRoot%),
- Autorisation
pour tous les utilisateur à exécuter tous les fichiers exécutable du
dossier Program Files (variable d'environnement Windows %ProgramFiles% et
%ProgramFiles(x86)%),
- Autorisation pour les utilisateurs membres du groupes Administrateurs local à exécuter tous les fichiers exécutables.
- Règles Windows Installer par défaut:
- Autorisation
pour tous les utilisateurs à exécuter les fichiers Windows Installer
signés numériquement,
- Autorisation
pour tous les utilisateur à exécuter tous les fichiers Windows Installer
du dossier Windows Installer (%Windir%\Installer),
- Autorisation pour les utilisateurs membres du groupes Administrateurs local à exécuter tous les fichiers Windows Installer.
- Règles de script par défaut:
- Autorisation
pour tous les utilisateurs à exécuter les scripts du dossier Program Files
(variable d'environnement Windows %ProgramFiles% et %ProgramFiles(x86)%),
- Autorisation
pour tous les utilisateur à exécuter tous les scripts du dossier Windows
(variable d'environnement Windows %SystemRoot%),
- Autorisation pour les utilisateurs membres du groupes Administrateurs local à exécuter tous les scripts.
- Règles DLL par défaut:
- Autorisation
pour tous les utilisateurs à exécuter les DLL du dossier Program Files
(variable d'environnement Windows %ProgramFiles% et %ProgramFiles(x86)%),
- Autorisation
pour tous les utilisateur à exécuter tous les DLL du dossier Windows
(variable d'environnement Windows %SystemRoot%),
- Autorisation pour les utilisateurs membres du groupes Administrateurs local à exécuter toutes les DLL.
- Règles d'applications empaquetées par défaut:
- Autorisation
pour tous les utilisateurs à exécuter les application empaquetées signées.
Pour créer automatiquement ces règles par défaut, sélectionner le type voulu et faites un clic droit et choisissez "Créer des règles par défaut"
Sur la partie de droite du menu, les règles par défaut seront implémentées en automatique.
5.
Création des règles Applocker personnalisées
En plus des règles par défaut, il est bien évidemment possible de créer vos propres règles selon vos besoins.
Pour cela, sur le type de votre choix, faites clic droits et "Créer une règle…"
Lors de la création, vous choisissez si c'est une règle d'autorisation ou d'interdiction.
Vous choisissez également l'utilisateur ou le groupe a ciblé par cette règle.
Il existe 3 conditions permettant d'identifier les applications auxquelles la règle s'applique:
- Éditeur :
identifie une application en fonction de sa signature numérique,
- Chemin
d’accès : identifie une application par
son emplacement dans le système de fichiers de l’ordinateur ou sur le
réseau,
- Hachage
de fichier : représente le hachage de
chiffrement calculé par le système du fichier identifié.
- Condition lié à l'éditeur
Dans la configuration précédente, tous les produits signés par l'éditeur PALO ALTO NETWORKS seront autorisés.
Afin de limiter les possibilités, il faut ajuster le curseur en conséquence.
Dans le cas suivant, seul l'exécutable PANGPA.EXE associé au nom de produit GLOBALPROJECT et signé par l'éditeur PALO ALTO NETWORKS sera autorisé.
Dans l'affichage suivant, il sera possible de mettre en place des exceptions au besoin sur cette règle.
Ensuite, renseignez un nom et une description à cette nouvelle règle vous permettant de l'identifier rapidement si nécessaire.
Suite à la création, la règle sera visible également sur la partie droite de la configuration Applocker.
- Condition lié au chemin d'accès
Cette condition vous permettra de limité le fonctionnement au nom de
l'exécutable mais également à son emplacement ou alors à un dossier.
Dans ce cas, tous les éléments se trouvant dans ce répertoire seront concerné par cette règle.
Il sera également possible de mettre en place des exceptions sur cette règle.
Donnez un nom et une description à la règle puis valider.
La nouvelle règle sera visible sur le panneau de droite concernant votre type.
- Condition lié au hash du fichier
Donner un nom et une description a la règle puis valider.
La nouvelle règle sera visible sur le panneau de droite concernant votre type.
Suite à la création des règles souhaitées, il faut activer AppLocker
6. Activation d'Applocker
Il existe 2 modes d'activation d'AppLocker:
- Appliquer les règles.
- Auditer uniquement.
Dans le cas d'une mise en place, je conseillerai de mettre en place le mode Audit uniquement. Ce fonctionnement permettra à un pool d'utilisateur de maintenir le même niveau de fonctionnement sur leur poste de travail tout en traçant dans le gestionnaire des évènements les cas potentiels de blocage.
Par ce biais, il sera alors possible d'identifier les produits concernés et de statuer sur la mise en place ou non d'une règle personnalisée évitant tout blocage lors de l'activation du mode Appliquer les règles.
Dans L’exécution de %OSDRIVE%\USERS\IL22EW\DOWNLOADS\NPP.8.4.8.INSTALLER.X64.EXE a été autorisée mais elle aurait été empêchée si la stratégie AppLocker avait été appliquée.
Pour sélectionner le mode d'application, toujours dans les stratégies de
sécurités locales, cliquez droit sur AppLocker et propriété.
Pour chacun des types vous pourrez alors activer et sélectionnez le comportement à avoir.
7. Export de la configuration
Le fichier xml contient l'ensemble de la configuration que nous avons mise en place précédemment.
Ce fichier va nous permettre d'implémenter ces même règles dans Microsoft Intune et donc de déployer la configuration sur les postes de travail.
Nous allons voir maintenant, la manière d'implémenter la configuration Applocker dans Intune au travers d'une Device Configuration.
8. Création des règles Applocker dans Intune
Pour créer la configuration, il faut se connecter sur la console Microsoft
Endpoint Manager admin center : https://endpoint.microsoft.com/
Dans le menu "Devices", sélectionnez "Configuration Profiles" et faites sélectionnez "+ Create Profile"
Créer la configuration avec les éléments suivants:
- Name: W10
– Applocker
- Description: Windows
10 – Applocker
- Platform: Windows
10 and later
- Profile type: Custom
Cliquez
ensuite sur Add OMA-URI settings avec les éléments suivants:
- Name: Applocker
– EXE
- Description: AppX
configuration for Applocker
- OMA-URI:
./Vendor/MSFT/AppLocker/ApplicationLaunchRestrictions/apps/EXE/Policy
- Data Type: String
Dans le champs Value, copié-collé le contenu du fichier XML concernant les règles pour les exécutable, soit tout ce qui se situe entre les balises <RuleCollection et </RuleCollection et du type Type="Exe"
<RuleCollection
Type="Exe" EnforcementMode="AuditOnly">
<FilePathRule Id="921cc481-6e17-4653-8f75-050b80acca20" Name="(Règle par défaut) Tous les fichiers se trouvant dans le dossier Program
Files" Description="Permet aux membres du groupe
Tout le monde d’exécuter les applications se trouvant dans le dossier Program
Files." UserOrGroupSid="S-1-1-0" Action="Allow">
<Conditions>
<FilePathCondition Path="%PROGRAMFILES%\*" />
</Conditions>
</FilePathRule>
<FilePathRule Id="a61c8b2c-a319-4cd0-9690-d2177cad7b51" Name="(Règle par défaut) Tous les fichiers se trouvant dans le dossier Windows" Description="Permet aux membres du groupe Tout le monde
d’exécuter les applications se trouvant dans le dossier Windows." UserOrGroupSid="S-1-1-0" Action="Allow">
<Conditions>
<FilePathCondition Path="%WINDIR%\*" />
</Conditions>
</FilePathRule>
<FilePathRule Id="fd686d83-a829-4351-8ff4-27c7de5755d2" Name="(Règle par défaut) Tous les fichiers" Description="Permet aux membres du groupe Administrateurs local d’exécuter toutes les
applications." UserOrGroupSid="S-1-5-32-544" Action="Allow">
<Conditions>
<FilePathCondition Path="*"
/>
</Conditions>
</FilePathRule>
<FilePublisherRule Id="5a372a01-b1f7-44ad-a237-95e57439a4ed" Name="Allow PANGPA.EXE" Description="PANGPA.EXE, dans GLOBALPROTECT,
de O=PALO ALTO NETWORKS, L=SANTA CLARA, S=CALIFORNIA, C=US" UserOrGroupSid="S-1-1-0" Action="Allow">
<Conditions>
<FilePublisherCondition PublisherName="O=PALO ALTO NETWORKS, L=SANTA
CLARA, S=CALIFORNIA, C=US" ProductName="GLOBALPROTECT" BinaryName="PANGPA.EXE">
<BinaryVersionRange LowSection="*" HighSection="*"
/>
</FilePublisherCondition>
</Conditions>
</FilePublisherRule>
</RuleCollection>
Voici la liste des OMA-URI pour les différent type :
- Exe:
./Vendor/MSFT/AppLocker/ApplicationLaunchRestrictions/apps/EXE/Policy
- MSI: ./Vendor/MSFT/AppLocker/ApplicationLaunchRestrictions/apps/MSI/Policy
- Script:
./Vendor/MSFT/AppLocker/ApplicationLaunchRestrictions/apps/Script/Policy
- Appx :
./Vendor/MSFT/AppLocker/ApplicationLaunchRestrictions/apps/StoreApps/Policy
Une fois l'affectation a un groupe de devices réalisé, coté poste de travail, lors du lancement d'un programme ayant une règle de restriction, voici le message reçu.
Il n'est malheureusement pas personnalisable.
Vous aurez dans la log du gestionnaire d'évènements (pour les administrateurs) la possibilité de visualisé le produit bloqué et ainsi modifier les règles si besoin.
Voila, vous avez, grâce à cet article, toutes les informations pour commencer l'implémentation de Applocker. Néanmoins, il faut garder en mémoire que Applocker n'est plus activement développé par Microsoft et que son "successeur" est probablement Windows Defender Application Control (WDAC).
Nous y accorderons peut-être un article dédié prochainement,
Merci pour votre lecture.
0 Commentaires