/
/

Come monitorare le sessioni RDP impreviste con i registri degli eventi e PowerShell

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

Riepilogo

Questo post del blog NinjaOne offre un elenco completo di comandi CMD di base e un’analisi approfondita dei comandi di Windows con oltre 70 comandi cmd essenziali sia per i principianti che per gli utenti avanzati. La guida si propone si piegare in modo pratico i comandi del prompt dei comandi per la gestione dei file, la navigazione nelle directory, la risoluzione dei problemi di rete, le operazioni su disco e l’automazione, con esempi reali per migliorare la produttività. Che tu voglia imparare i comandi cmd fondamentali o padroneggiare gli strumenti avanzati della CLI di Windows, questa guida ti aiuterà a utilizzare il Prompt dei comandi in modo più efficace.

Punti chiave

  • Puoi usare il logging degli eventi di Windows e PowerShell per individuare attività nascoste o sospette del Remote Desktop Protocol (RDP).
  • Configura gli ID evento 4624 (accesso), 4634 (disconnessione) e i log TerminalServices (21, 23, 25) per tracciare tutte le attività delle sessioni RDP e rilevare gli accessi non autorizzati.
  • Usa i trigger sugli eventi di PowerShell per inviare alert in caso di attività RDP insolite, accessi falliti o tentativi di accesso fuori orario.
  • Rafforza la sicurezza degli endpoint e automatizza il monitoraggio e la risposta per RDP con la piattaforma di monitoraggio e gestione di NinjaOne.

Le sessioni di desktop remoto non autorizzate possono aprire falle di sicurezza serie, che gli strumenti di monitoraggio standard spesso non rilevano. Ti servono metodi affidabili per monitorare le sessioni RDP impreviste sfruttando le funzioni di logging integrate in Windows. PowerShell e l’analisi del registro degli eventi offrono un monitoraggio completo delle sessioni senza bisogno di software aggiuntivo, così puoi individuare le minacce potenziali prima che provochino danni.

Che cos’è il Remote Desktop Protocol?

Il Remote Desktop Protocol è lo standard di comunicazione di rete di Microsoft che ti permette di collegarti ai sistemi Windows remoti tramite un’interfaccia grafica. Per impostazione predefinita il protocollo utilizza canali crittografati sulla porta TCP 3389 e trasmette dati di visualizzazione, input da tastiera, movimenti del mouse e audio tra la tua macchina locale e il server remoto.

I fondamenti del monitoraggio delle sessioni RDP

Un monitoraggio efficace delle sessioni RDP parte da criteri di controllo di Windows configurati correttamente, dalla raccolta dei registri degli eventi e dalla definizione di una baseline che catturi tutti i dati di connessione. La tua organizzazione ha bisogno di framework di logging standardizzati che registrino gli eventi di autenticazione, le attività di sessione e le chiusure di connessione su tutti i sistemi con RDP abilitato.

Configurare il registro di controllo per gli eventi di sicurezza

Il registro eventi di sicurezza di Windows registra gli eventi di autenticazione e di sessione RDP tramite ID evento specifici che mostrano informazioni dettagliate sulla connessione, inclusi indirizzi IP di origine, account utente e timestamp. L’ID evento 4624 registra gli accessi riusciti con tipo di accesso 10 per le connessioni RDP, mentre l’ID evento 4634 documenta le disconnessioni corrispondenti alle chiusure di sessione.

Impostare un controllo completo degli accessi garantisce che tutti i tentativi di connessione RDP generino voci nel registro di sicurezza da analizzare.

Segui questi comandi per abilitare un logging di controllo corretto:

  1. Apri il Prompt dei comandi come amministratore
  2. Esegui: auditpol /set /subcategory:”Logon” /success:enable /failure:enable
  3. Verifica le impostazioni con: auditpol /get /subcategory:”Logon”
  4. Fai una prova stabilendo una connessione RDP e controllando il Visualizzatore eventi
  5. Conferma che l’ID evento 4624 compaia nei registri di sicurezza con tipo di accesso 10

Abilitare il tracciamento delle sessioni RDP nel registro degli eventi

