ANAVEM
Languageen
Windows Event Viewer displaying Event ID 4109 security logs on a professional monitoring dashboard
Event ID 4109InformationMicrosoft-Windows-WininitWindows

ID d'événement Windows 4109 – Microsoft-Windows-Wininit : Notification de déconnexion de l'utilisateur

L'ID d'événement 4109 enregistre les événements de déconnexion utilisateur initiés par le processus d'initialisation de Windows, fournissant une piste d'audit pour la terminaison de session et la surveillance de la sécurité du système.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 202612 min de lecture 0
Event ID 4109Microsoft-Windows-Wininit 5 méthodes 12 min
Référence événement

Signification de cet événement

L'ID d'événement 4109 représente un composant critique du système d'audit de sécurité de Windows, suivant spécifiquement les opérations de déconnexion des utilisateurs initiées via le sous-système d'initialisation de Windows. Lorsqu'un utilisateur se déconnecte d'un système Windows, soit volontairement, soit par action administrative, le processus wininit génère cet événement pour maintenir une piste d'audit complète.

L'événement contient des données structurées, y compris l'identifiant de sécurité (SID) de l'utilisateur cible, le type de connexion, le package d'authentification utilisé et le processus responsable de l'initiation de la déconnexion. Ces informations s'avèrent inestimables pour les analystes de sécurité enquêtant sur les modèles de comportement des utilisateurs, les auditeurs de conformité suivant les contrôles d'accès, et les administrateurs système surveillant la gestion des sessions.

Dans les environnements Windows Server, en particulier ceux exécutant des services de bureau à distance ou des plateformes de virtualisation Citrix, l'ID d'événement 4109 devient particulièrement significatif. Ces systèmes gèrent plusieurs sessions utilisateur simultanées, et le suivi des événements de déconnexion aide les administrateurs à comprendre l'utilisation des ressources, à identifier les problèmes de gestion des sessions et à maintenir la conformité en matière de sécurité.

La corrélation temporelle de l'événement avec d'autres événements de sécurité permet une analyse sophistiquée des chaînes d'activité des utilisateurs. Les systèmes de gestion des informations et des événements de sécurité (SIEM) utilisent fréquemment l'ID d'événement 4109 comme indicateur clé pour le suivi du cycle de vie des sessions utilisateur, aidant à détecter des modèles de déconnexion anormaux qui pourraient indiquer des incidents de sécurité ou des problèmes système.

S'applique à

Windows 10Windows 11Windows Server 2019/2022/2025
Analyse

Causes possibles

  • Déconnexion initiée par l'utilisateur normal via le menu Démarrer ou Ctrl+Alt+Suppr
  • Déconnexion forcée par l'administrateur utilisant le Gestionnaire des tâches ou des commandes PowerShell
  • Procédures d'arrêt ou de redémarrage du système mettant fin aux sessions utilisateur actives
  • Application de la stratégie de groupe provoquant une déconnexion automatique de l'utilisateur
  • Délai d'expiration de session des services Bureau à distance ou déconnexion administrative
  • Installations de Windows Update nécessitant la fin de session utilisateur
  • Violations de la politique de sécurité déclenchant une déconnexion automatique de l'utilisateur
  • Opérations de gestion de session des services Terminal ou Citrix
  • Opérations de changement rapide d'utilisateur sur des systèmes multi-utilisateurs
  • Événements de déconnexion de compte de service lors des opérations de redémarrage de service
Méthodes de résolution

Étapes de dépannage

01

Examiner les détails de l'événement dans le Visualiseur d'événements

