/
/

Come controllare la cronologia delle connessioni a Remote Desktop e creare una linea temporale pronta per gli audit

di Grant Funtila, Technical Writer   |  
translated by Sergio Oricci
Controllare la cronologia delle connessioni a Remote Desktop

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

  • Conosci le tue fonti di log: Windows registra l’attività RDP nei log di sicurezza, nei log operativi TerminalServices-LocalSessionManager e nei log operativi TerminalServices-RemoteConnectionManager.
  • Utilizza gli ID evento corretti: 1149 (connessione di rete), 4624/4625 (accesso riuscito/fallito), 21–25, 39 e 40 (ciclo di vita della sessione) e 4778/4779 (riconnessione/disconnessione).
  • Esportazioni di script con Get-WinEvent: Utilizza il comando “Get-WinEvent” di PowerShell con l’opzione “-FilterHashtable” per estrarre ed esportare in formato CSV gli eventi RDP dai log di sicurezza, LSM e RCM.
  • Crea cronologie delle sessioni mettendo in relazione gli eventi: Abbina l’evento 1149 all’evento 4624 (con una tolleranza di ±1 minuto) per associare una connessione a un utente autenticato e a un indirizzo IP di origine.
  • Integra i log del server con gli artefatti lato client: La chiave di registro “HKCUSoftwareMicrosoftTerminal Server ClientDefault” registra le destinazioni RDP contattate di recente quando si utilizza mstsc.exe.
  • Conservazione e centralizzazione dei log: Aumenta la dimensione del log di sicurezza oltre il valore predefinito, archivia i log prima del rollover e utilizza Windows Event Forwarding o un sistema SIEM per centralizzare i dati RDP.

Il protocollo RDP (Remote Desktop Protocol) lascia tracce nei log di Windows. La sfida consiste nel distinguere le sessioni interattive remote dagli accessi tramite console e nel ricomporre gli eventi in un’unica narrazione. Questo articolo fornirà gli ID degli eventi, i filtri e un semplice modello di correlazione, oltre a risorse lato client e consigli pratici tratti dall’analisi forense sul campo e dalle guide amministrative.

Quali file di log di Windows registrano l’attività RDP?

Sono rilevanti tre canali dedicati agli eventi:

  • Il log di sicurezza (eventi di autenticazione 4624, 4625, 4634, 4647, 4778, 4779),
  • il log “TerminalServices-LocalSessionManager/Operational” (eventi relativi al ciclo di vita della sessione 21–25, 39, 40) e
  • il log “TerminalServices-RemoteConnectionManager/Operational” (evento di connessione pre-autenticazione 1149).

Ogni canale rileva una fase diversa di una connessione RDP — contatto di rete, autenticazione e gestione della sessione attiva — e per ottenere una cronologia completa dei controlli è necessario disporre di tutti e tre.

Verifica della cronologia delle connessioni dal desktop e creazione di una linea temporale

Per verificare la cronologia delle connessioni dei computer desktop e creare una linea temporale è necessario mappare le fonti degli eventi, estrarre la cronologia, correlare gli eventi in sessioni, rilevare gli errori, aggiungere artefatti, centralizzare e conservare i dati, nonché analizzare i risultati.

📌 Prerequisiti:

  • Un amministratore locale o figura equivalente sui sistemi di destinazione
  • PowerShell: Accesso remoto o accesso diretto a Visualizza eventi
  • Un sistema centrale o SIEM per archiviare i file esportati ed eseguire i log
  • Inoltro opzionale degli eventi di Windows per evitare lacune dovute al rollover dei log

Fase 1: Mappare le fonti degli eventi

📌 Caso d’uso: Devi identificare quali canali di eventi di Windows registrano gli eventi di autenticazione e quali forniscono il contesto della sessione RDP e della connessione ai fini dell’analisi.

  1. Premi la combinazione di tasti Win + R, digita “eventvwr.msc” e premi Invio.
  2. Segui il percorso:
    • Log di sicurezza delle applicazioni e dei servizi > Microsoft > Windows > TerminalServices-LocalSessionManager > Operational TerminalServices-RemoteConnectionManager > Operational
  3. Esamina gli ID degli eventi chiave in base al contesto:
    • Autenticazione (log di sicurezza): 4624, 4625, 4634, 4647
    • Connessione RDP (prima dell’accesso): 1149
    • Attività delle sessioni RDP (dopo l’accesso): 21, 22, 23, 24, 25), 39, 40
    • Riconnessione/disconnessione RDP (log di sicurezza): 4778, 4779

