ANAVEM
Languageen
Windows security monitoring dashboard displaying Event Viewer with network share access logs in a professional SOC environment
Event ID 5140InformationMicrosoft-Windows-Security-AuditingWindows

ID d'événement Windows 5140 – Microsoft-Windows-Security-Auditing : Objet de partage réseau accédé

L'ID d'événement 5140 enregistre lorsqu'un utilisateur ou un processus accède à un objet de partage réseau. Cet événement d'audit de sécurité suit les tentatives d'accès au partage de fichiers à des fins de conformité et de surveillance de la sécurité.

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

Signification de cet événement

L'ID d'événement 5140 représente un composant fondamental de l'infrastructure d'audit de sécurité de Windows, spécifiquement conçu pour suivre les activités d'accès aux partages réseau. Lorsqu'il est activé, cet événement génère une entrée de journal chaque fois qu'un utilisateur ou un compte de service tente d'accéder à un dossier ou un fichier partagé sur le réseau. L'événement capture des métadonnées complètes sur la tentative d'accès, y compris l'identifiant de sécurité (SID) de l'utilisateur accédant, l'adresse IP source ou le nom de l'ordinateur, le chemin du partage cible et le type d'accès demandé.

L'événement s'intègre à la Configuration de la stratégie d'audit avancée de Windows, permettant aux administrateurs d'affiner quels types d'événements d'accès aux objets sont enregistrés. Ce contrôle granulaire aide à équilibrer les besoins de surveillance de la sécurité avec la gestion du volume des journaux. Les données de l'événement incluent des informations médico-légales critiques telles que la corrélation d'ID de connexion, permettant aux administrateurs de retracer les schémas d'accès à travers plusieurs événements et de construire des pistes d'audit complètes.

Dans les environnements d'entreprise, l'événement 5140 sert de pierre angulaire pour les stratégies de prévention de la perte de données (DLP) et les programmes de détection des menaces internes. Les capacités de journalisation détaillées de l'événement permettent aux équipes de sécurité d'identifier des schémas d'accès inhabituels, de détecter des tentatives potentielles d'exfiltration de données et de maintenir des enregistrements détaillés pour le reporting de conformité. Les solutions SIEM modernes s'appuient fortement sur ce type d'événement pour construire des bases de comportement et détecter des activités d'accès aux fichiers anormales.

S'applique à

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

Causes possibles

  • Utilisateur accédant à un dossier ou fichier partagé sur le réseau via le protocole SMB
  • Compte de service ou application se connectant à des partages réseau pour des processus automatisés
  • Logiciel de sauvegarde accédant à des répertoires partagés pour des opérations de protection des données
  • Outils administratifs se connectant à des partages administratifs comme C$, ADMIN$, ou IPC$
  • Lecteurs réseau mappés étant accédés par des utilisateurs ou des applications
  • Services de synchronisation de fichiers accédant à des dossiers partagés pour la réplication
  • Outils de scan de sécurité énumérant les partages réseau lors des évaluations de vulnérabilité
  • Logiciels malveillants ou outils non autorisés tentant d'accéder à des ressources partagées
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 5140 pour comprendre le modèle d'accès et identifier les préoccupations potentielles en matière de sécurité.

  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 le journal en cliquant sur Filtrer le journal actuel dans le volet Actions
  4. Entrez 5140 dans le champ ID d'événements et cliquez sur OK
  5. Double-cliquez sur un événement 5140 pour voir des informations détaillées, y compris :
    • Sujet : Compte utilisateur qui a accédé au partage
    • Objet : Nom et chemin du partage accédé
    • Informations sur le processus : ID et nom du processus
    • Informations réseau : Adresse source et port
    • Informations sur la demande d'accès : Permissions demandées
  6. Portez une attention particulière au champ Adresse source pour identifier le système d'origine
  7. Vérifiez la valeur du Masque d'accès pour comprendre quel type d'accès a été demandé
Astuce pro : Utilisez l'onglet vue XML pour voir les données brutes de l'événement, ce qui peut être utile pour l'analyse et le traitement automatisés.
02

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