Commencez par examiner les détails spécifiques de l'ID d'événement 4109 pour comprendre le contexte de déconnexion et identifier d'éventuels motifs.

  1. Ouvrez Observateur d'événements en appuyant sur Win + R, en tapant eventvwr.msc, et en appuyant sur Entrée
  2. Accédez à Journaux WindowsSécurité
  3. Filtrez pour l'ID d'événement 4109 en cliquant avec le bouton droit sur le journal Sécurité et en sélectionnant Filtrer le journal actuel
  4. Entrez 4109 dans le champ ID d'événements et cliquez sur OK
  5. Double-cliquez sur les entrées récentes de l'ID d'événement 4109 pour examiner les détails, y compris :
    • ID de sécurité du sujet et nom du compte
    • Type de connexion (Interactive, Réseau, Service, etc.)
    • Package d'authentification
    • Nom de la station de travail
    • Informations sur le processus
  6. Notez les motifs de timestamp et la fréquence des événements de déconnexion
  7. Faites une référence croisée avec l'ID d'événement 4624 (connexion) et 4634 (déconnexion) pour un suivi complet de la session
Astuce pro : Utilisez la fonctionnalité Vues personnalisées de l'Observateur d'événements pour créer un filtre persistant pour les événements liés à la déconnexion (4109, 4634, 4647) pour un suivi plus facile.
02

Analyse et corrélation PowerShell

Utilisez PowerShell pour extraire et analyser les données de l'ID d'événement 4109 pour les motifs, les anomalies et la corrélation avec d'autres événements de sécurité.

  1. Ouvrez PowerShell en tant qu'administrateur
  2. Interrogez les entrées récentes de l'ID d'événement 4109 :
    Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4109} -MaxEvents 50 | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
  3. Extrayez les propriétés détaillées de l'événement pour l'analyse :
    $Events = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4109} -MaxEvents 100
    $Events | ForEach-Object {
        $Event = [xml]$_.ToXml()
        [PSCustomObject]@{
            TimeCreated = $_.TimeCreated
            UserSID = $Event.Event.EventData.Data[0].'#text'
            UserName = $Event.Event.EventData.Data[1].'#text'
            LogonType = $Event.Event.EventData.Data[4].'#text'
            ProcessName = $Event.Event.EventData.Data[9].'#text'
        }
    } | Format-Table -AutoSize
  4. Corrélez avec les événements de connexion pour suivre la durée de la session :
    $LogoffEvents = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4109} -MaxEvents 20
    $LogonEvents = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 50
    
    # Comparez les horodatages et les comptes d'utilisateurs pour l'analyse des sessions
  5. Exportez les résultats pour une analyse plus approfondie :
    Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4109} -MaxEvents 1000 | Export-Csv -Path "C:\Temp\Event4109_Analysis.csv" -NoTypeInformation
Avertissement : Les journaux de sécurité volumineux peuvent affecter les performances du système. Utilisez le paramètre -MaxEvents pour limiter la portée de la requête et envisagez de l'exécuter pendant les fenêtres de maintenance.
03

Configurer les politiques d'audit avancées

Améliorez la journalisation de l'ID d'événement 4109 en configurant des stratégies d'audit avancées pour capturer des informations de déconnexion plus détaillées et des événements de sécurité connexes.

  1. Ouvrez Éditeur de stratégie de groupe locale en exécutant gpedit.msc
  2. Accédez à Configuration de l'ordinateurParamètres WindowsParamètres de sécuritéConfiguration des stratégies d'audit avancéesStratégies d'audit
  3. Configurez les sous-catégories d'audit Ouverture/Fermeture de session:
    • Audit de la déconnexion: Réglez sur Succès
    • Audit de l'ouverture de session: Réglez sur Succès et Échec
    • Audit des autres événements d'ouverture/fermeture de session: Réglez sur Succès et Échec
  4. Appliquez les paramètres en utilisant la ligne de commande pour plusieurs systèmes:
    # Activer l'audit détaillé de la déconnexion
    auditpol /set /subcategory:"Logoff" /success:enable
    auditpol /set /subcategory:"Logon" /success:enable /failure:enable
    auditpol /set /subcategory:"Other Logon/Logoff Events" /success:enable /failure:enable
  5. Vérifiez les paramètres actuels de la stratégie d'audit:
    auditpol /get /category:"Logon/Logoff"
  6. Configurez la taille du journal de sécurité pour accueillir une journalisation accrue:
    # Augmenter la taille du journal de sécurité à 100MB
    wevtutil sl Security /ms:104857600
  7. Testez la configuration en effectuant une déconnexion et en vérifiant que l'ID d'événement 4109 apparaît avec des détails améliorés