Nota: Gli ID evento 39 e 40 consentono di distinguere un utente che si è disconnesso formalmente (Start > Disconnetti) da uno che ha semplicemente chiuso la finestra RDP. Gli ID evento 4778 e 4779 del log di sicurezza registrano lo stesso ciclo di ricollegamento/disconnessione e includono l’indirizzo IP del client, cosa che li rende utili per l’attribuzione dell’origine.

Tabella riassuntiva di tutti gli ID evento

ID eventoLogDescrizioneStato
1149RCM/OperativoConnessione di rete stabilita (pre-autenticazione)Connessione
4624SicurezzaAccesso riuscito (filtro LogonType 10, 7, 3)Autenticazione
4625SicurezzaTentativo di accesso non riuscitoAutenticazione
4778SicurezzaLa sessione si è ricollegata a Window StationRiconnessione
4779SicurezzaSessione disconnessa da Window StationDisconnessione
21LSM/OperativoAccesso alla sessione riuscitoSessione
22LSM/OperativoNotifica di avvio di ShellSessione
23LSM/OperativoDisconnessione dalla sessione avvenuta con successoDisconnessione
24LSM/OperativoLa sessione è stata disconnessaDisconnessione
25LSM/OperativoLa riconnessione alla sessione è andata a buon fineRiconnessione
39LSM/OperativoSessione disconnessa dall’utente/amministratore (formale)Disconnessione
40LSM/OperativoSessione disconnessa con codice motivoDisconnessione
4634SicurezzaSessione disconnessaDisconnessione
4647SicurezzaDisconnessione avviata dall’utenteDisconnessione

Fase 2: Recuperare la cronologia con PowerShell

📌 Caso d’uso: Esportare gli eventi RDP rilevanti da più canali a scopo di analisi o archiviazione.

Nota: Utilizza Get-WinEvent per tutte le query relative al log eventi. Il vecchio cmdlet Get-EventLog si basa su un’API Win32 obsoleta, restituisce risultati imprecisi in alcuni casi ed è stato completamente rimosso da PowerShell 7. Tutti gli script riportati in questo articolo utilizzano Get-WinEvent in questo modo.

  1. Premi il tasto Win, digita “PowerShell”, quindi clicca su “Esegui come amministratore”.
  2. Copia e incolla il seguente script nella finestra di comando prima di premere Invio:
# Log di sicurezza (operazioni riuscite e non riuscite)

Get-WinEvent -FilterHashtable @{

LogName = 'Security'

Id = 4624,4625

StartTime = (Get-Date).AddDays(-7)

} | ForEach-Object {

$xml = [xml]$_.ToXml()

[PSCustomObject]@{

TimeCreated = $_.TimeCreated

EventID = $_.Id

LogonType = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq 'LogonType' }).'#text'

User = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq 'TargetUserName' }).'#text'

IpAddress = ($xml.Event.EventData.Data | Where-Object { $_.Name -eq 'IpAddress' }).'#text'

}

} | Export-Csv C:\Logs\SecurityEvents_WithLogonType.csv -NoTypeInformation

  1. Successivamente, utilizza il seguente script:
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" |

Export-Csv C:\Logs\LSM_Events.csv -NoTypeInformation

Fase 3: Correlare in sessioni

📌 Caso d’uso: Creare cronologie delle sessioni mettendo in relazione gli accessi degli utenti, gli indirizzi IP e la durata delle sessioni.

  1. Abbina l’evento 1149 (RCM) con l’evento 4624 (LogonType 10):
    • Effettua la correlazione in base al nome utente e al timestamp con una tolleranza di ± 1 minuto.
      Nota: Filtra anche per LogonType 7 (riconnessione a una sessione esistente) e LogonType 3 (RDP a livello di rete in determinate configurazioni). Se applichi un filtro esclusivamente sul LogonType 10, rischi di perdere gli eventi di riconnessione.
  2. Abbina LSM 22 (avvio della shell) per confermare una sessione attiva.
  3. Utilizza LSM 23 o 24 per determinare la fine della sessione.
  4. Calcola la durata della sessione utilizzando i timestamp.

