/
/

Comment surveiller les sessions RDP inattendues avec les journaux d’événements et PowerShell

par Team Ninja
How to Monitor for Unexpected RDP Sessions Using Event Logs and PowerShell blog banner image

Points clés

Comment surveiller les sessions RDP inattendues avec les journaux d’événements et PowerShell

  • Détecter les sessions RDP non autorisées : la journalisation d’événements de Windows et PowerShell vous permettent d’identifier les activités Remote Desktop Protocol (RDP) masquées ou suspectes.
  • Activer une journalisation d’audit complète : configurez les Event ID 4624 (ouverture de session), 4634 (fermeture de session) et les journaux TerminalServices (21, 23, 25) pour suivre toute l’activité des sessions RDP et détecter les accès non autorisés.
  • Alertes automatisées sur les menaces : utilisez les déclencheurs d’événements PowerShell pour envoyer des alertes en cas d’activité RDP inhabituelle, de connexions échouées ou de tentatives d’accès en dehors des heures ouvrées.
  • Se protéger avec NinjaOne : renforcez la sécurité des terminaux et automatisez la surveillance et la réponse RDP avec la plateforme de surveillance et de gestion NinjaOne.

Les sessions de bureau à distance non autorisées peuvent créer de sérieuses failles de sécurité que les outils de surveillance classiques laissent souvent passer. Il vous faut des méthodes fiables pour surveiller les sessions RDP inattendues à l’aide des fonctions de journalisation intégrées à Windows. PowerShell et l’analyse des journaux d’événements permettent une surveillance complète des sessions sans logiciel supplémentaire, ce qui vous aide à détecter les menaces potentielles avant qu’elles ne causent des dégâts.

Qu’est-ce que le protocole Remote Desktop ?

Remote Desktop Protocol est la norme de communication réseau de Microsoft qui vous connecte à des systèmes Windows distants via une interface graphique. Par défaut, le protocole utilise des canaux chiffrés sur le port TCP 3389 et transmet les données d’affichage, les saisies clavier, les mouvements de souris et l’audio entre votre machine locale et le serveur distant.

Les bases de la surveillance des sessions RDP

Une surveillance efficace des sessions RDP commence par des stratégies d’audit Windows correctement configurées, une collecte des journaux d’événements et l’établissement d’une référence de configuration qui capture l’ensemble des données de connexion. Votre entreprise a besoin de cadres de journalisation standardisés qui enregistrent les événements d’authentification, les activités de session et les fins de connexion sur tous les systèmes où RDP est activé.

Configurer le journal d’audit pour les événements de sécurité

Le journal de sécurité Windows capture les événements d’authentification et de session RDP grâce à des Event ID précis qui livrent des informations de connexion détaillées : adresses IP sources, comptes utilisateurs et horodatages. L’Event ID 4624 enregistre les ouvertures de session réussies avec le type d’ouverture de session 10 pour les connexions RDP, tandis que l’Event ID 4634 documente les fermetures de session correspondant aux fins de session.

La mise en place d’un audit complet des ouvertures de session garantit que toutes les tentatives de connexion RDP génèrent des entrées dans le journal de sécurité, prêtes à être analysées.

Suivez ces commandes pour activer une journalisation d’audit adaptée :

  1. Ouvrez l’invite de commandes en tant qu’administrateur
  2. Exécutez : auditpol /set /subcategory:"Logon" /success:enable /failure:enable
  3. Vérifiez les paramètres avec : auditpol /get /subcategory:"Logon"
  4. Faites un test en établissant une connexion RDP, puis consultez l’observateur d’événements
  5. Confirmez que l’Event ID 4624 apparaît dans les journaux de sécurité avec le type d’ouverture de session 10

Activer le suivi des sessions RDP dans le journal d’événements

