Protocollo desktop remoto - Remote Desktop Protocol

Remote Desktop Protocol ( RDP ) è un protocollo proprietario sviluppato da Microsoft che fornisce all'utente un'interfaccia grafica per connettersi a un altro computer tramite una connessione di rete. L'utente utilizza il software client RDP per questo scopo, mentre l'altro computer deve eseguire il software server RDP.

Esistono client per la maggior parte delle versioni di Microsoft Windows (incluso Windows Mobile ), Linux , Unix , macOS , iOS , Android e altri sistemi operativi . I server RDP sono integrati nei sistemi operativi Windows; esiste anche un server RDP per Unix e OS X. Per impostazione predefinita, il server è in ascolto sulla porta TCP 3389 e sulla porta UDP 3389.

Microsoft attualmente fa riferimento al proprio software client RDP ufficiale come Connessione desktop remoto , precedentemente "Client Servizi terminal".

Il protocollo è un'estensione del protocollo di condivisione dell'applicazione ITU-T T.128 . Microsoft rende pubbliche alcune specifiche sul proprio sito web.

Storia

Ogni versione di Microsoft Windows da Windows XP in poi include un client Remote Desktop Connection (RDC) ("Terminal Services") installato ( mstsc.exe ) la cui versione è determinata da quella del sistema operativo o dall'ultimo Service Pack di Windows applicato. Il server Servizi terminal è supportato come funzionalità ufficiale su Windows NT 4.0 Terminal Server Edition , rilasciato nel 1998, Windows 2000 Server , tutte le edizioni di Windows XP eccetto Windows XP Home Edition, Windows Server 2003 , Windows Home Server , su Windows Fundamentals for Legacy PC , nelle edizioni Windows Vista Ultimate, Enterprise e Business, Windows Server 2008 e Windows Server 2008 R2 e su Windows 7 Professional e versioni successive.

Microsoft fornisce il client necessario per la connessione alle versioni RDP più recenti per i sistemi operativi di livello inferiore. Poiché i miglioramenti del server non sono disponibili di livello inferiore, le funzionalità introdotte con ogni versione RDP più recente funzionano solo su sistemi operativi di livello inferiore quando ci si connette a un server RDP di versione superiore da questi sistemi operativi precedenti e non quando si utilizza il server RDP nel sistema operativo precedente.

Versione 4.0

Basato sul protocollo di condivisione dell'applicazione ITU-T T.128 (durante la bozza noto anche come "T.share") dalla serie di raccomandazioni T.120 , la prima versione di RDP (denominata versione 4.0) è stata introdotta da Microsoft con "Terminal Services ", come parte del loro prodotto Windows NT 4.0 Server, Terminal Server Edition. La Terminal Services Edition di NT 4.0 si basava sulla tecnologia MultiWin di Citrix , precedentemente fornita come parte di Citrix WinFrame su Windows NT 3.51, per supportare più utenti e sessioni di accesso contemporaneamente. Microsoft ha richiesto a Citrix di concedere in licenza la propria tecnologia MultiWin a Microsoft per poter continuare a offrire il proprio prodotto di servizi terminal, quindi denominato Citrix MetaFrame, su Windows NT 4.0. Le DLL fornite da Citrix incluse in Windows NT 4.0 Terminal Services Edition hanno ancora un copyright Citrix piuttosto che un copyright Microsoft. Le versioni successive di Windows hanno integrato direttamente il supporto necessario. La tecnologia di condivisione delle applicazioni T.128 è stata acquisita da Microsoft dallo sviluppatore di software del Regno Unito Data Connection Limited .

Versione 5.0

Questa versione è stata introdotta con Windows 2000 Server , ha aggiunto il supporto per una serie di funzionalità, inclusa la stampa su stampanti locali, e mirava a migliorare l'utilizzo della larghezza di banda della rete.

Versione 5.1

Questa versione è stata introdotta con Windows XP Professional e includeva il supporto per colori e suoni a 24 bit. Il client è disponibile per Windows 2000 , Windows 9x , Windows NT 4.0 . Con questa versione, il nome del client è stato modificato da Terminal Services Client a Remote Desktop Connection ; l'eredità rimane fino ad oggi, tuttavia, poiché l'eseguibile sottostante è ancora denominato mstsc.exe .

Versione 5.2

Questa versione è stata introdotta con Windows Server 2003 , includeva il supporto per le connessioni in modalità console, una directory di sessione e la mappatura delle risorse locali. Introduce inoltre Transport Layer Security (TLS) 1.0 per l'autenticazione del server e per crittografare le comunicazioni del server terminal. Questa versione è integrata in Windows XP Professional x64 Edition e Windows Server 2003 x64 e x86 Edition.

Versione 6.0