I registri operativi TerminalServices-LocalSessionManager forniscono dati dettagliati sulla gestione delle sessioni che integrano le voci relative alle sessioni RDP nel registro eventi di sicurezza, aggiungendo dettagli sulla connessione e informazioni sullo stato della sessione. L’ID evento 21 indica l’apertura riuscita di una sessione RDP, l’ID evento 23 registra le disconnessioni e l’ID evento 25 rileva le riconnessioni quando gli utenti riprendono sessioni precedentemente disconnesse.

Considera questi passaggi di configurazione:

  1. Apri PowerShell come amministratore.
  2. Esegui: wevtutil sl Microsoft-Windows-TerminalServices-LocalSessionManager/Operational /e:true
  3. Verifica con: wevtutil gl Microsoft-Windows-TerminalServices-LocalSessionManager/Operational.
  4. Controlla nel Visualizzatore eventi la presenza della nuova origine del registro.
  5. Prova la connessione RDP per confermare che gli eventi vengano registrati.

Definire i modelli di connessione di riferimento

Definire una baseline richiede un’analisi sistematica dell’utilizzo legittimo di RDP, inclusi gli orari di connessione tipici, gli account utente autorizzati, gli indirizzi IP di origine approvati e le metriche standard sulla durata delle sessioni. L’analisi dei dati storici rivela i normali orari di accesso degli amministratori, le finestre di manutenzione di routine e i comportamenti attesi degli utenti, che fungono da parametri di confronto per rilevare le anomalie.

Conoscere i modelli RDP normali ti aiuta a individuare attività insolite che potrebbero indicare minacce alla sicurezza. Il comando Get-WinEvent -FilterHashtable @{LogName=’Security’; ID=4624; Data=’10’} estrae gli eventi di accesso RDP per l’analisi statistica e per le procedure di calcolo della baseline.

Impostare avvisi per le attività sospette

I sistemi di alert automatizzati monitorano i flussi di eventi in tempo reale alla ricerca di tentativi di accesso non autorizzati, modelli di connessione insoliti o comportamenti di sessione sospetti che richiedono un’indagine immediata. Gli script di monitoraggio basati su PowerShell valutano la frequenza delle connessioni, la reputazione degli IP di origine, i tentativi di accesso fuori orario e le sequenze di autenticazione fallite per identificare potenziali incidenti di sicurezza.

Il monitoraggio basato sugli eventi attiva notifiche immediate quando sui sistemi monitorati si verificano attività sospette nelle sessioni RDP. Il cmdlet Register-WmiEvent abilita gli alert in tempo reale per tenere il tuo team di sicurezza informato sulle minacce potenziali.

Tecniche PowerShell per ottenere le sessioni RDP

PowerShell offre funzionalità native per estrarre, filtrare e analizzare i dati sulle connessioni RDP dai registri eventi di Windows tramite cmdlet che accedono sia al registro di sicurezza sia a quello di TerminalServices.

Usare Get-WinEvent per acquisire gli eventi di connessione RDP

Il cmdlet Get-WinEvent offre un accesso completo ai registri eventi di Windows con funzioni di filtro che isolano gli eventi relativi a RDP da enormi set di dati contenenti migliaia di voci. Hashtable di filtro specifiche puntano agli ID evento rilevanti, come 4624 per gli accessi riusciti, 4625 per i tentativi falliti e gli eventi di TerminalServices che forniscono dettagli sulla gestione delle sessioni.

Le opzioni di filtro avanzate includono la specifica di intervalli temporali per recuperare le connessioni RDP recenti entro periodi definiti. Il comando Get-WinEvent -FilterHashtable @{LogName=’Security’; ID=4624; StartTime=(Get-Date).AddHours(-24)} recupera le connessioni RDP delle ultime 24 ore per l’analisi.

Filtrare e analizzare i modelli di accesso con PowerShell

