ANAVEM
Languageen
Windows security monitoring dashboard showing Event Viewer with RDP session audit logs in a professional SOC environment
Event ID 4779InformationMicrosoft-Windows-Security-AuditingWindows

ID d'événement Windows 4779 – Microsoft-Windows-Security-Auditing : Session utilisateur déconnectée

L'ID d'événement 4779 enregistre lorsqu'une session utilisateur est déconnectée d'une session Terminal Services ou Bureau à distance, fournissant une piste d'audit pour la surveillance de l'accès à distance.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
18 mars 20269 min de lecture 0
Event ID 4779Microsoft-Windows-Security-Auditing 5 méthodes 9 min
Référence événement

Signification de cet événement

L'ID d'événement 4779 représente un composant fondamental de l'audit de sécurité Windows, spécifiquement conçu pour suivre les déconnexions de sessions des services Terminal. Lorsqu'une session RDP d'un utilisateur se termine—que ce soit en raison de problèmes réseau, de déconnexion délibérée ou d'une action administrative—Windows enregistre cet événement pour maintenir une piste d'audit complète des activités d'accès à distance.

La structure de l'événement inclut des données forensiques critiques : le compte utilisateur cible (à la fois le nom et le SID), l'adresse réseau source, l'ID de session et l'ID de connexion qui correspond à l'événement de connexion initial. Cette capacité de corrélation permet aux administrateurs de construire des chronologies complètes de l'activité utilisateur depuis la connexion initiale jusqu'à la déconnexion.

Windows génère des événements 4779 sur plusieurs systèmes simultanément. Le serveur cible hébergeant la session RDP enregistre l'événement localement, tandis que les contrôleurs de domaine enregistrent l'événement dans le cadre de l'audit de sécurité centralisé. Cette journalisation distribuée assure la redondance et offre plusieurs voies d'enquête lors d'incidents de sécurité.

L'importance de l'événement va au-delà du simple suivi des connexions. Les équipes de sécurité s'appuient sur les modèles 4779 pour identifier les comportements suspects, tels que le cycle rapide de connexions, les heures d'accès inhabituelles ou les connexions depuis des emplacements réseau inattendus. Combinées à d'autres événements de sécurité, les données 4779 aident à construire des bases de référence complètes du comportement utilisateur et à détecter des activités anormales qui pourraient indiquer des comptes compromis ou des menaces internes.

S'applique à

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

Causes possibles

  • Déconnexion manuelle de l'utilisateur de la session Bureau à distance en utilisant le bouton X ou l'option de déconnexion du menu Démarrer
  • Problèmes de connectivité réseau provoquant un délai d'attente ou une perte de connexion de la session RDP
  • Administrateur déconnectant de force les sessions utilisateur via le Gestionnaire des services Terminal Server ou des commandes PowerShell
  • Paramètres de stratégie de groupe appliquant des limites de temps de session ou des déconnexions en cas d'inactivité
  • Procédures d'arrêt ou de redémarrage du serveur mettant fin aux sessions RDP actives
  • Plantages de l'application cliente RDP ou terminaison inattendue
  • Installations de mises à jour Windows nécessitant la déconnexion de la session pour des modifications système
  • Logiciels de sécurité ou solutions de protection des points de terminaison mettant fin aux connexions RDP suspectes
Méthodes de résolution

Étapes de dépannage

01

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

Commencez par examiner les détails spécifiques de l'événement 4779 pour comprendre le contexte de la déconnexion et recueillir des informations médico-légales.

1. Ouvrez Observateur d'événementsJournaux WindowsSécurité

2. Filtrez pour l'ID d'événement 4779 en utilisant l'option de filtre ou la fonctionnalité de recherche

3. Double-cliquez sur l'événement pour voir des informations détaillées, y compris :

  • ID de sécurité du sujet et nom du compte
  • ID de connexion (correspond aux événements de connexion)
  • Nom de session et adresse réseau source
  • Onglet Détails supplémentaires pour des informations étendues

4. Notez l'horodatage et comparez avec des événements connexes comme 4778 (session reconnectée) ou 4634 (déconnexion)

Astuce pro : Le champ ID de connexion vous permet de corréler cette déconnexion avec l'événement de connexion original (4624) pour construire une chronologie complète de la session.

02

Interroger les événements avec PowerShell pour l'analyse des motifs

Utilisez PowerShell pour extraire et analyser les événements 4779 pour les motifs, la fréquence et la corrélation avec d'autres événements de sécurité.

1. Interroger les événements de déconnexion récents :

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4779} -MaxEvents 50 | Select-Object TimeCreated, Id, @{Name='User';Expression={$_.Properties[1].Value}}, @{Name='SourceIP';Expression={$_.Properties[5].Value}}