Questa versione è stata introdotta con Windows Vista e incorporava il supporto per le applicazioni Windows Presentation Foundation , l' autenticazione a livello di rete , lo spanning multi-monitor e il supporto per desktop di grandi dimensioni e le connessioni TLS 1.0 . Il client versione 6.0 è disponibile per Windows XP SP2, Windows Server 2003 SP1/SP2 (edizioni x86 e x64) e Windows XP Professional x64 Edition. Microsoft Remote Desktop Connection Client per Macintosh OS X è disponibile anche con supporto per Intel e PowerPC Mac OS versioni 10.4.9 e successive.

Versione 6.1

Questa versione è stata rilasciata nel febbraio 2008 ed è inclusa in Windows Server 2008 e in Windows Vista Service Pack 1. Il client è incluso in Windows XP SP3. Oltre alle modifiche relative al modo in cui un amministratore remoto si connette alla "console", questa versione ha nuove funzionalità introdotte in Windows Server 2008, come la connessione remota a singoli programmi e un nuovo sistema di reindirizzamento della stampante lato client che rende le capacità di stampa del client disponibile per le applicazioni in esecuzione sul server, senza dover installare i driver di stampa sul server anche d'altra parte, l'amministratore remoto può installare, aggiungere/rimuovere liberamente qualsiasi software o impostazione sul lato client. Tuttavia, per avviare una sessione di amministrazione remota, è necessario essere membri del gruppo Administrators sul server a cui si sta tentando di connettersi.

Versione 7.0

Questa versione è stata rilasciata alla produzione nel luglio 2009 ed è inclusa in Windows Server 2008 R2, nonché in Windows 7 . Con questa release, cambiato anche dal Terminal Services di Servizi Desktop remoto . Questa versione ha nuove funzioni come il reindirizzamento di Windows Media Player, l'audio bidirezionale, il supporto multi-monitor, il supporto del vetro Aero, l'accelerazione bitmap avanzata, il reindirizzamento Easy Print, l' aggancio della barra della lingua . Il client RDP 7.0 è disponibile su Windows XP SP3 e Windows Vista SP1/SP2 tramite KB969084. Il client RDP 7.0 non è ufficialmente supportato nelle edizioni Windows Server 2003 x86 e Windows Server 2003 / Windows XP Professional x64.

La maggior parte delle funzionalità di RDP 7.0 come l'uso remoto del vetro Aero, l'audio bidirezionale, il reindirizzamento di Windows Media Player, il supporto di più monitor e Remote Desktop Easy Print sono disponibili solo nelle edizioni Windows 7 Enterprise o Ultimate.

Versione 7.1

La versione 7.1 di RDP è stata inclusa con Windows 7 Service Pack 1 e Windows Server 2008 R2 SP1 nel 2010. Ha introdotto RemoteFX , che fornisce supporto per GPU virtualizzate e codifica lato host.

Versione 8.0

Questa versione è stata rilasciata in Windows 8 e Windows Server 2012 . Questa versione ha nuove funzioni come Adaptive Graphics (rendering progressivo e tecniche correlate), selezione automatica di TCP o UDP come protocollo di trasporto, supporto multi touch , supporto DirectX 11 per vGPU, reindirizzamento USB supportato indipendentemente dal supporto vGPU, ecc. qualità" viene visualizzato nella barra di connessione del client RDP per le connessioni RDP 8.0; facendo clic su di esso vengono fornite ulteriori informazioni sulla connessione, incluso se UDP è in uso o meno.

I componenti client e server RDP 8.0 sono disponibili anche come add-on per Windows 7 SP1. Il client RDP 8.0 è disponibile anche per Windows Server 2008 R2 SP1, ma i componenti server non lo sono. Il componente aggiuntivo richiede l' installazione del protocollo DTLS come prerequisito. Dopo aver installato gli aggiornamenti, per abilitare il protocollo RDP 8.0 tra i computer Windows 7, è necessario un passaggio di configurazione aggiuntivo utilizzando l' editor Criteri di gruppo .

Una nuova funzionalità in RDP 8.0 è il supporto limitato per l'annidamento delle sessioni RDP; funziona solo per Windows 8 e Server 2012, tuttavia, Windows 7 e Server 2008 R2 (anche con l'aggiornamento RDP 8.0) non supportano questa funzionalità.

La funzione "ombra" di RDP 7, che consentiva a un amministratore di monitorare (snoop) su una connessione RDP, è stata rimossa in RDP 8. Anche la funzione di comunicazione remota Aero Glass (applicabile a macchine Windows 7 che si connettono tra loro) è stata rimossa in PSR 8.

Versione 8.1