L’architettura orientata agli oggetti di PowerShell consente analisi sofisticate dei dati sugli eventi RDP tramite operazioni di pipeline che ordinano, raggruppano e filtrano i record di connessione in base a più criteri contemporaneamente. Il cmdlet Where-Object filtra gli eventi in base a proprietà specifiche come indirizzi IP di origine, account utente o tipi di autenticazione corrispondenti alle connessioni RDP.

Le funzioni di analisi statistica come Group-Object e Measure-Object calcolano la frequenza delle connessioni, identificano modelli di accesso insoliti e generano report di sintesi che evidenziano possibili criticità di sicurezza. Questi cmdlet integrati trasformano i dati grezzi degli eventi in informazioni di sicurezza utilizzabili.

Creare script personalizzati per il monitoraggio delle sessioni RDP

Gli script di monitoraggio uniscono analisi del registro degli eventi, alert in tempo reale e reporting automatizzato in soluzioni PowerShell integrate che funzionano in modo continuativo senza interventi manuali. Le funzioni personalizzate racchiudono logiche di filtro complesse, routine di elaborazione dei dati e procedure di formattazione dell’output che generano report standardizzati per i team di sicurezza e il management.

Segui questo approccio di sviluppo:

  • Definisci i tuoi requisiti di monitoraggio e le soglie di alert.
  • Crea funzioni PowerShell per il filtraggio e l’analisi degli eventi.
  • Implementa meccanismi di alert tramite email o sistemi di logging.
  • Aggiungi gestione degli errori e logging per rendere affidabile lo script.
  • Testa a fondo lo script nel tuo ambiente.
  • Distribuiscilo come attività pianificata o servizio di Windows.

Monitoraggio avanzato con i comandi di Windows

Oltre alle tecniche PowerShell di base, le implementazioni di monitoraggio avanzate sfruttano comandi Windows specializzati, query WMI e API di sistema che offrono una visibilità più profonda sullo stato delle sessioni RDP monitorate e sui dettagli delle connessioni.

Classi WMI come Win32_LogonSession e Win32_NetworkLoginProfile offrono accesso programmatico a informazioni di autenticazione dettagliate, consentendo un’analisi di sicurezza completa.

Interrogare le sessioni per individuare le connessioni RDP attive

Il comando qwinsta offre visibilità immediata sullo stato attuale delle sessioni RDP, incluse connessioni attive, sessioni disconnesse e accessi alla console che indicano come viene utilizzato il sistema. Questa utility da riga di comando mostra ID di sessione, nomi utente, nomi e tipi di sessione e stati correnti, che ti aiutano a individuare connessioni attive non autorizzate da indagare subito.

L’integrazione con PowerShell tramite Invoke-Command consente di eseguire qwinsta da remoto su più sistemi, creando una visibilità centralizzata sullo stato delle sessioni RDP in tutta la tua infrastruttura.

Implementare flussi di lavoro di risposta automatizzati

I sistemi di risposta automatizzati eseguono azioni predefinite quando attività RDP sospette generano alert di sicurezza, riducendo i tempi di risposta e limitando i danni potenziali dovuti a tentativi di accesso non autorizzati. Gli script PowerShell si integrano con strumenti di sicurezza, sistemi di gestione dei ticket e piattaforme di comunicazione per orchestrare risposte coordinate alle minacce rilevate.

Linee guida da seguire:

  • Definisci le procedure di risposta per i diversi tipi di minaccia.
  • Crea funzioni PowerShell per ogni azione di risposta.
  • Integra gli strumenti di sicurezza e i sistemi di comunicazione esistenti.
  • Implementa flussi di approvazione per le risposte ad alto impatto.
  • Aggiungi logging e audit trail per tutte le azioni automatizzate.

Procedure di documentazione e reporting

Una documentazione completa raccoglie configurazioni di monitoraggio, metriche di riferimento, soglie di alert e procedure di risposta, garantendo un’implementazione coerente in tutto il tuo ambiente. Un reporting regolare offre visibilità sui modelli di utilizzo di RDP, sugli incidenti di sicurezza e sull’efficacia del sistema di monitoraggio, sostenendo gli sforzi di miglioramento continuo.

Costruire una strategia completa di monitoraggio delle sessioni RDP