2. Analyser les motifs de déconnexion pour des utilisateurs spécifiques :

Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4779} | Where-Object {$_.Properties[1].Value -like '*username*'} | Group-Object @{Expression={$_.Properties[5].Value}} | Sort-Object Count -Descending

3. Corréler avec les événements de connexion pour calculer la durée de session :

$logons = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624}
$disconnects = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4779}
$correlatedSessions = $disconnects | ForEach-Object {
    $logonId = $_.Properties[2].Value
    $matchingLogon = $logons | Where-Object {$_.Properties[7].Value -eq $logonId}
    if ($matchingLogon) {
        [PSCustomObject]@{
            User = $_.Properties[1].Value
            LogonTime = $matchingLogon.TimeCreated
            DisconnectTime = $_.TimeCreated
            Duration = $_.TimeCreated - $matchingLogon.TimeCreated
            SourceIP = $_.Properties[5].Value
        }
    }
}

Avertissement : Les journaux d'événements volumineux peuvent affecter les performances du système. Utilisez le paramètre -MaxEvents pour limiter les résultats lors de l'analyse initiale.

03

Configurer l'audit et la surveillance avancés

Améliorez la collecte et l'analyse des événements 4779 grâce à la configuration avancée de la stratégie d'audit et à la configuration de la journalisation centralisée.

1. Vérifiez les paramètres de la stratégie d'audit à l'aide de la stratégie de groupe ou de la stratégie de sécurité locale :

Accédez à Configuration de l'ordinateurParamètres WindowsParamètres de sécuritéConfiguration avancée de la stratégie d'auditOuverture/Fermeture de session

2. Activez l'audit détaillé des ouvertures de session :

auditpol /set /subcategory:"Logoff" /success:enable /failure:enable
auditpol /set /subcategory:"Other Logon/Logoff Events" /success:enable /failure:enable

3. Configurez le transfert des événements Windows pour une collecte centralisée :

# Sur le serveur collecteur
wecutil qc
# Créez un abonnement pour les événements de sécurité
wecutil cs subscription.xml

4. Configurez la taille et la rétention du journal des événements personnalisés :

wevtutil sl Security /ms:1073741824
wevtutil sl Security /rt:false

5. Créez une tâche planifiée pour l'analyse automatisée des 4779 :

$action = New-ScheduledTaskAction -Execute 'PowerShell.exe' -Argument '-File C:\Scripts\Analyze4779Events.ps1'
$trigger = New-ScheduledTaskTrigger -Daily -At '06:00'
Register-ScheduledTask -TaskName 'Daily4779Analysis' -Action $action -Trigger $trigger
04

Enquêter sur les modèles de déconnexion suspects

Effectuer une analyse médico-légale avancée pour identifier les menaces potentielles à la sécurité ou les violations de politique basées sur les modèles d'événements 4779.

1. Identifier les fréquences de déconnexion inhabituelles :

$timeframe = (Get-Date).AddDays(-7)
$events = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4779; StartTime=$timeframe}
$suspiciousUsers = $events | Group-Object @{Expression={$_.Properties[1].Value}} | Where-Object {$_.Count -gt 100} | Sort-Object Count -Descending

2. Analyser les modèles d'accès hors heures :

$offHoursEvents = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4779} | Where-Object {
    $hour = $_.TimeCreated.Hour
    $hour -lt 6 -or $hour -gt 22 -or $_.TimeCreated.DayOfWeek -in @('Saturday','Sunday')
}

3. Vérifier les modèles de reconnexion rapide (potentiel de force brute) :

$rapidReconnects = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=@(4778,4779)} | Sort-Object TimeCreated | Group-Object @{Expression={$_.Properties[1].Value}} | ForEach-Object {
    $userEvents = $_.Group | Sort-Object TimeCreated
    for ($i = 1; $i -lt $userEvents.Count; $i++) {
        $timeDiff = ($userEvents[$i].TimeCreated - $userEvents[$i-1].TimeCreated).TotalMinutes
        if ($timeDiff -lt 2) {
            [PSCustomObject]@{
                User = $_.Name
                Event1 = $userEvents[$i-1].Id
                Event2 = $userEvents[$i].Id
                TimeDifference = $timeDiff
                Timestamp = $userEvents[$i].TimeCreated
            }
        }
    }
}

4. Recouper avec les tentatives de connexion échouées :

