1 11/04/2026 9 min

Se RDP mostra un errore di sicurezza, la prima domanda non è “come lo disattivo”, ma quale layer sta fallendo: autenticazione, TLS, NLA, certificato, policy locale, gateway o filtro di rete. In pratica, il problema nasce quasi sempre quando il client e il server non riescono a concordare un livello minimo di sicurezza oppure quando una policy recente ha irrigidito l’accesso oltre quanto il sistema supporta.

La regola giusta è semplice: prima osservi, poi tocchi. Su RDP, cambiare opzioni a caso può abbassare la sicurezza senza risolvere il guasto. Se invece isoli il punto di rottura, spesso il fix è piccolo: un certificato scaduto, NLA non compatibile, un aggiornamento che ha cambiato i cipher consentiti, oppure una regola di GPO che richiede credenziali o encryption non allineate al client.

Capire dove si rompe la catena RDP

RDP non è un singolo “servizio che risponde”, ma una catena di componenti: rete, listener, handshake TLS, Network Level Authentication, autorizzazione utente, policy di sicurezza e, in certi casi, Remote Desktop Gateway. L’errore di sicurezza compare spesso prima ancora che si veda la schermata di login, quindi il primo passo è distinguere tra connessione negata, handshake fallito e autenticazione non accettata.

Se il client mostra messaggi come “An authentication error has occurred”, “The remote computer could not be authenticated” o avvisi relativi al certificato, il sospetto principale è sul layer TLS/NLA. Se invece la sessione si apre e poi cade subito, la causa può essere nel profilo utente, nelle policy di sessione o in un problema lato server come risorse insufficienti o servizi dipendenti non pronti.

Classificazione pratica del caso

Questo va trattato come troubleshooting di sicurezza/produzione, perché l’obiettivo non è solo far tornare l’accesso, ma farlo senza ridurre il perimetro di protezione. Assume impatto utenti fino a prova contraria: se il desktop remoto serve per amministrazione o supporto, ogni modifica va considerata ad ampia visibilità operativa.

Verifiche rapide che separano il falso allarme dal guasto vero

Prima di intervenire, raccogli evidenza minima. Se non hai questi dati, stai tirando a indovinare.

  1. Verifica la raggiungibilità della porta 3389 o del gateway. Dal client esegui un controllo sintetico:
    Test-NetConnection server.example.local -Port 3389
    Atteso: TcpTestSucceeded : True. Se fallisce, il problema è rete, firewall o servizio non in ascolto, non ancora RDP “sicuro”.
  2. Controlla il tipo di errore nel client. Un messaggio di certificato indica un problema diverso rispetto a un rifiuto di NLA. Se hai accesso al prompt, prova una connessione con verbose tramite client compatibile o annota il testo esatto dell’errore: è il campo più utile per non perdere tempo.
  3. Guarda gli eventi lato server. Su Windows Server, i log chiave stanno in Event Viewer > Applications and Services Logs > Microsoft > Windows > TerminalServices-* e in Windows Logs > System. Cerca eventi di errore o warning nell’orario del tentativo.
  4. Verifica se c’è stato un cambiamento recente. Patch, hardening, GPO, cambio certificato, sostituzione di gateway o aggiornamento del client sono i trigger più frequenti. Se il problema è iniziato “da stamattina”, la correlazione temporale vale quasi quanto un log.

Se il server è raggiungibile ma il messaggio parla di autenticazione o sicurezza, la probabilità più alta è questa: NLA/TLS non allineati oppure certificato del listener scaduto o non fidato. Se invece il server non risponde proprio sulla porta, non perdere tempo su certificati o policy: prima risolvi rete e servizio.

Le tre cause più probabili, in ordine

1) NLA richiesta ma non compatibile con client, policy o credenziali. Succede quando il server impone Network Level Authentication e il client è vecchio, configurato male, o passa attraverso un componente intermedio che non gestisce bene l’handshake. Si falsifica in pochi minuti provando da un client aggiornato o verificando la policy Require user authentication for remote connections by using NLA nelle direttive locali/GPO.

2) Certificato RDP scaduto, sostituito male o non attendibile. Il listener RDP usa un certificato che il client non riconosce, oppure il certificato è stato rigenerato con un Subject/SAN incoerente rispetto al nome usato per connettersi. Si falsifica controllando il certificato assegnato al listener e la corrispondenza con il FQDN usato dal client.

3) Hardening o aggiornamento che ha ristretto TLS/cipher o alzato la sicurezza minima. Dopo un update o una GPO più severa, i client non riescono più a concordare un protocollo supportato. Si falsifica confrontando i cipher/TLS abilitati sul server con quelli del client e verificando se il problema è comparso subito dopo una modifica di sicurezza.

Intervento minimo reversibile prima di cambiare policy

La soluzione corretta è quasi sempre una di queste: allineare il certificato, correggere la policy o aggiornare il client. Quello che non va fatto come prima mossa è disattivare indiscriminatamente NLA su un server esposto. È una scorciatoia che riduce la protezione proprio nel punto più sensibile.

  1. Salva lo stato attuale delle policy RDP. Se hai accesso amministrativo al server, esporta la configurazione rilevante o annota i valori in GPO/local policy. In contesto Windows, verifica le impostazioni in gpedit.msc o tramite GPO di dominio. Obiettivo: poter tornare indietro senza ambiguità.
  2. Controlla il listener RDP e il certificato associato. Verifica in certlm.msc o nel certificato del computer locale che il certificato sia valido, non scaduto e con nome coerente. Se il certificato è errato, la correzione è meno invasiva della disattivazione di NLA.
  3. Testa con un client aggiornato e con il nome corretto. Usa il FQDN, non l’IP, se il certificato è emesso per il nome DNS. Molti errori “di sicurezza” sono in realtà mismatch tra nome richiesto e nome nel certificato.
  4. Se serve, prova temporaneamente un canale alternativo di accesso amministrativo. Console, iLO/DRAC, accesso locale o sessione già aperta. Questo non risolve la causa, ma evita di lavorare alla cieca se l’host è critico.