Utilisez PowerShell pour interroger et analyser les modèles d'ID d'événement 5140 sur des périodes pour identifier les tendances et les anomalies.

  1. Ouvrez PowerShell en tant qu'administrateur
  2. Interrogez les événements récents 5140 avec un filtrage de base :
    Get-WinEvent -FilterHashtable @{LogName='Security'; Id=5140} -MaxEvents 100 | Select-Object TimeCreated, Id, LevelDisplayName, Message
  3. Extrayez des détails spécifiques de l'événement pour l'analyse :
    $Events = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=5140} -MaxEvents 500
    $Events | ForEach-Object {
        $EventXML = [xml]$_.ToXml()
        $EventData = $EventXML.Event.EventData.Data
        [PSCustomObject]@{
            TimeCreated = $_.TimeCreated
            SubjectUserName = ($EventData | Where-Object {$_.Name -eq 'SubjectUserName'}).'#text'
            ObjectName = ($EventData | Where-Object {$_.Name -eq 'ObjectName'}).'#text'
            IpAddress = ($EventData | Where-Object {$_.Name -eq 'IpAddress'}).'#text'
            AccessMask = ($EventData | Where-Object {$_.Name -eq 'AccessMask'}).'#text'
        }
    } | Format-Table -AutoSize
  4. Identifiez les utilisateurs accédant le plus :
    $Events | Group-Object {($_.ToXml() | Select-Xml -XPath "//Data[@Name='SubjectUserName']").Node.InnerText} | Sort-Object Count -Descending | Select-Object Name, Count
  5. Trouvez les tentatives d'accès depuis des adresses IP externes :
    $Events | Where-Object {($_.ToXml() | Select-Xml -XPath "//Data[@Name='IpAddress']").Node.InnerText -notlike '192.168.*' -and ($_.ToXml() | Select-Xml -XPath "//Data[@Name='IpAddress']").Node.InnerText -ne '-'}
Avertissement : Les requêtes volumineuses peuvent affecter les performances du système. Utilisez le paramètre -MaxEvents pour limiter les résultats et envisagez de les exécuter pendant les heures creuses.
03

Configurer la politique d'audit avancée pour un contrôle granulaire

Ajustez finement l'audit d'accès aux objets pour contrôler la génération de l'ID d'événement 5140 et réduire le bruit tout en maintenant la visibilité de la sécurité.

  1. Ouvrez Console de gestion des stratégies de groupe ou Éditeur de stratégie de groupe locale (gpedit.msc)
  2. Accédez à Configuration de l'ordinateurParamètres WindowsParamètres de sécuritéConfiguration avancée de la stratégie d'auditStratégies d'auditAccès aux objets
  3. Double-cliquez sur la stratégie Audit du partage de fichiers
  4. Configurez la stratégie en fonction de vos besoins de surveillance:
    • Cochez Succès pour enregistrer les accès réussis au partage
    • Cochez Échec pour enregistrer les tentatives d'accès échouées
    • Cliquez sur OK pour appliquer les modifications
  5. Vérifiez les paramètres d'audit actuels à l'aide de PowerShell:
    auditpol /get /subcategory:"File Share"
  6. Pour un contrôle plus granulaire, configurez des partages spécifiques pour l'audit:
    # Activer l'audit sur un partage spécifique
    $SharePath = "C:\SharedData"
    $ACL = Get-Acl $SharePath
    $AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone", "FullControl", "ContainerInherit,ObjectInherit", "None", "Success,Failure")
    $ACL.SetAuditRule($AccessRule)
    Set-Acl $SharePath $ACL
  7. Appliquez les mises à jour de la stratégie de groupe:
    gpupdate /force
Astuce pro : Utilisez l'audit de succès pour la surveillance de la conformité et l'audit d'échec pour la détection des incidents de sécurité. Combinez les deux pour une couverture complète.
04

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