$failedLogons = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625}
$disconnections = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4779}
$correlatedThreats = $disconnections | ForEach-Object {
    $disconnectTime = $_.TimeCreated
    $sourceIP = $_.Properties[5].Value
    $relatedFailures = $failedLogons | Where-Object {
        $_.Properties[19].Value -eq $sourceIP -and
        [Math]::Abs(($_.TimeCreated - $disconnectTime).TotalMinutes) -lt 30
    }
    if ($relatedFailures) {
        [PSCustomObject]@{
            SourceIP = $sourceIP
            DisconnectTime = $disconnectTime
            FailedAttempts = $relatedFailures.Count
            User = $_.Properties[1].Value
        }
    }
}
05

Mettre en œuvre l'alerte et la réponse automatisées

Déployer des mécanismes de surveillance et de réponse automatisés pour les modèles d'événements critiques 4779 qui peuvent indiquer des incidents de sécurité.

1. Créer un ensemble de collecteurs de données personnalisé avec Windows Performance Toolkit (WPT) :

$dataCollectorSet = New-Object -ComObject Pla.DataCollectorSet
$dataCollectorSet.DisplayName = "RDP Disconnection Monitor"
$dataCollectorSet.RootPath = "C:\PerfLogs\RDPMonitor"
$dataCollectorSet.Commit("RDPDisconnectMonitor", $null, 0x0003)

2. Configurer l'intégration SIEM en utilisant Windows Event Forwarding :

Créer un fichier d'abonnement XML personnalisé :

<Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription">
    <SubscriptionId>RDP-Disconnection-Monitor</SubscriptionId>
    <Query>
        <Select Path="Security">*[System[(EventID=4779)]]</Select>
    </Query>
    <Delivery Mode="Push">
        <Batching>
            <MaxItems>1</MaxItems>
            <MaxLatencyTime>1000</MaxLatencyTime>
        </Batching>
    </Delivery>
</Subscription>

3. Configurer un script d'alerte basé sur PowerShell :

# Register event subscription
Register-WmiEvent -Query "SELECT * FROM __InstanceCreationEvent WITHIN 5 WHERE TargetInstance ISA 'Win32_NTLogEvent' AND TargetInstance.EventCode = 4779" -Action {
    $event = $Event.SourceEventArgs.NewEvent.TargetInstance
    $user = ($event.InsertionStrings)[1]
    $sourceIP = ($event.InsertionStrings)[5]
    
    # Check for suspicious patterns
    if ($sourceIP -notmatch '^(10\.|192\.168\.|172\.(1[6-9]|2[0-9]|3[01])\.)') {
        Send-MailMessage -To "security@company.com" -From "alerts@company.com" -Subject "External RDP Disconnection Alert" -Body "User $user disconnected from external IP $sourceIP at $(Get-Date)" -SmtpServer "mail.company.com"
    }
}

4. Mettre en œuvre un canal de journal des événements Windows personnalisé pour une surveillance améliorée :

# Create custom event log
New-EventLog -LogName "RDPSecurity" -Source "RDPMonitor"

# Log custom security events
Write-EventLog -LogName "RDPSecurity" -Source "RDPMonitor" -EventId 1001 -EntryType Information -Message "Suspicious RDP disconnection pattern detected for user $user from IP $sourceIP"

Astuce pro : Combinez la surveillance 4779 avec l'analyse du trafic réseau et les outils de détection des points de terminaison pour une couverture complète de la sécurité RDP.

Aperçu

L'ID d'événement 4779 se déclenche chaque fois qu'une session utilisateur se déconnecte d'une session Terminal Services ou Remote Desktop Protocol (RDP) sur les systèmes Windows. Cet événement d'audit de sécurité fait partie de la catégorie d'audit de connexion/déconnexion et offre une visibilité critique sur les schémas d'accès à distance à travers votre infrastructure.

L'événement capture des détails essentiels, y compris le compte utilisateur, l'ID de session, l'adresse réseau source et la raison de la déconnexion. Windows génère cet événement à la fois sur le serveur cible recevant la connexion RDP et sur les contrôleurs de domaine traitant l'authentification. Cela rend le 4779 inestimable pour suivre la conformité des accès à distance, enquêter sur les incidents de sécurité et surveiller les schémas de comportement des utilisateurs.

Contrairement aux événements de déconnexion, les déconnexions préservent l'état de la session sur le serveur tout en terminant la connexion réseau. La session reste active en mémoire, permettant aux utilisateurs de se reconnecter et de reprendre leur travail. Cette distinction est cruciale pour comprendre la différence entre les déconnexions intentionnelles et celles liées au réseau dans votre environnement.

Questions Fréquentes

