Points clés
- Connaissez vos sources de journaux : Windows consigne l’activité RDP dans le journal de sécurité, dans le journal opérationnel « TerminalServices-LocalSessionManager » et dans le journal opérationnel « TerminalServices-RemoteConnectionManager ».
- Utilisez les identifiants d’événement appropriés : 1149 (connexion réseau), 4624/4625 (connexion réussie/échouée), 21 à 25, 39 et 40 (cycle de vie de la session), et 4778/4779 (reconnexion/déconnexion).
- Exportations de scripts avec Get-WinEvent : Utilisez la commande « Get-WinEvent » de PowerShell avec l’option « -FilterHashtable » pour extraire et exporter les événements RDP des journaux de sécurité, LSM et RCM au format CSV.
- Créer des chronologies de session en mettant en corrélation les événements : Faites correspondre l’événement 1149 avec l’événement 4624 (à ±1 minute près) afin d’établir un lien entre une connexion et un utilisateur authentifié ainsi qu’une adresse IP source.
- Compléter les journaux du serveur avec des éléments provenant du côté client : La clé de registre « HKCUSoftwareMicrosoftTerminal Server ClientDefault » enregistre les cibles RDP récemment contactées lorsque le programme mstsc.exe est utilisé.
- Conservation et centralisation des journaux : Augmentez la taille du journal de sécurité au-delà de la valeur par défaut, archivez les journaux avant leur remplacement et utilisez la fonctionnalité de transfert d’événements Windows (Windows Event Forwarding) ou une solution SIEM pour centraliser les données RDP.
Le Remote Desktop Protocol (RDP) laisse des traces dans les journaux Windows. Le défi consiste à distinguer les sessions interactives à distance des connexions via la console et à rassembler ces événements pour en faire un récit cohérent. Cet article présente des identifiants d’événements, des filtres et un modèle de corrélation simple, ainsi que des éléments côté client et des conseils pratiques tirés de l’expertise informatique sur le terrain et de guides d’administration.
Quels fichiers journaux Windows enregistrent l’activité RDP ?
Trois canaux d’événements sont concernés :
- le journal de sécurité (événements d’authentification 4624, 4625, 4634, 4647, 4778, 4779),
- le journal « TerminalServices-LocalSessionManager/Operational » (événements liés au cycle de vie des sessions 21 à 25, 39 et 40), et
- le journal « TerminalServices-RemoteConnectionManager/Operational » (événement de connexion pré-authentification 1149).
Chaque canal couvre une étape différente d’une connexion RDP (établissement de la connexion réseau, authentification et gestion de la session active) et une chronologie d’audit complète nécessite les trois.
Consulter l’historique des connexions sur l’ordinateur de bureau et établir une chronologie
La vérification de l’historique des connexions sur les postes de travail et la création d’une chronologie impliquent de mapper les sources d’événements, d’extraire l’historique, de regrouper les événements en sessions, de recenser les défaillances, d’ajouter des artefacts, de centraliser et de conserver les données, ainsi que d’analyser les résultats.
📌 Conditions préalables :
- Un administrateur local ou équivalent sur les systèmes cibles
- Accès à l’Observateur d’événements ou accès à distance via PowerShell
- Un espace partagé central ou une solution SIEM pour stocker les exportations et les journaux d’exécution
- Transfert facultatif des événements Windows pour éviter les lacunes liées au renouvellement des fichiers journaux
Étape 1 : Répertorier les sources d’événements
📌 Cas d’utilisation : vous devez déterminer quels canaux d’événements Windows enregistrent les événements d’authentification et lesquels fournissent le contexte des sessions RDP et des connexions à des fins d’analyse.
- Appuyez sur Win + R, saisissez « eventvwr.msc », puis appuyez sur Entrée.
- Accédez à l’emplacement suivant :
- Journaux des applications et services > Microsoft > Windows > TerminalServices-LocalSessionManager > Operational TerminalServices-RemoteConnectionManager > Operational
- Passez en revue les identifiants d’événements clés par contexte :
- Authentification (journal de sécurité) : 4624, 4625, 4634, 4647
- Connexion RDP (avant la connexion) : 1149
- Activité des sessions RDP (après connexion) : 21, 22, 23, 24, 25, 39, 40
- Reconnexion/déconnexion RDP (journal de sécurité) : 4778, 4779
Remarque : les identifiants d’événement 39 et 40 permettent de distinguer un utilisateur qui s’est déconnecté de manière formelle (Démarrer > Se déconnecter) de celui qui a simplement fermé la fenêtre RDP. Les identifiants d’événement 4778 et 4779 du journal de sécurité enregistrent le même cycle de reconnexion/déconnexion et indiquent l’adresse IP du client, ce qui les rend utiles pour l’attribution de la source.
Tableau récapitulatif de tous les identifiants d’événement
| ID d’événement | Journal | Description | Contexte |
| 1149 | RCM/Opérationnel | Connexion réseau établie (pré-authentification) | Connexion |
| 4624 | Sécurité | Connexion réussie (filtre LogonType 10, 7, 3) | Authentification |
| 4625 | Sécurité | Tentative de connexion infructueuse | Authentification |
| 4778 | Sécurité | La session s’est reconnectée à la station Windows | Reconnexion |
| 4779 | Sécurité | Session déconnectée de la station Windows | Déconnexion |
| 21 | LSM/Opérationnel | Connexion à la session réussie | Session |
| 22 | LSM/Opérationnel | Notification de démarrage du shell | Session |
| 23 | LSM/Opérationnel | Déconnexion de la session réussie | Déconnexion |
| 24 | LSM/Opérationnel | Session interrompue | Déconnexion |
| 25 | LSM/Opérationnel | Reconnexion à la session réussie | Reconnexion |
| 39 | LSM/Opérationnel | Session déconnectée par l’utilisateur/l’administrateur (formel) | Déconnexion |
| 40 | LSM/Opérationnel | Session déconnectée avec le code de motif | Déconnexion |
| 4634 | Sécurité | Déconnexion du compte | Déconnexion |
| 4647 | Sécurité | Déconnexion initiée par l’utilisateur | Déconnexion |
Étape 2 : Récupérer l’historique avec PowerShell
📌 Cas d’utilisation : exportez les événements RDP pertinents provenant de plusieurs canaux à des fins d’analyse ou d’archivage.
Remarque : utilisez la commande Get-WinEvent pour toutes les requêtes relatives au journal des événements. L’ancienne cmdlet Get-EventLog s’appuie sur une API Win32 obsolète, renvoie des résultats inexacts dans certains cas et a été entièrement supprimée dans PowerShell 7. Tous les scripts présentés dans cet article utilisent Get-WinEvent en conséquence.
- Appuyez sur la touche Windows, saisissez « PowerShell », puis cliquez sur « Exécuter en tant qu’administrateur ».
- Copiez et collez le script suivant dans l’invite de commande avant d’appuyer sur Entrée :
# Security Log (success & failure)
|
- Puis, utilisez le script suivant :
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" |
|
Étape 3 : Regrouper en sessions
📌 Cas d’utilisation : créez des chronologies de session en associant les identifiants de connexion des utilisateurs, leurs adresses IP et la durée de leurs sessions.
- Associez l’événement 1149 (RCM) à l’événement 4624 (LogonType 10) :
- Effectuez une corrélation sur le nom d’utilisateur et l’horodatage ± 1 minute.
Remarque : filtrez également selon le LogonType 7 (reconnexion à une session existante) et le LogonType 3 (RDP au niveau du réseau dans certaines configurations). Si vous appliquez un filtre portant exclusivement sur la valeur 10 de LogonType, vous risquez de passer à côté d’événements de reconnexion.
- Effectuez une corrélation sur le nom d’utilisateur et l’horodatage ± 1 minute.
- Comparez LSM 22 (début du shell) pour vérifier qu’une session est active.
- Utilisez LSM 23 ou 24 pour déterminer la fin de la session.
- Calculez la durée de la session à l’aide des horodatages.
Étape 4 : Capturer les échecs et les anomalies
📌 Cas d’utilisation : détectez les tentatives d’attaques par force brute, de « credential spray » ou d’utilisation abusive des comptes.
- Ouvrez l’Observateur d’événements > Journaux Windows > Sécurité.
- À droite, cliquez sur « Filtrer le journal actuel… »
- Dans le champ « ID d’événement », saisissez « 4625 », puis cliquez sur OK.
- Double-cliquez sur n’importe quel événement pour l’ouvrir. Dans l’onglet « Général » ou « Détails », recherchez les éléments suivants :
- TargetUserName (la personne visée)
- IpAddress (provenance)
- Status/SubStatus (raison de l’échec)
Étape 5 : Ajouter des artefacts
📌 Cas d’utilisation : effectuez une corrélation depuis le poste de travail de l’opérateur lorsque les journaux côté serveur sont manquants.
- Appuyez sur Win + R, saisissez « regedit », puis appuyez sur Entrée.
- Accédez à cet emplacement :
- HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default
- À droite, vous verrez des entrées telles que MRU0, MRU1 et MRU2, qui contiennent des noms de serveurs ou des adresses IP. Notez les cibles qui comptent vraiment.
Remarque : les clés de registre HKCU\Software\Microsoft\Terminal Server Client\Default sont renseignées par l’outil intégré « Connexion Bureau à distance » (mstsc.exe), qui reste pris en charge pour les connexions RDP directes de pair à pair. Si votre entreprise utilise l’application Windows App (qui remplace l’ancienne application Remote Desktop Store et le client MSI de Microsoft, et qui est requise pour les connexions à Azure Virtual Desktop, Windows 365 et Microsoft Dev Box), il se peut que ces clés de registre ne soient pas présentes. Dans ce cas, vérifiez les artefacts spécifiques aux applications Windows ou les journaux de session dans le portail Azure ou dans Intune. Si la connexion RDP n’a pas été lancée depuis ce poste de travail ou si un outil d’accès à distance tiers a été utilisé, ces traces peuvent ne pas être présentes, quel que soit le client.
Ensuite, suivez les étapes ci-dessous :
- Ouvrez l’explorateur de fichiers.
- Dans la barre d’adresse, collez ceci :
- %AppData%\Microsoft\Windows\Recent\AutomaticDestinations\
- Triez par « Date de modification ».
- Recherchez les fichiers volumineux ou récents. Ces données peuvent être analysées à l’aide d’outils d’investigation, mais leur simple présence et leurs horodatages sont déjà révélateurs.
Suivez ensuite les étapes ci-dessous :
- Dans l’Explorateur de fichiers, accédez à l’emplacement suivant :
- C:\Utilisateurs\<nom d’utilisateur>\Documents\
- Dans le champ de recherche situé en haut à droite, saisissez ce qui suit :
- *.rdp
- Notez les noms des fichiers et leurs dates de modification
Remarque : les fichiers .rdp sont des éléments facultatifs côté client et ne sont présents que si un utilisateur a enregistré manuellement un fichier de connexion RDP. Leur absence n’empêche pas l’utilisation du RDP.
Étape 6 : Centraliser et conserver
📌 Cas d’utilisation : garantissez une visibilité en continu et éviter toute perte de journaux.
- Appuyez sur Win + R, saisissez « eventvwr.msc », puis appuyez sur Entrée.
- Accédez à « Journaux Windows > Sécurité ».
- Faites un clic droit sur « Sécurité » et sélectionnez « Propriétés ».
- Définissez une taille maximale plus importante pour le fichier journal.
- Sélectionnez « Remplacer les événements » si nécessaire ou « Archiver le journal lorsqu’il est plein », puis cliquez sur OK.
Remarque : il n’y a pas de taille recommandée pour le journal de sécurité. Une approche courante consiste à dimensionner le fichier journal en fonction du volume d’événements prévu et de la durée de conservation souhaitée.
Pour enregistrer une copie, procédez comme suit :
- Dans l’Observateur d’événements, faites un clic droit sur « Sécurité » > « Enregistrer tous les événements sous… »
- Sélectionnez un emplacement, par exemple C:\Logs\Security_<date>.evtx.
- Faites de même pour les éléments suivants :
- TerminalServices-LocalSessionManager / Operational
- TerminalServices-RemoteConnectionManager / Operational
7ème étape : Résultats opérationnels
📌 Cas d’utilisation : transformez les données en actions concrètes tout en préservant l’intégrité des audits.
- Ouvrez des tickets en cas d’échecs répétés, de nouvelles adresses IP sources ou de couverture insuffisante des journaux.
- Joignez le calendrier aux comptes rendus d’incidents et aux bilans trimestriels des services.
- Tous les mois, examinez les données relatives à l’enregistrement des sessions ainsi que les exceptions en matière d’accès.
Bonnes pratiques en matière d’audit et de conservation de l’historique des connexions à distance
Le tableau ci-dessous résume les bonnes pratiques à respecter lors de la vérification de l’historique des connexions au bureau à distance :
| Bonne pratique | Action | Valeur apportée |
| Priorité à la sécurité, au LSM et au RCM | Couverture plus étendue | Un triage plus rapide et plus sûr |
| Filtrer par LogonType 10 et identifiants | Classification correcte | Distinction claire entre RDP et la console |
| Ajouter les événements « pre-auth » et « auth » | Attribution de la source | Mappage précis entre les utilisateurs et les adresses IP |
| Standardiser au format CSV et JSON | Preuve | Audits récurrents et QBR |
| Transmettre et conserver les journaux | Fiabilité | Calendriers disponibles en cas de besoin |
NinjaOne vous aide à consulter l’historique de vos connexions à distance
Avec NinjaOne, vous pouvez déployer des scripts de collecte et de surveillance en fonction du rôle de chaque appareil, collecter et analyser de manière centralisée les données des journaux d’événements, joindre les conclusions pertinentes à la documentation informatique et configurer des alertes capables de créer des tickets en cas de situations notables (telles que des pics de pannes ou une activité inhabituelle). Certaines configurations spécifiques à Windows, telles que le transfert d’événements, doivent être activées au niveau du système d’exploitation.
Veillez à ce que l’historique de vos connexions RDP soit clair et simple
Des filtres précis et un modèle de corrélation simple vous garantissent que votre historique RDP est clair et précis. Associez les événements serveur aux artefacts client et programmez des exportations afin de savoir qui s’est connecté, quand et depuis où, ce qui permet également de préparer les artefacts en vue d’audits et d’enquêtes.
Articles connexes :
- Qu’est-ce que le protocole RDP (Remote Desktop Protocol) ?
- Activer ou désactiver le protocole RDP (Remote Desktop Protocol) sur les postes de travail à l’aide de PowerShell
- Comment configurer les utilisateurs du Bureau à distance sous Windows
- Comment surveiller les sessions RDP inattendues à l’aide des journaux d’événements et de PowerShell
- Bonnes pratiques pour sécuriser l’accès au Bureau à distance dans les environnements PME