Configurez la surveillance automatisée pour l'ID d'événement 5140 afin de détecter les schémas d'accès suspects et les incidents de sécurité potentiels en temps réel.

  1. Créez un script PowerShell pour une surveillance continue :
    # Enregistrez sous Monitor-ShareAccess.ps1
    param(
        [int]$MonitoringIntervalMinutes = 5,
        [string]$AlertThreshold = 50
    )
    
    while ($true) {
        $StartTime = (Get-Date).AddMinutes(-$MonitoringIntervalMinutes)
        $Events = Get-WinEvent -FilterHashtable @{
            LogName='Security'
            Id=5140
            StartTime=$StartTime
        } -ErrorAction SilentlyContinue
        
        if ($Events.Count -gt $AlertThreshold) {
            $AlertMessage = "Activité d'accès partagé élevée détectée : $($Events.Count) événements dans les dernières $MonitoringIntervalMinutes minutes"
            Write-EventLog -LogName Application -Source "ShareMonitor" -EventId 1001 -EntryType Warning -Message $AlertMessage
            # Ajoutez ici une notification par email ou une intégration SIEM
        }
        
        Start-Sleep -Seconds ($MonitoringIntervalMinutes * 60)
    }
  2. Enregistrez le script en tant que service Windows ou tâche planifiée :
    # Créer une tâche planifiée
    $Action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\Monitor-ShareAccess.ps1"
    $Trigger = New-ScheduledTaskTrigger -AtStartup
    $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
    Register-ScheduledTask -TaskName "ShareAccessMonitor" -Action $Action -Trigger $Trigger -Settings $Settings -RunLevel Highest
  3. Configurez le transfert d'événements Windows pour la journalisation centralisée :
    # Sur le serveur collecteur
    wecutil qc /q
    wecutil cs subscription.xml
  4. Créez un fichier XML d'abonnement pour la collecte de l'événement 5140 :
    <Subscription xmlns="http://schemas.microsoft.com/2006/03/windows/events/subscription">
        <SubscriptionId>ShareAccessEvents</SubscriptionId>
        <SubscriptionType>SourceInitiated</SubscriptionType>
        <Description>Transférer l'ID d'événement 5140 des ordinateurs du domaine</Description>
        <Enabled>true</Enabled>
        <Uri>http://schemas.microsoft.com/wbem/wsman/1/windows/EventLog</Uri>
        <ConfigurationMode>Normal</ConfigurationMode>
        <Query>
            <![CDATA[
            <QueryList>
                <Query Id="0">
                    <Select Path="Security">*[System[(EventID=5140)]]</Select>
                </Query>
            </QueryList>
            ]]>
        </Query>
    </Subscription>
Avertissement : Les scripts de surveillance continue peuvent consommer des ressources système. Testez soigneusement et implémentez des mécanismes de limitation appropriés.
05

Analyse Forensique et Corrélation avec d'Autres Événements