Quelle est la différence entre l'ID d'événement 4779 (déconnexion) et 4634 (fermeture de session) ?+
L'ID d'événement 4779 indique une déconnexion de session où la session utilisateur reste active sur le serveur mais la connexion réseau se termine. L'utilisateur peut se reconnecter pour reprendre sa session. L'ID d'événement 4634 représente une déconnexion complète où la session est terminée et tous les processus associés sont fermés. Les déconnexions préservent l'état de la session tandis que les déconnexions le détruisent complètement.
Pourquoi est-ce que je vois plusieurs événements 4779 pour la même session utilisateur ?+
Plusieurs événements 4779 pour la même session se produisent généralement en raison de l'instabilité du réseau entraînant des déconnexions et reconnexions répétées. Vérifiez les champs Nom de session et ID de connexion pour corréler les événements. Si l'ID de connexion change entre les événements, cela représente des sessions différentes. Des problèmes de réseau constants, des problèmes de VPN ou des problèmes de connectivité côté client causent souvent ce schéma.
Comment puis-je corréler les événements 4779 avec la connexion initiale pour calculer la durée de la session ?+
Utilisez le champ ID de connexion dans l'événement 4779 pour le corréler avec l'ID d'événement 4624 (connexion réussie) ou 4778 (session reconnectée). L'ID de connexion reste constant tout au long du cycle de vie de la session. Interrogez les deux types d'événements et faites correspondre l'ID de connexion pour calculer la durée : temps de déconnexion/déconnexion moins temps de connexion/connexion. Cette corrélation aide à identifier les sessions inhabituellement longues ou courtes.
L'ID d'événement 4779 peut-il aider à détecter des menaces de sécurité potentielles ou des accès non autorisés ?+
Oui, 4779 événements sont précieux pour la détection des menaces. Analysez des modèles tels que les déconnexions d'adresses IP externes, l'accès en dehors des heures de travail, les cycles rapides de déconnexion/reconnexion, ou les déconnexions suivies de tentatives d'authentification échouées. Des réseaux sources inhabituels, des anomalies géographiques, ou des modèles de déconnexion qui dévient des bases de référence des utilisateurs peuvent indiquer des comptes compromis ou des tentatives d'accès non autorisées.
Que dois-je faire si les événements 4779 n'apparaissent pas dans mon journal de sécurité ?+
Vérifiez que la stratégie d'audit pour les événements de connexion/déconnexion est activée. Vérifiez les paramètres de la stratégie de groupe sous Configuration avancée de la stratégie d'audit → Connexion/Déconnexion → Déconnexion. Assurez-vous que l'audit des réussites et des échecs est activé. Sur les contrôleurs de domaine, vérifiez que 'Audit des événements de connexion de compte' est configuré. Vérifiez également que le journal de sécurité a une taille et des paramètres de rétention suffisants pour capturer ces événements sans les écraser rapidement.
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.

Événements Windows associés

Windows security monitoring dashboard displaying audit events and privilege tracking logs
Event 6276
Microsoft-Windows-Security-Auditing
Windows EventInformation

ID d'événement Windows 6276 – Microsoft-Windows-Security-Auditing : Privilèges spéciaux attribués à une nouvelle connexion

L'ID d'événement 6276 enregistre lorsque des privilèges spéciaux sont attribués à un compte utilisateur lors de la connexion, indiquant que des droits d'accès élevés ont été accordés pour la session.

18 mars9 min
Windows security monitoring dashboard displaying privilege assignment events in a professional SOC environment
Event 6274
Microsoft-Windows-Security-Auditing
Windows EventInformation

ID d'événement Windows 6274 – Microsoft-Windows-Security-Auditing : Privilèges spéciaux attribués à une nouvelle connexion

L'ID d'événement 6274 enregistre lorsque des privilèges spéciaux sont attribués à une nouvelle session de connexion utilisateur, indiquant que des droits d'accès élevés ont été accordés pour des opérations sensibles à la sécurité.

18 mars9 min
Network Policy Server monitoring dashboard showing authentication events and security logs
Event 6273
Microsoft-Windows-Security-Auditing
Windows EventInformation

ID d'événement Windows 6273 – Microsoft-Windows-Security-Auditing : Accès accordé par le serveur de stratégie réseau

L'ID d'événement 6273 indique que le serveur de politique réseau (NPS) a accordé l'accès au réseau à un utilisateur ou un appareil après une authentification et une autorisation réussies via les protocoles RADIUS.

18 mars9 min
Network operations center displaying Windows NPS authentication monitoring dashboards and security event logs
Event 6272
Microsoft-Windows-Security-Auditing
Windows EventInformation

ID d'événement Windows 6272 – Microsoft-Windows-Security-Auditing : Serveur de stratégie réseau a accordé l'accès

L'ID d'événement 6272 indique que le serveur de politique réseau (NPS) a accordé l'accès au réseau à un utilisateur ou un appareil après une authentification et une autorisation réussies via les protocoles RADIUS.

18 mars12 min

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...