Fase 4: Rilevare errori e anomalie

📌 Caso d’uso: Rilevare i tentativi di attacchi di brute force, di “credential spray” o di uso improprio degli account.

  1. Apri Visualizzatore eventi > Log di Windows > Sicurezza.
  2. A destra, clicca su Filtra log corrente…
  3. Nel campo “ID evento”, digita “4625”, quindi clicca su OK.
  4. Clicca due volte su un evento qualsiasi per aprirlo. Nella scheda “Generale” o “Dettagli”, cerca quanto segue:
    • TargetUserName (la persona di destinazione)
    • Indirizzo IP (da dove proviene)
    • Stato/Sottostato (motivo dell’errore)

Fase 5: Aggiungere artefatti

📌 Caso d’uso: Eseguire la correlazione dalla workstation dell’operatore in caso di mancanza dei log lato server.

  1. Premi Win + R, digita “regedit” e quindi premi Invio.
  2. Naviga in questa posizione:
    • HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default
  3. Sulla destra vedrai voci come MRU0, MRU1 e MRU2, che includono nomi di server o indirizzi IP. Annota gli obiettivi che ti interessano.

Nota: Le chiavi di registro HKCU\Software\Microsoft\Terminal Server Client\Default vengono popolate dallo strumento integrato “Connessione Remote Desktop” (mstsc.exe), che continua a essere supportato per le connessioni RDP dirette peer-to-peer. Se la tua organizzazione utilizza Windows App (la soluzione di Microsoft che sostituisce la vecchia app Remote Desktop Store e il client MSI, necessaria per le connessioni ad Azure Virtual Desktop, Windows 365 e Microsoft Dev Box), queste chiavi di registro potrebbero non essere presenti. In tal caso, controlla gli artefatti specifici delle app di Windows o i log di sessione nel portale di Azure o in Intune. Se la connessione RDP non è stata avviata da questa workstation o se è stato utilizzato uno strumento di accesso remoto di terze parti, questi elementi potrebbero non essere presenti, indipendentemente dal client utilizzato.

Successivamente, segui questi passaggi:

  1. Apri Esplora file.
  2. Nella barra degli indirizzi, incolla questo:
    1. %AppData%\Microsoft\Windows\Recent\AutomaticDestinations\
  3. Ordina per data di modifica.
  4. Cerca i file di grandi dimensioni o quelli più recenti. Questi dati possono essere analizzati con strumenti forensi, ma già la loro presenza e i timestamp sono di per sé indicativi.

A questo punto, segui questi passaggi:

  1. In Esplora file, vai a questo percorso:
    1. C:\Users\<username>\Documents\
  2. Nella casella di ricerca in alto a destra, digita quanto segue:
    • *.rdp
  3. Prendi nota dei nomi dei file e delle relative date di modifica

Nota: i file .rdp sono elementi opzionali presenti sul lato client e sono disponibili solo se un utente ha salvato manualmente un file di connessione RDP. La loro assenza non esclude l’utilizzo dell’RDP.

Fase 6: Centralizzare e conservare

📌 Caso d’uso: Garantire una visibilità continua e prevenire la perdita dei log.

  1. Premi Win + R, digita “eventvwr.msc” e quindi premi Invio.
  2. Vai su Log di Windows > Sicurezza.
  3. Clicca con il pulsante destro del mouse su Sicurezza e seleziona Proprietà.
  4. Imposta una dimensione massima del log più grande.
  5. Selezionare “Sovrascrivi eventi” se necessario oppure “Archivia il log quando è pieno”, quindi clicca su OK.

Nota: Non esiste una dimensione specifica consigliata per il log di sicurezza. Un approccio comune consiste nel scegliere la dimensione del log in base al volume previsto di eventi e al periodo di conservazione desiderato.