Questa versione è stata rilasciata con Windows 8.1 e Windows Server 2012 R2 . Esiste anche un aggiornamento client RDP 8.1 per Windows 7 SP1, ma a differenza dell'aggiornamento RDP 8.0 per Windows 7, non aggiunge un componente server RDP 8.1 a Windows 7. Inoltre, se si desidera la funzione server RDP 8.0 su Windows 7, il L'aggiornamento KB 2592687 (componenti client e server RDP 8.0) deve essere installato prima di installare l'aggiornamento RDP 8.1.

Il supporto per lo shadowing della sessione è stato aggiunto di nuovo nella versione RDP 8.1. Questa versione corregge anche alcuni problemi visivi con Microsoft Office 2013 durante l'esecuzione come RemoteApp .

La versione 8.1 del RDP abilita anche una modalità "amministratore con restrizioni". L'accesso a questa modalità richiede solo la conoscenza della password con hash, piuttosto che del suo testo in chiaro , rendendo quindi possibile l' attacco dell'hash . Microsoft ha rilasciato un documento di 82 pagine che spiega come mitigare questo tipo di attacco.

Versione 10.0

La versione 10.0 di RDP include le seguenti nuove funzionalità: AutoSize zoom (utile per i client HiDPI). Inoltre, sono stati inclusi miglioramenti alla compressione grafica utilizzando H.264/AVC.

Caratteristiche

  • Supporto del colore a 32 bit. Sono supportati anche i colori a 8, 15, 16 e 24 bit.
  • Crittografia a 128 bit, utilizzando l' algoritmo di crittografia RC4 , a partire dalla versione 6. Supporto TLS dalla versione 5.2.
  • Il reindirizzamento audio consente agli utenti di elaborare l'audio su un desktop remoto e di reindirizzare l'audio al computer locale.
  • Il reindirizzamento del file system consente agli utenti di utilizzare i propri file locali su un desktop remoto all'interno della sessione del terminale.
  • Reindirizzamento stampante consente agli utenti di utilizzare la propria stampante locale all'interno della sessione del terminale come farebbero con una stampante locale o condivisa in rete.
  • Il reindirizzamento delle porte consente alle applicazioni in esecuzione all'interno della sessione del terminale di accedere direttamente alle porte seriali e parallele locali.
  • Il computer remoto e il computer locale possono condividere gli appunti.