Astuce pro: Utilisez la console de gestion des stratégies de groupe pour déployer les modifications de la stratégie d'audit sur plusieurs systèmes joints au domaine simultanément.
04

Configuration de la surveillance et des alertes automatisées

Implémentez une surveillance automatisée pour l'ID d'événement 4109 afin de détecter des modèles de déconnexion inhabituels et des incidents de sécurité potentiels.

  1. Créez un script de surveillance PowerShell :
    # Enregistrer sous Monitor-Event4109.ps1
    param(
        [int]$CheckIntervalMinutes = 15,
        [int]$AlertThreshold = 10
    )
    
    while ($true) {
        $StartTime = (Get-Date).AddMinutes(-$CheckIntervalMinutes)
        $Events = Get-WinEvent -FilterHashtable @{
            LogName='Security'
            Id=4109
            StartTime=$StartTime
        } -ErrorAction SilentlyContinue
        
        if ($Events.Count -gt $AlertThreshold) {
            $Message = "Activité de déconnexion élevée détectée : $($Events.Count) entrées d'ID d'événement 4109 dans les dernières $CheckIntervalMinutes minutes"
            Write-EventLog -LogName Application -Source "Custom Monitor" -EventId 1001 -EntryType Warning -Message $Message
            # Ajouter une notification par email ou une intégration SIEM ici
        }
        
        Start-Sleep -Seconds ($CheckIntervalMinutes * 60)
    }
  2. Enregistrez le script en tant que tâche planifiée :
    $Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\Monitor-Event4109.ps1"
    $Trigger = New-ScheduledTaskTrigger -AtStartup
    $Principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount
    $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
    
    Register-ScheduledTask -TaskName "Monitor Event 4109" -Action $Action -Trigger $Trigger -Principal $Principal -Settings $Settings
  3. Configurez le transfert d'événements Windows pour une surveillance centralisée :
    # Sur le serveur collecteur, créez un abonnement
    wecutil cs event4109-subscription.xml
  4. Créez des compteurs personnalisés Windows Performance Toolkit (WPT) pour la surveillance du taux de déconnexion
  5. Intégrez avec les solutions SIEM existantes en utilisant le transfert d'événements Windows ou des agents de transfert de journaux
  6. Mettez en place une visualisation de tableau de bord en utilisant des outils comme Grafana ou Power BI pour l'analyse des tendances
Avertissement : Les scripts de surveillance continue peuvent consommer des ressources système. Testez-les soigneusement dans des environnements non productifs et implémentez des limites de ressources appropriées.
05

Analyse Forensique et Réponse aux Incidents