Se devi toccare una GPO, fallo con criterio: modifica minima, finestra di cambio, verifica immediata e rollback pronto. In un ambiente gestito, la differenza tra fix e incidente secondario è spesso tutta qui.

Quando il colpevole è NLA

NLA è utile perché sposta l’autenticazione prima della sessione grafica completa, riducendo la superficie d’attacco. Ma proprio per questo è il primo punto a rompersi quando client e server non sono allineati. Se il server richiede NLA e il client non lo supporta bene, l’errore di sicurezza appare come un rifiuto generico, non come un messaggio pulito.

La verifica più utile è confrontare la policy del server con il comportamento di un client noto buono. Se da un Windows aggiornato la connessione funziona e da un client vecchio no, hai già la diagnosi quasi chiusa. Se invece falliscono tutti, il problema è più probabilmente sul server o sulla policy centrale.

In caso di mismatch, la correzione preferibile è aggiornare il client o correggere la policy, non togliere NLA. Solo se hai un contesto isolato, non esposto e con rischio controllato, puoi valutare una deroga temporanea; in ogni caso deve essere documentata e reversibile.

Quando il colpevole è il certificato RDP

Il certificato del listener RDP è una fonte classica di falsi positivi. A volte il server continua a funzionare, ma il client avvisa che il certificato non è fidato o che il nome non corrisponde. Altre volte il certificato è proprio scaduto, oppure è stato sostituito da una procedura automatica che non ha aggiornato correttamente il binding del listener.

Qui la diagnosi si chiude controllando tre cose: validità temporale, subject/SAN e binding al servizio. Se il client usa server01.dominio.local e il certificato è emesso per rdp.dominio.local senza SAN coerente, il warning è atteso. Se il certificato è scaduto, la soluzione non è ignorare l’avviso: va rinnovato e ricollegato al listener.

In ambienti con gateway o reverse proxy RDP, il certificato può essere uno per il gateway e uno per il listener interno. Non confonderli: il problema può essere sul punto di ingresso esterno anche quando il server host è perfetto.

Quando il colpevole è TLS o il hardening

Dopo un aggiornamento di sicurezza o una baseline più rigida, può succedere che il server accetti solo versioni TLS o suite crittografiche che il client non usa. È un classico in ambienti con macchine vecchie, appliance intermedie o configurazioni ereditate. Il sintomo è spesso un errore vago di sicurezza, non un messaggio esplicito sul cipher fallito.

La verifica pratica è confrontare i parametri del sistema con gli eventi di handshake. Se hai accesso, controlla le impostazioni di Schannel e gli eventi correlati in Event Viewer. Se il problema è iniziato dopo un change di hardening, valuta il rollback selettivo della policy che ha ristretto i protocolli, non una regressione ampia di tutta la sicurezza del server.

Fix strutturale: non solo far tornare l’accesso

Una volta ripristinato l’accesso, conviene chiudere il problema alla radice. Le azioni che hanno più senso sono queste: allineare i client supportati, standardizzare il certificato RDP con FQDN stabile, gestire le policy via GPO versionata e tenere una baseline documentata dei parametri di sicurezza. Se un server RDP è critico, non può vivere di eccezioni manuali.

Dal punto di vista operativo, conviene anche monitorare tre segnali: errori di autenticazione, eventi di certificato e tentativi falliti ripetuti. Un aumento improvviso di questi indicatori spesso anticipa un blocco completo. In altre parole, l’errore “di sicurezza” non è quasi mai isolato: è l’ultima manifestazione di una disallineamento già presente.

Se gestisci più host, standardizza il controllo con una checklist: versione client, policy NLA, certificato, listener, log eventi, gateway. È un lavoro banale, ma riduce drasticamente i tempi di diagnosi quando il ticket arriva in orario critico.

Controlli finali e rollback

Prima di chiudere il ticket, verifica che la connessione funzioni con il nome corretto, che il certificato sia valido e che le policy di sicurezza siano tornate al livello atteso. Un test utile è aprire una sessione da un client “pulito” e poi controllare che gli eventi lato server non mostrino nuovi warning.

  1. Test connessione: mstsc /v:server.example.local oppure client equivalente. Atteso: accesso senza warning anomali o con warning coerenti con la policy approvata.
  2. Verifica eventi: nessun nuovo errore critico nei log TerminalServices o System nell’orario del test.
  3. Rollback: se hai modificato una GPO o una policy locale, riporta il valore precedente dal backup o dalla nota presa all’inizio; se hai sostituito un certificato, ripristina il binding precedente solo se quello nuovo è stato validato male e hai già una finestra sicura per correggere il rinnovo.

Assunzione: il server è Windows Server recente, accessibile almeno da una console amministrativa o da un canale alternativo, e l’errore riguarda una connessione RDP standard o tramite gateway.