Microsoft ha introdotto le seguenti funzionalità con il rilascio di RDP 6.0 nel 2006:

  • Windows senza soluzione di continuità: le applicazioni remote possono essere eseguite su una macchina client servita da una connessione Desktop remoto. È disponibile dal RDP 6.
  • Programmi remoti: pubblicazione di applicazioni con associazioni di tipi di file lato client.
  • Gateway Servizi terminal: consente di utilizzare un server IIS front-end per accettare connessioni (sulla porta 443 ) per server Servizi terminal back-end tramite una connessione https , simile a come RPC su https consente ai client Outlook di connettersi a un terminare il server Exchange 2003. Richiede Windows Server 2008 .
  • Autenticazione a livello di rete
  • Supporto per la gestione remota del tema Aero Glass (o desktop composto), inclusa la tecnologia di livellamento dei caratteri ClearType .
  • Supporto per le applicazioni remote di Windows Presentation Foundation : i client compatibili che supportano .NET Framework 3.0 possono visualizzare gli effetti completi di Windows Presentation Foundation su un computer locale.
  • Riscrittura del reindirizzamento del dispositivo per essere più generico, consentendo l'accesso a una maggiore varietà di dispositivi.
  • Completamente configurabile e scriptabile tramite Strumentazione gestione Windows .
  • Ottimizzazione della larghezza di banda migliorata per i client RDP.
  • Supporto per Transport Layer Security (TLS) 1.0 su entrambe le estremità server e client (può essere negoziato se entrambe le parti sono d'accordo, ma non è obbligatorio in una configurazione predefinita di qualsiasi versione di Windows).
  • Supporto per più monitor per consentire a una sessione di utilizzare più monitor sul client (disabilita la composizione del desktop)

La versione 7.1 di RDP nel 2010 ha introdotto la seguente funzionalità:

  • RemoteFX : RemoteFX fornisce supporto GPU virtualizzato e codifica lato host; viene fornito come parte di Windows Server 2008 R2 SP1.

Problemi di sicurezza

La versione 5.2 di RDP nella sua configurazione predefinita è vulnerabile a un attacco man-in-the-middle . Gli amministratori possono abilitare la crittografia del livello di trasporto per mitigare questo rischio.

Le sessioni RDP sono anche suscettibili alla raccolta delle credenziali in memoria, che può essere utilizzata per lanciare attacchi di hash .

Nel marzo 2012, Microsoft ha rilasciato un aggiornamento per una vulnerabilità di sicurezza critica nel RDP. La vulnerabilità ha consentito la compromissione di un computer Windows da parte di client non autenticati e worm .

La versione 6.1 del client RDP può essere utilizzata per rivelare i nomi e le immagini di tutti gli utenti sul server RDP (indipendentemente dalla versione di Windows) per sceglierne uno, se non è specificato alcun nome utente per la connessione RDP.

Nel marzo 2018 Microsoft ha rilasciato una patch per CVE - 2018-0886 , una vulnerabilità legata all'esecuzione di codice in modalità remota in CredSSP, un provider di supporto per la sicurezza coinvolto in Microsoft Remote Desktop e Windows Remote Management, scoperto da Preempt.

Nel maggio 2019 Microsoft ha rilasciato una patch di sicurezza per CVE - 2019-0708 (" BlueKeep "), una vulnerabilità che consente la possibilità di esecuzione di codice remoto e che Microsoft ha avvertito essere "wormable", con il potenziale di causare un'interruzione diffusa. Insolitamente, sono state rese disponibili anche patch per diverse versioni di Windows che avevano raggiunto la fine del loro ciclo di vita, come Windows XP . Non seguì alcuno sfruttamento dannoso immediato, ma gli esperti erano unanimi sul fatto che ciò fosse probabile e potesse causare danni diffusi in base al numero di sistemi che sembravano essere rimasti esposti e privi di patch.

A luglio 2019, Microsoft ha rilasciato una patch di sicurezza per CVE - 2019-0887 , una vulnerabilità RDP che interessa Hyper-V .

Implementazioni non Microsoft

Esistono numerose implementazioni non Microsoft di client e server RDP che implementano sottoinsiemi della funzionalità Microsoft. Ad esempio, il client da riga di comando open source rdesktop è disponibile per i sistemi operativi Linux/Unix e Microsoft Windows. Esistono molti client GUI, come tsclient e KRDC , che sono basati su rdesktop.

Nel 2009, rdesktop è stato biforcato come FreeRDP, un nuovo progetto che mira a modularizzare il codice, affrontare vari problemi e implementare nuove funzionalità. FreeRDP viene fornito con il proprio client da riga di comando xfreerdp, che supporta Seamless Windows in RDP6. Intorno al 2011, il progetto ha deciso di abbandonare il fork e riscrivere invece sotto Apache License , aggiungendo più funzionalità come RemoteFX, RemoteApp e NTLMv2. Una distribuzione commerciale chiamata Thincast è stata avviata nel 2019. Un client multipiattaforma basato su FreeRDP che include il supporto Vulkan/H.264 è seguito nell'estate 2020. C'è anche un'applicazione GTK chiamata Remmina .

I server RDP open source su Unix includono FreeRDP, ogon project e xrdp . Il client Connessione desktop remoto di Windows può essere utilizzato per connettersi a tale server.

Le soluzioni client RDP proprietarie come rdpclient sono disponibili come applicazione autonoma o integrate con l'hardware client. Un nuovo paradigma di accesso, l'accesso basato su browser, ha consentito agli utenti di accedere a desktop e applicazioni Windows su qualsiasi host RDP, come Microsoft Remote Desktop (RDS) Session Host (Terminal Services) e desktop virtuali, nonché PC fisici remoti.

Esiste anche un VirtualBox Remote Display Protocol (VRDP) utilizzato nell'implementazione della macchina virtuale VirtualBox da Oracle . Questo protocollo è compatibile con tutti i client RDP, come quello fornito con Windows ma, a differenza dell'RDP originale, può essere configurato per accettare connessioni non crittografate e non protette da password, il che può essere utile in reti sicure e affidabili, come le LAN domestiche o d'ufficio . Per impostazione predefinita, il server RDP di Microsoft rifiuta le connessioni agli account utente con password vuote (ma questo può essere modificato con l' Editor criteri di gruppo ). Anche le opzioni di autorizzazione esterna e ospite sono fornite da VRDP. Non importa quale sistema operativo è installato come guest perché VRDP è implementato a livello di macchina virtuale (host), non nel sistema guest. La proprietaria è richiesto Extension Pack VirtualBox.

Brevetti

Microsoft richiede implementazioni di terze parti per concedere in licenza i relativi brevetti RDP. A partire da febbraio 2014, la misura in cui i client open source soddisfano questo requisito rimane sconosciuta.

Utilizzo nel crimine informatico

I ricercatori di sicurezza hanno riferito che i criminali informatici vendono server RDP compromessi su forum sotterranei e negozi RDP illeciti specializzati. Questi PSR compromessi possono essere utilizzati come "palcoscenico" per condurre altri tipi di frode o per accedere a dati personali o aziendali sensibili. I ricercatori segnalano inoltre casi di criminali informatici che utilizzano RDP per rilasciare direttamente malware sui computer.

Guarda anche

Riferimenti

link esterno