Effectuer une analyse médico-légale complète de l'ID d'événement 4109 pour l'enquête sur les incidents de sécurité et le rapport de conformité.

  1. Exporter des données d'événements complètes pour l'analyse :
    # Exporter les événements avec tous les détails XML
    $Events = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4109} -MaxEvents 5000
    $DetailedEvents = $Events | ForEach-Object {
        $EventXML = [xml]$_.ToXml()
        $EventData = $EventXML.Event.EventData.Data
        [PSCustomObject]@{
            TimeCreated = $_.TimeCreated
            EventId = $_.Id
            SubjectUserSid = $EventData[0].'#text'
            SubjectUserName = $EventData[1].'#text'
            SubjectDomainName = $EventData[2].'#text'
            SubjectLogonId = $EventData[3].'#text'
            LogonType = $EventData[4].'#text'
            ProcessId = $EventData[5].'#text'
            ProcessName = $EventData[6].'#text'
            IpAddress = $EventData[7].'#text'
            IpPort = $EventData[8].'#text'
        }
    }
    $DetailedEvents | Export-Csv -Path "C:\Forensics\Event4109_Detailed.csv" -NoTypeInformation
  2. Corréler avec d'autres événements de sécurité pour la reconstruction de la chronologie :
    # Créer une chronologie complète de connexion/déconnexion
    $SecurityEvents = Get-WinEvent -FilterHashtable @{
        LogName='Security'
        Id=4624,4634,4647,4109
        StartTime=(Get-Date).AddDays(-7)
    } | Sort-Object TimeCreated
    
    $SecurityEvents | Select-Object TimeCreated, Id, @{Name='EventType';Expression={
        switch ($_.Id) {
            4624 {'Logon'}
            4634 {'Logoff'}
            4647 {'User Initiated Logoff'}
            4109 {'Wininit Logoff'}
        }
    }} | Export-Csv -Path "C:\Forensics\Security_Timeline.csv"
  3. Analyser les schémas de déconnexion pour la détection d'anomalies :
    # Analyse statistique des schémas de déconnexion
    $LogoffStats = $DetailedEvents | Group-Object SubjectUserName | ForEach-Object {
        $UserEvents = $_.Group | Sort-Object TimeCreated
        $TimeDiffs = for ($i = 1; $i -lt $UserEvents.Count; $i++) {
            ($UserEvents[$i].TimeCreated - $UserEvents[$i-1].TimeCreated).TotalMinutes
        }
        [PSCustomObject]@{
            UserName = $_.Name
            LogoffCount = $_.Count
            AvgTimeBetweenLogoffs = ($TimeDiffs | Measure-Object -Average).Average
            MinTimeBetweenLogoffs = ($TimeDiffs | Measure-Object -Minimum).Minimum
            MaxTimeBetweenLogoffs = ($TimeDiffs | Measure-Object -Maximum).Maximum
        }
    }
    $LogoffStats | Format-Table -AutoSize
  4. Générer des rapports de conformité avec une documentation appropriée de la chaîne de possession
  5. Créer des playbooks de réponse aux incidents intégrant les procédures d'analyse de l'ID d'événement 4109
  6. Documenter les résultats en utilisant des modèles de rapport médico-légal standardisés
Conseil pro : Maintenir des environnements d'analyse médico-légale séparés pour préserver l'intégrité des preuves et garantir leur admissibilité dans les procédures judiciaires.

Aperçu

L'ID d'événement 4109 se déclenche lorsque le processus d'initialisation de Windows (wininit.exe) enregistre un événement de déconnexion utilisateur. Cet événement apparaît dans le journal de sécurité et fait partie de la piste d'audit complète de Windows pour la gestion des sessions utilisateur. L'événement capture des détails essentiels sur les opérations de déconnexion utilisateur, y compris le compte utilisateur, le type de session et la raison de la déconnexion.

Cet événement se produit généralement lors de procédures normales de déconnexion utilisateur, d'arrêts du système ou lorsque des actions administratives forcent des déconnexions utilisateur. Windows génère cet événement dans le cadre de son cadre d'audit de sécurité, le rendant précieux pour la surveillance de la conformité et les enquêtes judiciaires. L'événement fournit des données de corrélation que les équipes de sécurité utilisent pour suivre les modèles d'activité des utilisateurs et identifier les incidents de sécurité potentiels.

Les administrateurs système s'appuient sur l'ID d'événement 4109 pour surveiller les cycles de vie des sessions utilisateur, en particulier dans les environnements d'entreprise où le suivi de l'activité des utilisateurs est crucial pour les politiques de sécurité. L'événement s'intègre à l'infrastructure de journalisation de sécurité plus large de Windows et apparaît aux côtés d'autres événements liés à la déconnexion comme l'ID d'événement 4634 et 4647.

Questions Fréquentes