Les journaux opérationnels TerminalServices-LocalSessionManager fournissent des données détaillées de gestion des sessions qui complètent les entrées de sessions RDP du journal de sécurité avec des détails de connexion supplémentaires et des informations sur l’état des sessions. L’Event ID 21 signale l’établissement réussi d’une session RDP, l’Event ID 23 enregistre les déconnexions et l’Event ID 25 capture les reconnexions lorsque des utilisateurs reprennent une session précédemment déconnectée.

Voici les étapes de configuration à envisager :

  1. Ouvrez PowerShell en tant qu’administrateur.
  2. Exécutez : wevtutil sl Microsoft-Windows-TerminalServices-LocalSessionManager/Operational /e :true
  3. Vérifiez avec : wevtutil gl Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.
  4. Consultez l’observateur d’événements pour repérer la nouvelle source de journal.
  5. Testez une connexion RDP pour confirmer que les événements apparaissent.

Établir des schémas de connexion de référence

L’établissement d’une référence de configuration exige une analyse systématique de l’usage légitime de RDP : heures de connexion habituelles, comptes utilisateurs autorisés, adresses IP sources approuvées et durées de session standard. L’analyse des données historiques révèle les plages d’accès administrateur normales, les fenêtres de maintenance de routine et les comportements utilisateurs attendus, qui servent ensuite de points de comparaison pour la détection d’anomalies.

Bien connaître vos schémas RDP habituels vous aide à repérer les activités inhabituelles susceptibles de signaler une menace de sécurité. La commande Get-WinEvent -FilterHashtable @{LogName=’Security’; ID=4624; Data=’10’} extrait les événements d’ouverture de session RDP en vue d’une analyse statistique et du calcul de la référence.

Mettre en place des alertes sur les activités suspectes

Les systèmes d’alerte automatisés surveillent en temps réel les flux d’événements afin de repérer les tentatives d’accès non autorisées, les schémas de connexion inhabituels ou les comportements de session suspects qui nécessitent une investigation immédiate. Des scripts de surveillance PowerShell évaluent la fréquence des connexions, la réputation des IP sources, les tentatives d’accès en dehors des heures ouvrées et les séquences d’authentification échouées pour identifier d’éventuels incidents de sécurité.

La surveillance pilotée par les événements déclenche des notifications immédiates dès qu’une activité de session RDP suspecte se produit sur les systèmes surveillés. La cmdlet Register-WmiEvent rend possible cette capacité d’alerte en temps réel, qui tient votre équipe de sécurité informée des menaces potentielles.

Récupérer les sessions RDP : techniques PowerShell

PowerShell offre des capacités natives pour extraire, filtrer et analyser les données de connexion RDP des journaux d’événements Windows via des cmdlets qui accèdent aussi bien aux journaux de sécurité qu’aux journaux TerminalServices.

Utiliser Get-WinEvent pour capturer les événements de connexion RDP

La cmdlet Get-WinEvent donne un accès complet aux journaux d’événements Windows, avec des capacités de filtrage qui isolent les événements liés à RDP au sein de volumes de journaux contenant des milliers d’entrées. Des tables de hachage de filtrage précises ciblent les Event ID pertinents, comme 4624 pour les ouvertures de session réussies, 4625 pour les tentatives échouées et les événements TerminalServices qui détaillent la gestion des sessions.

Les options de filtrage avancées permettent de spécifier des plages horaires pour récupérer les connexions RDP récentes sur une période donnée. La commande Get-WinEvent -FilterHashtable @{LogName=’Security’; ID=4624; StartTime=(Get-Date).AddHours(-24)} récupère les connexions RDP des dernières 24 heures pour analyse.

Filtrer et analyser les schémas de connexion avec PowerShell

L’architecture orientée objet de PowerShell permet une analyse fine des données d’événements RDP grâce à des opérations de pipeline qui trient, regroupent et filtrent les enregistrements de connexion selon plusieurs critères simultanément. La cmdlet Where-Object filtre les événements selon des propriétés précises : adresses IP sources, comptes utilisateurs ou types d’authentification correspondant aux connexions RDP.

