Résoudre l’écran noir après activation d’AppLocker sur Windows Server 2016

Un changement d’AppLocker du mode Audit au mode Application sur Windows Server 2016 peut se solder par un redémarrage bloqué sur un écran noir avec simple curseur. Découvrez comment analyser la cause, rétablir l’accès et déployer des règles sécurisées sans paralyser vos serveurs.

Sommaire

Problème rencontré

  • Passage d’AppLocker en mode Application.
  • Redémarrage  ⇒ écran noir avec curseur, aucune session utilisable.
  • Retour en mode Audit, exécution de gpupdate /force et redémarrage  ⇒ la machine redevient opérationnelle.
  • Journaux « AppLocker » : plusieurs DLL bloquées dans %WINDIR% et %SYSTEM32% alors qu’une règle “Système” était supposée les autoriser.

Pourquoi l’écran noir apparaît‑il ?

Au démarrage, le service AppIDSvc applique instantanément les règles de restriction logicielle ; si l’une d’elles empêche le chargement d’une DLL critique (par exemple LogonUI.dll ou Winlogon.exe), la séquence d’ouverture de session s’interrompt. Les symptômes :

  • Écran noir : l’interface graphique échoue avant l’apparition de la boîte de connexion.
  • Aucun message d’erreur visible, car la couche graphique elle‑même n’est pas encore démarrée.
  • Événements 800X / 802X dans le journal « Microsoft‑Windows‑AppLocker/EXE & DLL » listant les fichiers bloqués.

Causes fréquentes recensées

CauseDétail
Règles DLL incomplètesDes fichiers essentiels n’entrent dans aucune règle Publisher, Path ou Hash ; AppLocker les bloque par défaut.
Interopérabilité UACSur Server 2016, AppLocker dépend toujours de la clé EnableLUA. Un conflit UAC + AppLocker peut empêcher le lancement de Winlogon.
Évaluation anticipée de AppIDSvcLe service démarre très tôt ; une erreur avant l’init de la session graphique provoque un black‑screen silencieux.

Analyse des événements AppLocker

  1. Démarrez en mode sans échec + Invite de commandes ou via WinPE.
  2. Ouvrez eventvwr.msc ou exportez le journal :
    wevtutil epl Microsoft-Windows-AppLocker/EXE\_and\_DLL C:\Logs\AppLocker.evtx
  3. Repérez les ID : 8004 (exécutions bloquées) et 8007 (DLL bloquées).
  4. Filtrez par Path commençant par %SystemRoot% ou %WinDir%.
  5. Listez les signatures numériques absentes :
Get-WinEvent -LogName "Microsoft-Windows-AppLocker/EXE and DLL" |
Where-Object {$_.Id -eq 8007} |
Select TimeCreated, @{n='DLL';e={$_.Properties[6].Value}}, @{n='Rule';e={$_.Properties[9].Value}} |
Export-Csv C:\Logs\DLL_bloquees.csv -NoTypeInformation

Plan de remédiation pas à pas

Désactiver temporairement AppLocker

Depuis une session distante (ou WinPE), stoppez et désactivez le service :

sc \\<Serveur> stop AppIDSvc
sc \\<Serveur> config AppIDSvc start= disabled

Redémarrez. La GUI réapparaît ; réactivez l’accès administrateur.

Neutraliser UAC pour le test

Dans regedit :

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
&nbsp;&nbsp;&nbsp;&nbsp;EnableLUA = 0

Redémarrez ; si l’écran noir persiste, le souci vient essentiellement des règles AppLocker.

Réinitialiser (ou créer) les règles par défaut

Depuis l’Éditeur de stratégie locale (gpedit.msc) :

  1. Configuration ordinateur → Paramètres Windows → Paramètres de sécurité → Contrôle des applications AppLocker.
  2. Pour chaque nœud (Executable, Windows Installer, Script, DLL) clic droit : Create Default Rules.
  • Une règle par Publisher autorise tous les fichiers signés Microsoft dans %WINDIR%.
  • Une règle par Path autorise %ProgramFiles% et %System32%.

Étendre la règle Publisher Microsoft

Les correctifs de sécurité mensuels peuvent introduire de nouvelles familles de certificats Microsoft. Créez une règle Publisher couvrant l’éditeur « Microsoft Windows » sans restreindre la version :

New-AppLockerPolicy -Publisher "*Microsoft Windows*" -RuleType Publisher -Category EXE,DLL -User "Everyone"

Valider en mode Audit pendant 48 h

Passez l’ensemble des règles en mode Audit Only :

Set-AppLockerPolicy -PolicyObject (Get-AppLockerPolicy -Local) -RuleStatus NotConfigured

Laissez la stratégie vivre deux cycles de redémarrage et surveillez l’absence d’événements 8004/8007 avant de revenir en mode Application.

Script de pré‑contrôle avant activation

Automatisez une vérification des binaires système :

$critical = @("winlogon.exe","logonui.exe","explorer.exe","lsass.exe")
foreach ($file in $critical) {
    if (-not (Test-AppLockerPolicy -Path "$env:windir\system32\$file" -User "NT AUTHORITY\SYSTEM").Allowed) {
        Write-Warning "$file bloqué ! Règle manquante."
    }
}

Bonnes pratiques pour éviter un nouvel écran noir

  • Priorisez les règles Publisher sur les règles Path ; elles suivent les mises à jour et réclament moins de maintenance.
  • Maintenez UAC activé (valeur 1) ; AppLocker est officiellement supporté uniquement avec UAC en place.
  • Documentez les changements : exportez toujours la stratégie courante avant modification :
    Get-AppLockerPolicy -Effective | Export-AppLockerPolicy C:\Backup\Applocker.xml
  • Surveillez les journaux : configurez une alerte Event ID 8004/8007 dans votre solution SIEM.
  • Dépannez sur un clone ou un « sandbox » Hyper‑V avant de déployer en production.

Comparatif rapide : AppLocker vs WDAC

CritèreAppLocker (Server 2016)WDAC (Server 2022+)
Dépendance UACOuiNon
Niveau de sécuritéContrôle applicatif utilisateur/processusContrôle du kernel ; blocage pré‑boot
Facilité de configurationÉlevée (console MMC)Moyenne (PowerShell + politiques CSP)
Flexibilité des règlesPublisher, Path, HashCatalogues de fichiers, Signatures ; plus granulaire
Scénario recommandéServeurs existants jusqu’à 2019Nouveaux environnements Zero Trust

Conclusion

Le basculement d’AppLocker en mode Application sans couverture exhaustive des DLL système entraîne souvent l’infâme écran noir. Suivez une méthodologie structurée : désactivation temporaire, collecte des journaux, création des règles par défaut, extension des règles Publisher Microsoft puis validation longue en Audit. Vous pourrez réactiver AppLocker sereinement et renforcer la posture de sécurité de vos serveurs Windows Server 2016 sans compromettre leur disponibilité.

Sommaire