Remote Desktop Protocol
RDP (Remote Desktop Protocol) è un protocollo di rete proprietario sviluppato da Microsoft, che permette la connessione remota da un computer a un altro in maniera grafica, utilizzando di default la porta TCP e UDP 3389[1].
I client RDP esistono per la maggior parte delle versioni di Microsoft Windows, Linux, Unix, macOS, Android, iOS e altri[2][3]. I server RDP ufficiali esistono per i sistemi operativi Windows nonostante ne esistano anche per i sistemi Unix-Like.[4][5].
L'applicazione (che usa il protocollo in oggetto) compresa in Windows si chiama Connessione Desktop remoto.
Cronologia
Versione | Piattaforma |
---|---|
4.0 | Windows NT 4.0[6] |
5.0 | Windows 2000 Server |
5.1 | Windows XP[7] |
5.2 | Windows Server 2003[8] |
6.0 | Windows Vista[9] |
6.1 | Windows Server 2008[10] |
7.0 | Windows Server 2008[11]Windows 7[12] |
7.1 | Windows 7 |
Version 8.0 | Windows 8[13] |
Version 8.1 | Windows 8.1[14]Windows Server 2012[15] |
Version 10.0 | Windows 10[16]Windows Server 2016[17] |
FreeRDP
FreeRDP[18] è una implementazione libera del protocollo RDP. Esso rispetta le Microsoft Open Specifications[19] ed è disponibile sotto i termini della licenza Apache 2.0.
Caratteristiche
- Supporto per colori 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[20]. 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.
- Il reindirizzamento della stampante consente agli utenti di utilizzare la propria stampante locale all'interno della sessione terminale come farebbero con una stampante condivisa in rete o in locale.
- Il reindirizzamento delle porte consente alle applicazioni in esecuzione nella 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[21].
- Programmi remoti: pubblicazione di applicazioni con associazioni di tipi di file lato client.
- Terminal Services Gateway: consente di utilizzare un server IIS front-end per accettare connessioni (sulla porta 443 ) per server Terminal Services back-end tramite una connessione https , simile a come RPC su https consente ai client Outlook di connettersi a un back -end fine del server Exchange 2003. Richiede Windows Server 2008.
- Network Level Authentication
- Supporto per il remoting del tema Aero Glass (o Composed Desktop), inclusa la tecnologia di smussatura dei caratteri ClearType.
- Supporto per la comunicazione remota di applicazioni Windows Presentation Foundation : i client compatibili che dispongono del supporto .NET Framework 3.0 possono visualizzare gli effetti completi di Windows Presentation Foundation su un computer locale.
- Riscrittura del reindirizzamento dei dispositivi per scopi più generali, consentendo l'accesso a una maggiore varietà di dispositivi.
- Completamente configurabile e creabile tramite script tramite Strumentazione gestione Windows .
- Supporto per Transport Layer Security (TLS) 1.0 su entrambe le estremità del server e del client (può essere negoziato se entrambe le parti sono d'accordo, ma non è obbligatorio in una configurazione predefinita di qualsiasi versione di Windows).
- Supporto di 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 dell'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[22][23].
Le sessioni RDP sono anche suscettibili alla raccolta delle credenziali in memoria, che può essere utilizzata per lanciare attacchi pass the hash[24].
Nel marzo 2012, Microsoft ha rilasciato un aggiornamento per una vulnerabilità di sicurezza critica nel RDP. La vulnerabilità consentiva a un computer Windows di essere compromesso da client non autenticati e worm di computer[25].
Nel marzo 2018 Microsoft ha rilasciato una patch per CVE - 2018-0886 , una vulnerabilità legata all'esecuzione di codice in modalità remota in CredSSP, che è un fornitore di supporto per la sicurezza coinvolto nel desktop remoto Microsoft e nella gestione remota di Windows, scoperta da Preempt[26][27].
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 in modalità remota e che Microsoft ha avvertito essere "wormable", con il potenziale per causare interruzioni diffuse. Insolitamente, le patch sono state rese disponibili anche per diverse versioni di Windows che avevano raggiunto la fine del loro ciclo di vita, come Windows XP . Non è seguito alcuno sfruttamento dannoso immediato, ma gli esperti sono stati unanimi sul fatto che fosse probabile e potesse causare danni diffusi in base al numero di sistemi che sembravano essere rimasti esposti e privi di patch[28][29].
Nel luglio 2019, Microsoft ha rilasciato una patch di sicurezza per CVE - 2019-0887, una vulnerabilità RDP che interessa Hyper-V[30].
Implementazioni non Microsoft
Esistono numerose implementazioni non Microsoft di client e server RDP che implementano sottoinsiemi della funzionalità Microsoft. Ad esempio, il client della riga di comando open source rdesktop è disponibile per i sistemi operativi Linux / Unix e Microsoft Windows. Ci sono molti client GUI, come tsclient e KRDC , che sono costruiti sopra rdesktop; CoRD è un tale client per il Macintosh[31].
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[32]. Intorno al 2011, il progetto ha deciso di abbandonare il fork e invece di riscriverlo con licenza Apache , aggiungendo più funzionalità come RemoteFX, RemoteApp e NTLMv2[33]. [34]Una distribuzione commerciale chiamata Thincast è stata avviata nel 2019. Un client multipiattaforma basato su FreeRDP incluso 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 del 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 host di sessione Microsoft Remote Desktop (RDS) (Servizi terminal) e desktop virtuali, nonché PC fisici remoti.
Esiste anche un VirtualBox Remote Display Protocol (VRDP) utilizzato nell'implementazione della macchina virtuale VirtualBox da Oracle[35]. 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 casa o LAN dell'ufficio. Per impostazione predefinita, il server RDP di Microsoft rifiuta le connessioni agli account utente con password vuote (ma questo può essere modificato con il Group Policy Editor[36]). 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. È richiesto il VirtualBox Extension Pack proprietario .
Brevetti
Microsoft richiede implementazioni di terze parti per concedere in licenza i brevetti RDP pertinenti[37]. A partire da febbraio 2014, resta sconosciuta la misura in cui i client open source soddisfano questo requisito.
Utilizzo nella criminalità informatica
I ricercatori sulla sicurezza hanno riferito che i criminali informatici vendono server RDP compromessi su forum sotterranei e negozi specializzati in RDP illeciti[38][39]. Questi PSR compromessi possono essere utilizzati come "banco di prova" per condurre altri tipi di frode o per accedere a dati personali o aziendali sensibili. [40]I ricercatori segnalano inoltre casi di criminali informatici che utilizzano RDP per rilasciare malware direttamente sui computer[41].
Note
- ^ (EN) Microsoft, How to change the listening port for Remote Desktop, su support.microsoft.com. URL consultato il 9 marzo 2014.
- ^ (EN) Microsoft, Descrizione RDP client, Windows, su support.microsoft.com. URL consultato il 9 dicembre 2019.
- ^ (EN) Remmina, client RDP per Linux, su remmina.org. URL consultato il 9 marzo 2014.
- ^ (EN) xrdp, server RDP (FreeRDP) per Linux, su xrdp.org. URL consultato il 9 marzo 2014.
- ^ (EN) CoRD, server RDP per Mac, su cord.sourceforge.net. URL consultato il 9 marzo 2014. per Mac
- ^ (EN) Deland-Han, Understanding Remote Desktop Protocol (RDP) – Windows Server, su docs.microsoft.com.
- ^ Windows XP Remote Desktop Connection software [XPSP2 5.1.2600.2180], su microsoft.com, 27 agosto 2012.
- ^ Configuring authentication and encryption, su technet.microsoft.com, January 21, 2005. Microsoft Technet article
- ^ Remote Desktop Connection (Terminal Services Client 6.0), su support.microsoft.com, June 8, 2007. Microsoft KB article 925876, revision 7.0.
- ^ Description of the Remote Desktop Connection 6.1 client update for Terminal Services in Windows XP Service Pack 2, su support.microsoft.com, microsoft.
- ^ Remote Desktop Connection 7 for Windows 7, Windows XP & Windows Vista, in Terminal Services Team Blog, Microsoft, August 21, 2009.
- ^ Remote Desktop Connection 7 for Windows 7, Windows XP & Windows Vista, in Terminal Services Team Blog, Microsoft, August 21, 2009.
- ^ Windows Server 2012 Remote Desktop Services (RDS) – Windows Server Blog – Site Home – TechNet Blogs, su blogs.technet.com, May 8, 2012.
- ^ Update for RemoteApp and Desktop Connections feature is available for Windows, su support.microsoft.com, 11 febbraio 2014.
- ^ Update for RemoteApp and Desktop Connections feature is available for Windows, su support.microsoft.com, 11 febbraio 2014.
- ^ Remote Desktop Protocol (RDP) 10 AVC/H.264 improvements in Windows 10 and Windows Server 2016 Technical Preview, su blogs.technet.microsoft.com, Microsoft.com.
- ^ Remote Desktop Protocol (RDP) 10 AVC/H.264 improvements in Windows 10 and Windows Server 2016 Technical Preview, su blogs.technet.microsoft.com, Microsoft.com.
- ^ (EN) FreeRDP, su freerdp.com. URL consultato il 9 marzo 2014.
- ^ (EN) Microsoft, Open Specifications, su msdn.microsoft.com. URL consultato il 9 marzo 2014.
- ^ Remote Desktop Protocol, su msdn.microsoft.com, Microsoft.
- ^ [MS-RDPERP]: Remote Desktop Protocol: Remote Programs Virtual Channel Extension, su msdn.microsoft.com.
- ^ National Vulnerability Database (NVD) National Vulnerability Database (CVE-2005-1794), su web.nvd.nist.gov, 19 luglio 2011.
- ^ Configuring Terminal Servers for Server Authentication to Prevent "Man in the Middle" Attacks, su blogs.msdn.com, Microsoft, July 12, 2008.
- ^ Mimikatz and Windows RDP: An Attack Case Study, su sentinelone.com, 6 giugno 2019.
- ^ Microsoft Security Bulletin MS12-020 – Critical, su technet.microsoft.com, Microsoft, 13 March 2012.
- ^ (EN) CVE-2018-0886 – CredSSP Remote Code Execution Vulnerability, su portal.msrc.microsoft.com.
- ^ (EN) Eyal Karni, From Public Key to Exploitation: How We Exploited the Authentication in MS-RDP.
- ^ Catalin Cimpanu, Even the NSA is urging Windows users to patch BlueKeep (CVE-2019-0708), su zdnet.com.
- ^ Dan Goodin, Microsoft practically begs Windows users to fix wormable BlueKeep flaw, in Ars Technica, 31 May 2019.
- ^ Ionut Ilascu, Microsoft Ignored RDP Vulnerability Until it Affected Hyper-V, in Bleeping Computer, August 7, 2019.
- ^ rdesktop: A Remote Desktop Protocol Client, su rdesktop.org.
- ^ (EN) FreeRDP-old README, su github.com, 2010.«FreeRDP is a successor to rdesktop, a longtime-favored application for use on *nix systems to access Windows servers and workstations. The goal of FreeRDP is twofold: ...»
- ^ FreeRDP/FreeRDP, su github.com, FreeRDP, 27 February 2020.
- ^ Hi! – The Thincast Workstation, su freerdp.com.
- ^ VirtualBox Manual: 7.1. Remote Display (VRDP Support), su virtualbox.org.
- ^ Jelle Bens, Jelle Bens: Windows 7 RDP with blank password, su jellebens.blogspot.ru, 31 gennaio 2010.
- ^ Remote Desktop Protocol Licensing Available for RDP 8, su cloudblogs.microsoft.com, Blogs.msdn.com, 11 dicembre 2014.
- ^ GReAT, xDedic – the shady world of hacked servers for sale, su securelist.com, June 15, 2016.
- ^ (EN) "Ultimate Anonymity Services" Shop Offers Cybercriminals International RDP Servers, su flashpoint-intel.com, 24 ottobre 2017.
- ^ (EN) David Bisson, Dark Web 'RDP Shops' Offer Access to Vulnerable Systems for as Little as $3, su securityintelligence.com, 19 July 2018.
- ^ (EN) Steve Ragan, Samsam infected thousands of LabCorp systems via brute force RDP, su csoonline.com, 19 luglio 2018.