Per salvarne una copia, segui questi passaggi:

  1. In Visualizzatore eventi, clicca con il pulsante destro del mouse su Sicurezza > Salva tutti gli eventi con nome…
  2. Seleziona un percorso, per esempio C:\Logs\Security_<date>.evtx.
  3. Fai la stessa cosa per i seguenti:
    • TerminalServices-LocalSessionManager / Operational
    • TerminalServices-RemoteConnectionManager / Operational

Fase 7: Risultati operativi

📌 Caso d’uso: Trasformare i dati in azioni concrete e garantire l’integrità dei controlli.

  1. Apri ticket in caso di errori ripetuti, nuovi indirizzi IP di origine o copertura dei log mancante.
  2. Allega la cronologia alle descrizioni degli incidenti e alle revisioni trimestrali del servizio.
  3. Esamina mensilmente le registrazioni delle sessioni e le eccezioni relative all’accesso.

Best practice per la verifica e la conservazione della cronologia delle connessioni a Remote Desktop

La tabella che segue riassume le best practice da seguire quando controlli la cronologia delle connessioni a Remote Desktop:

PraticaScopoValore ottenuto
Attenzione alla sicurezza, all’LSM e all’RCMCopertura più ampiaTriage più rapido e sicuro
Filtrare per LogonType 10 e IDClassificazione correttaNetta distinzione tra RDP e console
Aggiungere eventi di pre-autenticazione e autenticazioneAttribuzione della fonteMappatura accurata degli utenti e degli indirizzi IP
Normalizzare in CSV e JSONProveAudit periodici e QBR
Inoltrare e conservare i logAffidabilitàLinee temporali disponibili all’occorrenza

NinjaOne ti aiuta a controllare la cronologia delle connessioni a Remote Desktop

Con NinjaOne puoi distribuire script di raccolta e monitoraggio in base al ruolo dei dispositivi, raccogliere e analizzare centralmente i dati dei log eventi, allegare i risultati rilevanti alla documentazione IT e configurare avvisi in grado di generare ticket in caso di condizioni significative (come picchi di guasti o attività insolite). Alcune configurazioni specifiche di Windows, come l’inoltro degli eventi, devono essere abilitate a livello di sistema operativo.

Assicurati che la cronologia RDP sia chiara

Filtri precisi e uno schema di correlazione semplice garantiscono che la cronologia RDP sia di facile consultazione. Combina gli eventi server con gli artefatti client e pianifica le esportazioni per monitorare chi si è connesso, quando e da dove; in questo modo gli artefatti saranno pronti per eventuali audit e indagini.

Argomenti correlati:

FAQs

Estrai i dati relativi a RCM 1149 e LSM 21–25 dai log operativi dei Servizi Terminal per ricostruire l’attività delle sessioni RDP. Questi eventi consentono di identificare i tentativi di connessione, l’avvio delle sessioni, le disconnessioni e i logoff, informazioni che possono essere utilizzate per ricostruire una cronologia di base anche quando i log di sicurezza non sono più disponibili.

Ordina gli eventi del gruppo 4625 in base all’IP di origine e al SubStatus. Il malfunzionamento di un’unica fonte che interessa numerosi account fa supporre un comportamento di “spray”. Un account che registra più errori provenienti da un indirizzo IP aziendale noto è solitamente dovuto a un errore dell’utente.

Utilizza RCM 1149 sul server per l’IP del client al momento della connessione e incrociare i dati con i log del firewall o della VPN che riportano le traduzioni NAT o le sessioni utente relative a quel minuto.

Tieni presente che 1149 viene eseguito prima dell’autenticazione. Se il client interrompe la connessione o l’autenticazione fallisce, non riceverai il codice 4624. Inoltre, verifica le impostazioni del criterio di audit e assicurati che il logging degli eventi di sicurezza sia abilitato e configurato in modo adeguato.

Come buona prassi generale, è consigliabile conservare i dati relativi alla cronologia per almeno 12 mesi. Se effettui analisi trimestrali, conservare i dati relativi a cinque trimestri può aiutare a individuare le tendenze su base annua. Assicurati che la conservazione dei dati sia sempre conforme ai requisiti normativi e organizzativi.

Ti potrebbe interessare anche

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