Effectuez une analyse médico-légale complète en corrélant l'ID d'événement 5140 avec des événements de sécurité connexes pour construire des chronologies d'attaque complètes et identifier les incidents de sécurité.

  1. Identifiez les événements connexes pour l'analyse de corrélation:
    # Obtenez les événements de connexion corrélés avec l'accès au partage
    $ShareEvents = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=5140} -MaxEvents 1000
    $LogonEvents = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624,4625} -MaxEvents 1000
    
    # Corréler par LogonId
    $CorrelatedEvents = foreach ($ShareEvent in $ShareEvents) {
        $ShareXML = [xml]$ShareEvent.ToXml()
        $LogonId = ($ShareXML.Event.EventData.Data | Where-Object {$_.Name -eq 'SubjectLogonId'}).'#text'
        
        $RelatedLogon = $LogonEvents | Where-Object {
            $LogonXML = [xml]$_.ToXml()
            ($LogonXML.Event.EventData.Data | Where-Object {$_.Name -eq 'TargetLogonId'}).'#text' -eq $LogonId
        } | Select-Object -First 1
        
        if ($RelatedLogon) {
            [PSCustomObject]@{
                ShareAccessTime = $ShareEvent.TimeCreated
                LogonTime = $RelatedLogon.TimeCreated
                LogonId = $LogonId
                SharePath = ($ShareXML.Event.EventData.Data | Where-Object {$_.Name -eq 'ObjectName'}).'#text'
                SourceIP = ($ShareXML.Event.EventData.Data | Where-Object {$_.Name -eq 'IpAddress'}).'#text'
            }
        }
    }
  2. Analysez les schémas d'accès pour la détection d'anomalies:
    # Détecter les heures d'accès inhabituelles
    $Events = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=5140; StartTime=(Get-Date).AddDays(-30)}
    $AccessTimes = $Events | ForEach-Object {
        [PSCustomObject]@{
            Hour = $_.TimeCreated.Hour
            DayOfWeek = $_.TimeCreated.DayOfWeek
            User = ($_.ToXml() | Select-Xml -XPath "//Data[@Name='SubjectUserName']").Node.InnerText
        }
    }
    
    # Trouver l'accès en dehors des heures de bureau
    $AfterHoursAccess = $AccessTimes | Where-Object {$_.Hour -lt 8 -or $_.Hour -gt 18 -or $_.DayOfWeek -in @('Saturday','Sunday')}
    $AfterHoursAccess | Group-Object User | Sort-Object Count -Descending
  3. Exportez les données médico-légales pour une analyse externe:
    # Exporter vers CSV pour les outils d'analyse
    $ForensicData = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=5140; StartTime=(Get-Date).AddDays(-7)} | ForEach-Object {
        $EventXML = [xml]$_.ToXml()
        $EventData = $EventXML.Event.EventData.Data
        [PSCustomObject]@{
            TimeCreated = $_.TimeCreated
            EventId = $_.Id
            SubjectUserName = ($EventData | Where-Object {$_.Name -eq 'SubjectUserName'}).'#text'
            SubjectDomainName = ($EventData | Where-Object {$_.Name -eq 'SubjectDomainName'}).'#text'
            ObjectName = ($EventData | Where-Object {$_.Name -eq 'ObjectName'}).'#text'
            IpAddress = ($EventData | Where-Object {$_.Name -eq 'IpAddress'}).'#text'
            IpPort = ($EventData | Where-Object {$_.Name -eq 'IpPort'}).'#text'
            AccessMask = ($EventData | Where-Object {$_.Name -eq 'AccessMask'}).'#text'
        }
    }
    $ForensicData | Export-Csv -Path "C:\Forensics\ShareAccess_$(Get-Date -Format 'yyyyMMdd_HHmmss').csv" -NoTypeInformation
  4. Créez une analyse chronologique pour la réponse aux incidents:
    # Générer une chronologie pour un utilisateur ou une IP spécifique
    $TargetUser = "DOMAIN\username"
    $Timeline = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624,4625,5140; StartTime=(Get-Date).AddDays(-1)} | 
        Where-Object {$_.Message -like "*$TargetUser*"} | 
        Sort-Object TimeCreated | 
        Select-Object TimeCreated, Id, LevelDisplayName, @{Name='EventType';Expression={
            switch ($_.Id) {
                4624 {'Successful Logon'}
                4625 {'Failed Logon'}
                5140 {'Share Access'}
            }
        }}, Message
    $Timeline | Format-Table -Wrap
Astuce pro : Combinez l'analyse de l'événement 5140 avec les journaux de trafic réseau et les événements d'accès aux fichiers (4656, 4658) pour une enquête complète sur les incidents.

Aperçu

L'ID d'événement 5140 se déclenche chaque fois qu'un utilisateur ou un processus accède à un objet de partage réseau sur un système Windows. Cet événement d'audit de sécurité fait partie de la catégorie d'audit d'accès aux objets et fournit des informations détaillées sur qui a accédé à quelle ressource partagée, quand l'accès a eu lieu et depuis quelle source. L'événement capture à la fois les tentatives d'accès réussies et échouées aux partages réseau, ce qui le rend inestimable pour la surveillance de la sécurité, l'audit de conformité et les enquêtes judiciaires.

Cet événement apparaît dans le journal de sécurité et nécessite que l'audit d'accès aux objets soit activé via la stratégie de groupe ou la stratégie de sécurité locale. L'événement fournit des détails granulaires, y compris le compte utilisateur, le poste de travail source, le nom du partage et le type d'accès. Les administrateurs système utilisent cet événement pour suivre les tentatives d'accès non autorisées, surveiller l'exfiltration de données et garantir la conformité avec les politiques d'accès aux données.