Que suit spécifiquement l'ID d'événement 4109 par rapport aux autres événements de déconnexion ?+
L'ID d'événement 4109 suit spécifiquement les événements de déconnexion initiés par le processus d'initialisation de Windows (wininit.exe), ce qui diffère de l'ID d'événement 4634 (déconnexion standard) et 4647 (déconnexion initiée par l'utilisateur). Alors que 4634 enregistre lorsqu'une session de connexion est détruite et 4647 capture les déconnexions initiées par l'utilisateur, l'ID d'événement 4109 se concentre sur les déconnexions traitées par le sous-système d'initialisation de Windows. Cela se produit généralement lors des procédures d'arrêt du système, des déconnexions forcées par l'administrateur ou lorsque des services terminent des sessions utilisateur. L'événement fournit des données de corrélation uniques qui aident à distinguer entre différents types de scénarios de terminaison de session.
Pourquoi est-ce que je vois plusieurs entrées d'ID d'événement 4109 pour une seule déconnexion d'utilisateur ?+
Plusieurs entrées d'ID d'événement 4109 pour une seule déconnexion peuvent se produire en raison de plusieurs facteurs. Windows peut générer des événements distincts pour différents composants de session étant terminés, tels que les sessions de bureau interactives, les connexions réseau et les sessions liées aux services. Dans les environnements de Services Bureau à distance, vous pourriez voir des événements pour la session RDP et la session Windows sous-jacente. De plus, si un utilisateur a plusieurs sessions simultanées (via le changement rapide d'utilisateur ou les services Terminal), chaque terminaison de session génère son propre ID d'événement 4109. Le traitement des stratégies de groupe lors de la déconnexion peut également déclencher des événements supplémentaires à mesure que différents composants de stratégie terminent leurs procédures de nettoyage.
Comment puis-je distinguer entre les modèles d'ID d'événement 4109 normaux et suspects ?+
Les modèles normaux d'ID d'événement 4109 montrent généralement un timing régulier aligné avec les heures de bureau, des comptes utilisateurs cohérents et une corrélation avec les événements de connexion correspondants. Les modèles suspects incluent : des déconnexions se produisant à des heures inhabituelles sans connexions correspondantes, des déconnexions rapides successives du même compte, des déconnexions de comptes de service qui ne devraient pas avoir de sessions interactives, ou des déconnexions de comptes qui n'ont pas été utilisés récemment. De plus, les déconnexions sans événements de connexion précédents, ou les déconnexions de plusieurs comptes simultanément en dehors des fenêtres de maintenance programmées, nécessitent une enquête. Utilisez une analyse de référence sur 30 à 90 jours pour établir des modèles normaux pour votre environnement.
L'ID d'événement 4109 peut-il aider à détecter les mouvements latéraux ou les attaques d'escalade de privilèges ?+
Oui, l'ID d'événement 4109 peut être précieux pour détecter les mouvements latéraux et l'escalade de privilèges lorsqu'il est analysé avec d'autres événements de sécurité. Les attaquants effectuant des mouvements latéraux laissent souvent des traces à travers des modèles de déconnexion inhabituels, tels que des comptes de service se déconnectant des postes de travail, des comptes administratifs avec des durées de session brèves sur plusieurs systèmes, ou des déconnexions de comptes qui n'ont généralement pas de sessions interactives. Lorsqu'il est corrélé avec les ID d'événement 4624 (connexion), 4648 (utilisation explicite des identifiants) et 4672 (privilèges spéciaux attribués), l'ID d'événement 4109 aide à reconstruire les chronologies des attaques et à identifier les comptes compromis se déplaçant entre les systèmes.
Que dois-je faire si l'ID d'événement 4109 est absent de mon journal de sécurité ?+
Les entrées manquantes de l'ID d'événement 4109 indiquent généralement des problèmes de configuration de la stratégie d'audit. Tout d'abord, vérifiez que 'Audit Logoff' est activé dans la Configuration avancée de la stratégie d'audit sous Configuration de l'ordinateur → Paramètres Windows → Paramètres de sécurité → Configuration avancée de la stratégie d'audit → Stratégies d'audit → Connexion/Déconnexion. Utilisez 'auditpol /get /subcategory:"Logoff"' pour vérifier les paramètres actuels. Assurez-vous que le journal de sécurité a une taille suffisante et n'est pas écrasé trop rapidement. Vérifiez si le transfert de journaux ou les agents SIEM consomment les événements plus rapidement que prévu. Dans les environnements de domaine, vérifiez que la stratégie de groupe ne remplace pas les paramètres d'audit locaux. Enfin, confirmez que le service Journal des événements Windows est en cours d'exécution et qu'aucun logiciel de sécurité tiers ne filtre ou ne redirige les événements de sécurité.
Documentation

Références (2)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Senior IT Journalist & Cloud Architect

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...