Des fonctions d’analyse statistique comme Group-Object et Measure-Object calculent les fréquences de connexion, identifient les schémas d’accès inhabituels et génèrent des rapports de synthèse qui mettent en évidence les problèmes de sécurité potentiels. Ces cmdlets intégrées transforment des données d’événements brutes en renseignements de sécurité exploitables.

Créer des scripts de surveillance des sessions RDP sur mesure

Les scripts de surveillance réunissent analyse des journaux d’événements, alertes en temps réel et reporting automatisé dans des solutions PowerShell unifiées qui fonctionnent en continu, sans intervention manuelle. Des fonctions personnalisées encapsulent la logique de filtrage complexe, les routines de traitement des données et les procédures de mise en forme des résultats, afin de produire des rapports standardisés pour les équipes de sécurité et la direction.

Suivez cette approche de développement :

  • Définissez vos besoins de surveillance et vos seuils d’alerte.
  • Créez des fonctions PowerShell pour le filtrage et l’analyse des événements.
  • Mettez en place des mécanismes d’alerte via l’e-mail ou des systèmes de journalisation.
  • Ajoutez une gestion des erreurs et une journalisation pour fiabiliser le script.
  • Testez le script en profondeur dans votre environnement.
  • Déployez-le sous forme de tâche planifiée ou de service Windows.

Surveillance avancée avec les commandes Windows

Au-delà des techniques PowerShell de base, les implémentations de surveillance avancées s’appuient sur des commandes Windows spécialisées, des requêtes WMI et des API système qui offrent une visibilité plus fine sur l’état des sessions RDP surveillées et les détails de connexion.

Des classes WMI comme Win32_LogonSession et Win32_NetworkLoginProfile donnent un accès programmatique à des informations d’authentification détaillées, utiles pour une analyse de sécurité complète.

Interroger les sessions RDP actives

La commande qwinsta offre une visibilité immédiate sur l’état actuel des sessions RDP : connexions actives, sessions déconnectées et ouvertures de session console qui révèlent les usages du système. Cet utilitaire en ligne de commande affiche les ID de session, les noms d’utilisateurs, les noms de session, les types de session et les états en cours, ce qui vous aide à identifier les connexions actives non autorisées à examiner sans délai.

L’intégration à PowerShell via Invoke-Command permet d’exécuter qwinsta à distance sur plusieurs systèmes, pour une visibilité centralisée sur l’état des sessions RDP dans toute votre infrastructure.

Mettre en place des workflows de réponse automatisés

Les systèmes de réponse automatisés exécutent des actions prédéfinies dès que des activités RDP suspectes déclenchent des alertes de sécurité, ce qui réduit les délais de réaction et limite les dégâts potentiels liés aux tentatives d’accès non autorisées. Des scripts PowerShell s’intègrent aux outils de sécurité, aux systèmes de gestion des tickets et aux plateformes de communication pour orchestrer des réponses coordonnées face aux menaces détectées.

Quelques recommandations à suivre :

  • Définissez des procédures de réponse pour chaque type de menace.
  • Créez une fonction PowerShell pour chaque action de réponse.
  • Intégrez vos outils de sécurité et systèmes de communication existants.
  • Mettez en place des workflows de validation pour les réponses à fort impact.
  • Ajoutez une journalisation et des pistes d’audit pour toutes les actions automatisées.

Procédures de documentation et de reporting

Une documentation complète consigne les configurations de surveillance, les métriques de référence, les seuils d’alerte et les procédures de réponse, ce qui garantit une implémentation homogène dans tout votre environnement. Un reporting régulier apporte de la visibilité sur les usages de RDP, les incidents de sécurité et l’efficacité du système de surveillance, et alimente ainsi vos efforts d’amélioration continue.

Construire une stratégie complète de surveillance des sessions RDP