La tua strategia di monitoraggio RDP ha bisogno di aggiornamenti regolari per restare efficace contro minacce in evoluzione e requisiti infrastrutturali che cambiano. Revisioni mensili delle soglie di alert, dei modelli di riferimento e delle regole di rilevamento ti aiutano ad adattarti a nuove tecniche di attacco e ai cambiamenti organizzativi. Il miglioramento continuo include l’integrazione di feed di threat intelligence, l’aggiornamento degli script PowerShell e l’ottimizzazione dei flussi di lavoro di risposta automatizzati sulla base dell’analisi degli incidenti e del feedback del team di sicurezza.

Fai il passo successivo per proteggere l’accesso RDP

Le sessioni RDP non monitorate sono un invito aperto per gli aggressori. NinjaOne Remote unisce strumenti di accesso remoto sicuri e affidabili all’interno di una piattaforma completa di monitoraggio e gestione degli endpoint, che ti permette di rilevare gli accessi non autorizzati alle sessioni remote e di rispondere più rapidamente. Inizia oggi la tua prova gratuita e riprendi il controllo prima che le minacce passino inosservate.

Guida rapida

Anche se non esiste uno script integrato pensato esattamente per questo scopo, NinjaOne mette a disposizione diversi script e funzionalità che possono aiutarti a monitorare le sessioni RDP:

1. Script relativi a RDP:

– Esiste uno script “Remote Desktop – Check Status and Port” che riporta lo stato di Desktop remoto e la porta su cui è in ascolto.
– Uno script “Search Event Log” ti consente di cercare eventi specifici nel Visualizzatore eventi in base a registro degli eventi, origine o ID evento.

2. Approccio di monitoraggio del registro degli eventi:

Puoi creare uno script personalizzato per monitorare le sessioni RDP controllando voci specifiche del registro eventi di Windows. Gli ID evento principali da tenere d’occhio sono:
– ID evento 4624 (accesso riuscito)
– ID evento 4625 (tentativo di accesso fallito)
– ID evento 4634 (disconnessione)
– ID evento 4647 (disconnessione avviata dall’utente)
– ID evento 4778 (sessione riconnessa)
– ID evento 4779 (sessione disconnessa)

3. Metodo di monitoraggio consigliato:

– Usa lo script “Search Event Log” per creare alert sugli eventi di sessione RDP imprevisti
– Filtra per condizioni specifiche come:
– Accessi da indirizzi IP imprevisti
– Accessi fuori dall’orario di lavoro
– Più tentativi di accesso falliti

Ti consigliamo di confrontarti con il tuo team di sicurezza IT per definire i criteri specifici che qualificano una sessione RDP come “imprevista”, in base alle politiche di sicurezza della tua organizzazione.

FAQs

Puoi rilevare le sessioni RDP non autorizzate usando i registri eventi di Windows e PowerShell. Abilita il logging di controllo per gli ID evento 4624 e 4634, poi analizza le voci con Get-WinEvent in PowerShell.

Gli ID evento principali per il monitoraggio di RDP sono:

  • 4624 – Accessi riusciti
  • 4625 – Tentativi di accesso falliti
  • 4634 – Eventi di disconnessione
  • 21, 23 e 25 – Eventi di TerminalServices che indicano connessioni, disconnessioni e riconnessioni.

Usa il comando Get-WinEvent per recuperare e filtrare i registri delle sessioni dal Visualizzatore eventi di Windows, poi usa comandi come Where-Object e Group-Object per analizzare i comportamenti degli utenti, gli IP di origine e la frequenza degli accessi.

Definire una baseline dell’attività RDP abituale aiuta a rilevare le anomalie. Qualsiasi scostamento dalla norma può indicare tentativi di accesso non autorizzati o credenziali compromesse.

NinjaOne contribuisce a proteggere l’accesso RDP con monitoraggio e sistema di alert in tempo reale sugli endpoint, così i team IT e di sicurezza possono individuare le attività RDP sospette e rispondere più rapidamente.

Ti potrebbe interessare anche

Pronto a semplificare le parti più complesse dell'IT?