L'événement 5140 est particulièrement critique dans les environnements traitant des données sensibles où le suivi de l'accès aux partages de fichiers est obligatoire pour la conformité réglementaire, comme les exigences HIPAA, SOX ou PCI-DSS.

Questions Fréquentes

Que signifie l'ID d'événement 5140 et quand apparaît-il ?+
L'ID d'événement 5140 indique qu'un objet de partage réseau a été accédé par un utilisateur ou un processus. Il apparaît dans le journal de sécurité chaque fois que quelqu'un se connecte à un dossier ou fichier partagé sur le réseau en utilisant le protocole SMB. Cet événement nécessite que l'audit d'accès aux objets soit activé et fournit des informations détaillées sur qui a accédé à quel partage, depuis quelle source, et quel type d'accès a été demandé. L'événement est crucial pour la surveillance de la sécurité, l'audit de conformité, et la détection d'accès non autorisés aux ressources partagées.
Comment activer la journalisation de l'ID d'événement 5140 si elle n'apparaît pas ?+
Pour activer la journalisation de l'ID d'événement 5140, vous devez configurer l'audit d'accès aux objets via la stratégie de groupe. Accédez à 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 → Accès aux objets, puis activez 'Audit du partage de fichiers' pour les événements de réussite et/ou d'échec. Vous pouvez également utiliser la commande 'auditpol /set /subcategory:"File Share" /success:enable /failure:enable' à partir d'une invite de commande avec élévation de privilèges. Après l'activation, exécutez 'gpupdate /force' pour appliquer immédiatement la stratégie.
Quelles informations sont incluses dans l'ID d'événement 5140 et comment puis-je les interpréter ?+
L'ID d'événement 5140 contient des détails complets, y compris le Sujet (compte utilisateur accédant au partage), l'Objet (nom et chemin du partage), les Informations sur le processus (ID et nom du processus), les Informations réseau (adresse IP source et port), et les Informations sur la demande d'accès (autorisations demandées via le masque d'accès). Le champ Masque d'accès utilise des valeurs hexadécimales pour indiquer les autorisations demandées : 0x1 pour ReadData, 0x2 pour WriteData, 0x4 pour AppendData, etc. Le champ Adresse source montre le système d'origine, tandis que l'ID de connexion peut être corrélé avec les événements de connexion pour un suivi complet de la session.
L'ID d'événement 5140 peut-il aider à détecter les menaces de sécurité et comment ?+
Oui, l'ID d'événement 5140 est excellent pour la détection des menaces. Il peut identifier les tentatives d'accès non autorisées, les schémas d'accès inhabituels et les potentielles exfiltrations de données. Recherchez des accès depuis des adresses IP inattendues, des accès en dehors des heures de bureau, des tentatives d'accès rapides multiples, des accès à des partages sensibles par des utilisateurs non autorisés, ou des schémas d'accès qui dévient des bases établies. La corrélation de l'événement 5140 avec les événements de connexion échouée (4625) peut révéler des attaques par force brute, tandis que des volumes ou des horaires d'accès inhabituels peuvent indiquer des outils automatisés ou une activité de malware.
Comment puis-je réduire le volume de journaux de l'ID d'événement 5140 tout en maintenant la visibilité de la sécurité ?+
Pour gérer le volume de l'Événement 5140, mettez en œuvre un audit sélectif en configurant des politiques d'audit sur des partages spécifiques de grande valeur plutôt que sur tous les partages. Utilisez l'audit de réussite pour le suivi de la conformité et l'audit d'échec pour les incidents de sécurité. Configurez des politiques de rétention des journaux et envisagez de transférer uniquement les événements critiques vers les systèmes SIEM. Vous pouvez également exclure les comptes de service de routine ou les processus de sauvegarde de l'audit s'ils créent un bruit excessif. Utilisez le filtrage PowerShell pour vous concentrer sur les événements provenant d'adresses IP externes ou en dehors des heures ouvrables, et mettez en œuvre des politiques de rotation des journaux pour gérer efficacement les exigences de stockage.
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...