La connessione remota a un computer o a un server può essere stabilita in diversi modi, ad esempio utilizzando applicazioni di terze parti come UltraVNC. Tuttavia, lo strumento più comune per utilizzare il Remote Desktop Protocol (RDP) è l’applicazione integrata di Microsoft chiamata Remote Desktop. In questo articolo analizziamo la storia di RDP, il suo funzionamento e come i dati vengono protetti durante la trasmissione.
Il Remote Desktop Protocol (RDP) è stato creato da Microsoft come uno dei principali metodi per accedere in remoto a computer e server. L’obiettivo iniziale era anche quello di permettere a macchine locali poco potenti di collegarsi a server più performanti per eseguire calcoli complessi. Oggi l’RDP è utilizzato soprattutto per configurare postazioni di lavoro remote.
Tappe fondamentali nello sviluppo di RDP:
1998: primo utilizzo di RDP in Windows NT 4.0 Terminal Server Edition.
È tuttora supportato in tutte le versioni di Windows, incluso Windows 11 e Windows Server 2022.
RDP continua a essere lo strumento predefinito per l’accesso remoto su Windows, nonostante l’esistenza di tecnologie alternative come VNC.
Esistono client per quasi tutti i sistemi operativi: Linux, FreeBSD, macOS, iOS, Android e altri.
La versione attuale è RDP 10, che introduce funzionalità come il ridimensionamento automatico e una migliore compressione grafica tramite il codec H.264/AVC.
Profondità di colore supportata: 32 bit e inferiori (8, 15, 16, 24 bit).
Protezione dei dati: crittografia RC4 a 128 bit.
Altre funzionalità: reindirizzamento audio, reindirizzamento stampanti e porte, condivisione degli appunti.
Citrix Systems ha avuto un ruolo chiave nello sviluppo iniziale delle tecnologie di desktop remoto. Nei primi anni ’90 sviluppò il sistema WinFrame basato su Windows NT 3.51. Nel 1997 Microsoft acquisì alcuni diritti sulle tecnologie Citrix; Citrix mantenne il protocollo ICA, mentre Microsoft sviluppò RDP basandosi sullo standard ITU T.120.
Oggi Citrix e Microsoft restano concorrenti:
Citrix si concentra su sistemi ad alte prestazioni
Microsoft domina nel segmento dei server di fascia media con Terminal Services
Vantaggi di Terminal Services:
Distribuzione semplificata delle applicazioni
Gestione centralizzata delle sessioni
Funzionalità dipendenti dalle licenze attive di Terminal Services
I prodotti Microsoft permettono l’uso del protocollo RDP in due modalità:
Remote Administration Mode
Terminal Server Mode
Supportato da tutte le versioni di Windows.
Numero massimo di connessioni simultanee:
Versioni desktop: una connessione (locale o remota)
Versioni server: due connessioni remote + una locale
Disponibile solo in Windows Server.
Vantaggi:
Numero illimitato di connessioni
Ideale per ambienti di lavoro remoti
Requisiti:
Licenze
Configurazione corretta
Impostazione del server come nodo dedicato o terminal server
Senza tali impostazioni, l’accesso non viene concesso.
L’RDP è un protocollo TCP a livello applicativo.
Funzionamento:
Connessione TCP iniziale tra le macchine
Avvio della sessione RDP nel livello di trasporto
Il terminal server invia l’immagine del desktop al client
Il client invia al server gli input di tastiera e mouse
La visualizzazione può essere inviata come bitmap renderizzata o tramite primitive grafiche.
RDP supporta diversi canali virtuali all’interno della stessa connessione, necessari per:
Stampa e comunicazione tramite porta seriale
Funzionalità degli appunti
Riproduzione e registrazione audio
I parametri dei canali vengono impostati all’avvio della connessione.
Esistono due metodi di sicurezza:
Standard RDP Security
Enhanced RDP Security
Include:
Autenticazione
Cifratura
Controllo d’integrità
La cifratura utilizza RC4 (40–168 bit, secondo la versione Windows).
Processo di autenticazione:
Il sistema genera una coppia di chiavi RSA
Viene creato un certificato proprietario
Il certificato è firmato con una chiave RSA integrata in Windows
Il certificato viene inviato al client
Una volta verificato, il server invia la propria chiave pubblica
L’integrità viene gestita tramite MAC basati su MD5 e SHA1.
È possibile usare 3DES (da Windows Server 2003, conforme FIPS).
Utilizza moduli esterni:
TLS 1.0
CredSSP
TLS è disponibile a partire da Windows Server 2003 e richiede RDP 6.0 o superiore.
TLS
Kerberos
NTLM
Vantaggi:
L’autenticazione avviene prima dell’avvio della sessione RDP (risparmio di risorse lato server)
Cifratura conforme agli standard TLS
Single Sign-On tramite Kerberos o NTLM
Si abilita tramite l’opzione Network Level Authentication (NLA), disponibile da Windows Vista/Server 2008.
L’accesso tramite thin client è molto diffuso.
È obbligatorio configurare un server licenze.
Temporary Terminal Server CAL – temporanea
Device CAL – associata al dispositivo
User CAL – associata all’utente
External User License – per utenti esterni
Valida per 90 giorni
Alla seconda connessione, il server tenta di convertire in licenza permanente
Valida 52–89 giorni
Rinnovata automaticamente con meno di 7 giorni rimanenti
L’utente può collegarsi da qualsiasi dispositivo
Terminal Services non conta le connessioni utente (comportamento noto)
Le limitazioni possono essere imposte solo a livello hardware
Per utenti esterni
Richiede un server dedicato
Molto costosa → poco utilizzata
Microsoft offre l’applicazione Remote Desktop sul Mac App Store.
Procedura:
Inserire indirizzo IP o dominio
Inserire nome utente e password
Se appare un avviso certificato → “Show Certificate” → “Always trust”
Dal lato Windows si usa la solita applicazione Remote Desktop.
Sul server Ubuntu è necessario installare il supporto RDP:
sudo apt install xrdp
Avviare/verificare il servizio:
sudo systemctl status rdp
Come client Linux, è consigliato Remmina (cambiare protocollo da VNC a RDP).
Installazione:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
sudo apt-get update
sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard
Abbiamo analizzato in dettaglio il protocollo RDP: che cos’è, come funziona e come protegge i dati trasmessi.
Un server licenze può operare in due ruoli:
Domain/Workgroup License Server – all’interno del dominio o del gruppo di lavoro
Enterprise License Server – a livello aziendale
La scelta determina il metodo di individuazione del server:
In un dominio: tramite Active Directory
In modalità enterprise: tramite richieste broadcast NetBIOS