Votre stratégie de surveillance RDP doit être mise à jour régulièrement pour rester efficace face à des menaces qui évoluent et à des besoins d’infrastructure qui changent. Des revues mensuelles des seuils d’alerte, des schémas de référence et des règles de détection vous aident à vous adapter aux nouvelles techniques d’attaque et aux évolutions internes. L’amélioration continue passe par l’intégration de flux de renseignements sur les menaces, la mise à jour des scripts PowerShell et l’affinage des workflows de réponse automatisés, en s’appuyant sur l’analyse des incidents et les retours de l’équipe de sécurité

Passez à l’étape suivante pour sécuriser les accès RDP

Des sessions RDP non surveillées, c’est une invitation ouverte aux attaquants. NinjaOne vous apporte la surveillance et la gestion des terminaux nécessaires pour détecter et couper rapidement les accès à risque. Commencez votre essai gratuit dès aujourd’hui et reprenez le contrôle avant que les menaces ne passent entre les mailles du filet.

Guide de démarrage rapide

Il n’existe pas de script intégré conçu exactement pour cet usage, mais NinjaOne propose plusieurs scripts et fonctionnalités qui peuvent vous aider à surveiller les sessions RDP :

1. Scripts liés à RDP :

– Un script « Remote Desktop, Check Status and Port » indique l’état du bureau à distance et le port sur lequel il écoute.
, Un script « Search Event Log » vous permet de rechercher des événements précis dans l’observateur d’événements, par journal d’événements, par source ou par Event ID.

2. Approche par surveillance du journal d’événements :

Vous pouvez créer un script personnalisé pour surveiller les sessions RDP en examinant des entrées précises du journal d’événements Windows. Les principaux Event ID à suivre sont les suivants :
, Event ID 4624 (connexion réussie)
, Event ID 4625 (tentative de connexion échouée)
, Event ID 4634 (fermeture de session)
, Event ID 4647 (fermeture de session à l’initiative de l’utilisateur)
, Event ID 4778 (session reconnectée)
, Event ID 4779 (session déconnectée)

3. Méthode de surveillance recommandée :

– Utilisez le script « Search Event Log » pour créer des alertes sur les événements de session RDP inattendus
, Filtrez selon des conditions précises, par exemple :
, connexions depuis des adresses IP inattendues
, connexions en dehors des heures ouvrées
, tentatives de connexion échouées répétées

Nous vous recommandons de travailler avec votre équipe de sécurité informatique pour définir les critères précis d’une session RDP « inattendue », en fonction des politiques de sécurité de votre entreprise.

FAQs

Vous pouvez détecter les sessions RDP non autorisées grâce aux journaux d’événements Windows et à PowerShell. Activez la journalisation d’audit pour les Event ID 4624 et 4634, puis analysez les entrées avec Get-WinEvent dans PowerShell.

Les principaux Event ID à surveiller pour RDP sont les suivants :

  • 4624, ouvertures de session réussies
  • 4625, tentatives d’ouverture de session échouées
  • 4634, fermetures de session
  • 21, 23 et 25, événements TerminalServices indiquant les connexions, déconnexions et reconnexions.

Pour surveiller les connexions RDP avec PowerShell, utilisez la commande Get-WinEvent afin de récupérer et filtrer les journaux de session depuis l’observateur d’événements Windows. Vous pouvez aussi utiliser des commandes comme Where-Object et Group-Object pour analyser les habitudes des utilisateurs, les IP sources et la fréquence des connexions.

Établir une référence de l’activité RDP normale aide à détecter les anomalies. Tout écart par rapport à l’ordinaire peut signaler une tentative d’accès non autorisée ou des identifiants compromis.

NinjaOne aide à sécuriser les accès RDP en renforçant la sécurité grâce à la surveillance RDP automatisée, aux alertes en temps réel et à la réponse aux incidents.

You might also like

Prêt à simplifier les aspects les plus complexes de l'informatique et de la sécurité ?