Remote Desktop Protocol

***Remote Desktop Protocol*** (**RDP**) ir *[[Microsoft]]* izstrādāts patentēts protokols, kas nodrošina lietotājam grafisku saskarni, lai izveidotu savienojumu ar citu datoru, izmantojot tīkla savienojumu. Lietotājs šim nolūkam izmanto RDP klienta programmatūru, bet otrā datorā ir jādarbina RDP servera programmatūra.

Klienti pastāv lielākajai daļai *[[Microsoft Windows]]* versiju (tostarp *Windows Mobile*), *[[GNU/Linux|Linux]], [[Unix]], [[macOS]], [[iOS]], [[Android]]* un citām operētājsistēmām. RDP serveri ir iebūvēti *Windows* operētājsistēmās; pastāv arī RDP serveris *Unix* un OS X operētājsistēmām. Pēc noklusējuma serveris izmanto TCP 3389. portu un UDP 3389. portu.

*Microsoft* pašlaik savu oficiālo RDP klienta programmatūru dēvē par *Remote Desktop Connection*, agrāk *Terminal Services Client*.

Protokols ir ITU-T T.128 lietojumprogrammu koplietošanas protokola paplašinājums. *Microsoft* savā vietnē publiskojis dažas specifikācijas.

## Vēsture
Katrā *Microsoft Windows* versijā, sākot no *Windows XP*, ir uzstādīts attālās darbvirsmas savienojuma (RDC) (*Terminal Services*) klients (mstsc.exe), kura versiju nosaka operētājsistēmas versija vai pēdējā lietotā *Windows* servisa pakotne. *Terminal Services* serveris tiek atbalstīts kā oficiāls līdzeklis operētājsistēmā *Windows NT 4.0 Terminal Server Edition*, kas izlaista 1998. gadā, *[[Windows 2000|Windows 2000 Server]]*, visos *[[Windows XP]]* izdevumos izņemot *Windows XP Home Edition, [[Windows Server 2003]], [[Windows Home Server]]*, operētājsistēmā *Windows Fundamentals for Legacy PCs, [[Windows Vista]] Ultimate, Enterprise* un *Business* izdevumos, *Windows Server 2008* un *Windows Server 2008 R2*, kā arī operētājsistēmā *Windows 7 Professional* un jaunākās versijās.

*Microsoft* nodrošina klientu, kas nepieciešams, lai izveidotu savienojumu ar jaunākām RDP versijām vecākām operētājsistēmām. Tā kā servera uzlabojumi nav pieejami vecākām operētājsistēmām, funkcijas, kas tiek ieviestas ar jaunākām RDP versijām darbojās uz vecākām operētājsistēmām tikai gadījumos, kad tiek veidots savienojums ar jaunākas versijas RDP, taču ne tad, kad uz datora ar vecāku operētājsistēmu tiek izmantota RDP servera programmatūra.

### Versija 4.0
Pamatojoties uz ITU-T T.128 lietojumprogrammu koplietošanas protokolu (projektēšanas laikā bija zināms arī kā "T.share") no T.120 ieteikumu sērijas, Microsoft ieviesa pirmo RDP versiju (nosaukta versija 4.0) ar "Terminal Services", kas ir daļa no Windows NT 4.0 Server, Terminal Server Edition. NT 4.0 Terminal Services Edition izdevums balstījās uz Citrix MultiWin tehnoloģiju, kas iepriekš tika nodrošināta kā Citrix WinFrame daļa operētājsistēmā Windows NT 3.51, lai vienlaikus atbalstītu vairākus lietotājus un pieteikšanās sesijas. Microsoft pieprasīja, lai Citrix licencētu savu MultiWin tehnoloģiju korporācijai Microsoft, lai varētu turpināt piedāvāt savu termināļa pakalpojumu produktu ar nosaukumu Citrix MetaFrame papildus Windows NT 4.0. Citrix nodrošinātajiem DLL, kas iekļauti operētājsistēmā Windows NT 4.0 Terminal Services Edition, joprojām ir Citrix autortiesības, nevis Microsoft autortiesības. Vēlākās Windows versijās nepieciešamais atbalsts tika integrēts. T.128 lietojumprogrammu koplietošanas tehnoloģiju Microsoft iegādājās no Apvienotās Karalistes programmatūras izstrādātāja Data Connection Limited .

### Versija 5.0
Šī versija tika ieviesta ar Windows 2000 Server, pievienojot atbalstu vairākām funkcijām, tostarp drukāšanai uz vietējiem printeriem, un tās mērķis bija uzlabot tīkla joslas platuma lietojumu.

### Versija 5.1
Šī versija tika ieviesta operētājsistēmā Windows XP Professional un ietvēra 24 bitu krāsu un skaņas atbalstu. Klients ir pieejams operētājsistēmām Windows 2000, Windows 9x, Windows NT 4.0 . Izmantojot šo versiju, klienta nosaukums tika mainīts no *Terminal Services Client* uz *Remote Desktop Connection,* taču Terminal Services Client mantojums ir saglabājies līdz mūsdienām, jo pamatā esošā izpildāmā faila nosaukums joprojām ir mstsc.exe.

### Versija 5.2
Šī versija tika ieviesta ar Windows Server 2003, ietvēra atbalstu konsoles režīma savienojumiem, sesijas direktoriju un vietējo resursu kartēšanu. Tas arī ievieš transporta slāņa drošību (TLS) 1.0 servera autentifikācijai un termināļa servera sakaru šifrēšanai. Šī versija ir iebūvēta operētājsistēmās Windows XP Professional x64 izdevumā un Windows Server 2003 x64 un x86 izdevumos.

### Versija 6.0
Šī versija tika ieviesta operētājsistēmā Windows Vista, un tajā bija iekļauts atbalsts Windows Presentation Foundation lietojumprogrammām, tīkla līmeņa autentifikācija, vairāku monitoru un lielas darbvirsmas atbalsts, kā arī TLS 1.0 savienojumi. Klienta versija 6.0 ir pieejama operētājsistēmai Windows XP SP2, Windows Server 2003 SP1/SP2 (x86 un x64 izdevumos) un Windows XP Professional x64 izdevumā. Microsoft Remote Desktop Connection Client operētājsistēmai Macintosh OS X ir pieejams arī ar atbalstu Intel un PowerPC Mac OS versijām 10.4.9, kā arī jaunākām versijām.

### Versija 6.1
Šī versija tika izlaista 2008. gada februārī un ir iekļauta operētājsistēmā Windows Server 2008, kā arī Windows Vista Service Pack 1. Klients ir iekļauts Windows XP SP3. Papildus izmaiņām, kas saistītas ar to, kā attālais administrators izveido savienojumu ar "konsoli", šai versijai ir jauna funkcionalitāte, kas ieviesta sistēmā Windows Server 2008, tai skaitā attālināta savienojuma izveide ar atsevišķām programmām un jauna klienta puses printera novirzīšanas sistēma, kas nodrošina klienta drukas iespējas, kas pieejamas serverī strādājošām lietojumprogrammām, bez nepieciešamības uz servera instalēt drukas dziņus. Attālais administrators var brīvi instalēt, pievienot/noņemt jebkuru programmatūru vai iestatījumu klienta pusē. Tomēr, lai sāktu attālās administrēšanas sesiju, ir jābūt administratoru grupas dalībniekam serverī, ar kuru tiek mēģināts izveidot savienojumu.

### Versija 7.0
Šī versija tika izlaista 2009. gada jūlijā un ir iekļauta operētājsistēmā Windows Server 2008 R2, kā arī operētājsistēmā Windows 7 . Ar šo izdevumu, nosaukums tika mainīts no *Terminal Services* uz *Remote Desktop Services*. Šai versijai ir jaunas funkcijas — Windows Media Player novirzīšana, divvirzienu audio, vairāku monitoru atbalsts, Aero Glass atbalsts, uzlabots bitkartēšanas paātrinājums, Easy Print novirzīšana, valodu joslas piesaistīšana rīkjoslai. RDP 7.0 klients ir pieejams operētājsistēmās Windows XP SP3 un Windows Vista SP1/SP2 līdz atjauninājumam KB969084. RDP 7.0 klients netiek oficiāli atbalstīts operētājsistēmās Windows Server 2003 x86 un Windows Server 2003/Windows XP Professional x64 izdevumos.

Lielākā daļa RDP 7.0 līdzekļu, piemēram, Aero Glass attālā izmantošana, divvirzienu audio, Windows Media Player novirzīšana, vairāku monitoru atbalsts un Remote Desktop Easy Print ir pieejami tikai Windows 7 Enterprise vai Ultimate izdevumos.

### Versija 7.1
RDP 7.1 izdevums tika iekļauts Windows 7 Service Pack 1 un Windows Server 2008 R2 SP1 2010. gadā. Tas ieviesa RemoteFX, kas nodrošina virtualizētu grafiskā procesora atbalstu un resursdatora puses kodējumu.

### Versija 8.0
Šī versija tika izlaista operētājsistēmās Windows 8 un Windows Server 2012 . Šai versijai ir jaunas funkcijas — adaptīvā grafika (progresīvā renderēšana un ar to saistītās metodes), automātiska TCP vai UDP kā transporta protokola izvēle, vairāku pieskārienu atbalsts, DirectX 11 atbalsts vGPU, USB novirzīšana, kas tiek atbalstīta neatkarīgi no vGPU atbalsta utt. RDP klienta savienojuma joslā RDP 8.0 savienojumiem tiek parādīta poga "Savienojuma kvalitāte"; noklikšķinot uz tā, tiek sniegta papildu informācija par savienojumu, tostarp par to, vai UDP tiek izmantots vai nē.

RDP 8.0 klienta un servera komponentes ir pieejamas arī kā Windows 7 SP1 papildinājums. RDP 8.0 klients ir pieejams arī operētājsistēmai Windows Server 2008 R2 SP1, taču servera komponentes nav pieejamas. Lai nodrošinātu šī papildinājuma darbību, ir jāuzstāda DTLS protokols. Pēc atjauninājumu instalēšanas, lai starp Windows 7 iekārtām būtu iespējots protokols RDP 8.0, ir jāveic papildu konfigurācija, izmantojot grupas politikas redaktoru.

Jauna funkcija iekš RDP 8.0 ir ierobežots atbalsts RDP sesijas ligzdošanai; tā darbojas tikai operētājsistēmās Windows 8 un Server 2012. Windows 7 un Server 2008 R2 (pat ar RDP 8.0 atjauninājumu) šo līdzekli neatbalsta.

RDP 7 “ēnas” funkcija, kas ļāva administratoram uzraudzīt (snoop) RDP savienojumu, RDP 8 ir noņemta. RDP 8 ir noņemta arī Aero Glass tālvadības funkcija (piemērojama Windows 7 iekārtām, kas savieno viena ar otru).

### Versija 8.1
Šī versija tika izlaista ar operētājsistēmām Windows 8.1 un Windows Server 2012 R2 . RDP 8.1 klienta atjauninājums pastāv arī operētājsistēmai Windows 7 SP1, taču atšķirībā no RDP 8.0 atjauninājuma operētājsistēmai Windows 7, tas nepievieno RDP 8.1 servera komponenti sistēmai Windows 7. Turklāt, ja operētājsistēmā Windows 7 ir nepieciešama RDP 8.0 servera funkcija, pirms RDP 8.1 atjauninājuma instalēšanas ir jāinstalē atjauninājums KB 2592687 (RDP 8.0 klienta un servera komponentes).

Sesiju ēnošanas atbalsts tika pievienots jau RDP versijā 8.1. Šī versija arī novērš dažus vizuālus traucējumus programmā Microsoft Office 2013, kad tā darbojas kā RemoteApp .

RDP versija 8.1 nodrošina arī "ierobežotā administratora" režīmu. Lai pieteiktos šajā režīmā, ir jāzina tikai jauktā parole, nevis tās vienkāršais teksts, tādējādi padarot iespējamu jaukšanas uzbrukumu. Microsoft ir izlaidusi 82 lappušu garu dokumentu, kurā paskaidrots, kā mazināt šāda veida uzbrukumus.

### Versija 10.0
RDP versijā 10.0 ir iekļautas šādas jaunas funkcijas: AutoSize tālummaiņa (noderīga HiDPI klientiem). Turklāt tika iekļauti grafikas saspiešanas uzlabojumi, izmantojot H.264/AVC.

## Iespējas

* 32 bitu krāsu gammas atbalsts. Tiek atbalstītas arī 8, 15, 16 un 24 bitu krāsu gammas.
* 128 bitu šifrēšana izmantojot RC4 šifrēšanas algoritmu, sākot ar 6. versiju. TLS atbalsts kopš versijas 5.2.
* Audio novirzīšana ļauj lietotājiem apstrādāt audio uz attālās darbvirsmas un novirzīt skaņu uz lietotāja datoru.
* Failu sistēmas novirzīšana ļauj lietotājiem termināļa sesijas laikā izmantot savus lokālos failus attālajā darbvirsmā.
* Printera novirzīšana ļauj lietotājiem termināļa sesijā izmantot savu vietējo printeri tāpat kā lokāli vai tīklā koplietotu printeri.
* Portu novirzīšana ļauj lietojumprogrammām, kas darbojas termināļa sesijā, piekļūt vietējiem seriālajiem un paralēlajiem portiem.
* Attālais dators un lokālais dators var koplietot starpliktuvi.

Microsoft ieviesa šādus līdzekļus, izlaižot RDP 6.0 2006. gadā:

* Seamless Windows: attālās lietojumprogrammas var darboties klienta datorā, ko apkalpo attālās darbvirsmas savienojums. Tas ir pieejams kopš RDP 6.
* Attālās programmas: lietojumprogrammu publicēšana ar klienta puses failu tipu asociācijām.
* Termināļa pakalpojumu vārteja: nodrošina iespēju izmantot priekšgala IIS serveri, lai pieņemtu savienojumus (caur 443. portu) aizmugures termināļa pakalpojumu serveriem, izmantojot https savienojumu, līdzīgi kā RPC, izmantojot https, ļauj Outlook klientiem izveidot savienojumu ar aizmugures Exchange 2003 serveri. Nepieciešama Windows Server 2008 operētājsistēma.
* Tīkla līmeņa autentifikācija
* Atbalsts attālinātai Aero Glass tēmai (vai Composed Desktop), tostarp ClearType fontu izlīdzināšanas tehnoloģijai.
* Atbalsts attālinātām Windows Presentation Foundation lietojumprogrammām: saderīgi klienti, kuriem ir .NET Framework 3.0 atbalsts var parādīt visus Windows Presentation Foundation efektus vietējā datorā.
* Ierīces novirzīšanas pārrakstīšana, lai tā būtu vispārīgāka, ļaujot piekļūt lielākam ierīču dažādībai.
* RDP pilnībā konfigurējams un skriptējams, izmantojot Windows Management Instrumentation .
* Uzlabota joslas platuma regulēšana RDP klientiem. 
* Transporta slāņa drošības (TLS) 1.0 atbalsts gan serverī, gan klientā (var vienoties, ja abas puses piekrīt, taču tas nav obligāts jebkuras Windows versijas noklusējuma konfigurācijā).
* Vairāku monitoru atbalsts, kas ļauj vienā sesijā izmantot vairākus klienta monitorus (atspējo darbvirsmas kompozīciju)

RDP 7.1. izlaidumā 2010. gadā tika ieviesta šāda funkcija:

* RemoteFX : RemoteFX nodrošina virtualizētu GPU atbalstu un resursdatora puses kodējumu; tas tiek piegādāts kā daļa no Windows Server 2008 R2 SP1.

## Drošības jautājumi
RDP versija 5.2 tās noklusējuma konfigurācijā ir neaizsargāta pret starpnieka uzbrukumu . Administratori var iespējot transporta slāņa šifrēšanu, lai mazinātu šo risku.

RDP sesijas ir pakļautas arī akreditācijas datu iegūšanai atmiņā, ko var izmantot, lai uzsāktu jaucējuzbrukumus .

2012. gada martā Microsoft izlaida atjauninājumu kritiskai RDP drošības ievainojamībai. Ievainojamība ļāva Windows datorus apdraudēt neautentificētiem klientiem un datoru tārpiem .

RDP klienta versiju 6.1 var izmantot, lai atklātu visu RDP servera lietotāju vārdus un attēlus (neatkarīgi no tā, kura Windows versija), lai izvēlētos vienu, ja RDP savienojumam nav norādīts lietotājvārds. 

2018. gada martā Microsoft izlaida ielāpu priekš CVE-2018-0886, attālā koda izpildes ievainojamībai iekš CredSSP, kas ir drošības atbalsta devējs iekļauts Microsoft Remote Desktop un Windows Remote Management programmatūrās. To atklāja Preempt.

2019. gada maijā Microsoft izdeva drošības ielāpu priekš CVE-2019-0708 ("BlueKeep"), ievainojamība, kas pieļauj iespēju attālināti izpildīt kodu un par kuru Microsoft brīdināja, ka tā ir "tārpojama", kas var izraisīt plašus traucējumus. Šoreiz ielāpi bija pieejami arī vairākām Windows versijām, kurām vairs nebija oficiāla atbalsta, piemēram, Windows XP. Tūlītēja ļaunprātīga izmantošana nesekoja, taču eksperti bija vienisprātis, ka tas ir iespējams un var radīt plašu kaitējumu, pamatojoties uz to sistēmu skaitu, kuras šķietami bija palikušas atklātas un neizlabotas.

2019. gada jūlijā Microsoft izdeva drošības ielāpu priekš CVE-2019-0887, RDP ievainojamība, kas ietekmē Hyper-V.

## Īstenojumi, kas nav Microsoft izstrādāti
Ir daudz citu ražotāju RDP klientu un serveru implementāciju, kas ievieš Microsoft funkcionalitātes apakškopas. Piemēram, atvērtā pirmkoda komandrindas klients rdesktop ir pieejams operētājsistēmām Linux/Unix un Microsoft Windows. Ir daudzi GUI klienti, piemēram, tsclient un KRDC, kas ir izveidoti uz rdesktop bāzes.

2009. gadā rdesktop tika pārveidots par FreeRDP — jauns projekts, kura mērķis ir modularizēt kodu, risināt dažādas problēmas un ieviest jaunas funkcijas. FreeRDP ir aprīkots ar savu komandrindas klientu xfreerdp, kas atbalsta Seamless Windows iekš RDP6. Aptuveni 2011. gadā projekts tika pārrakstīts ar Apache licenci, pievienojot citas funkcijas, piemēram, RemoteFX, RemoteApp un NTLMv2. Komerciāla produkta ar nosaukumu Thincast izplatīšana tika sākta 2019. gadā. 2020. gada vasarā tika izveidots vairāku platformu klients, kura pamatā ir FreeRDP, tostarp Vulkan/H.264 atbalsts. Ir arī GTK lietojumprogramma ar nosaukumu Remmina. Remmina arī ir balstīta uz FreeRDP.

Atvērtā pirmkoda RDP serveri iekš Unix ietver FreeRDP, ogon project un xrdp. Lai izveidotu savienojumu ar šādu serveri, var izmantot Windows Remote Desktop Connection klientu.

Patentēti RDP klientu risinājumi, piemēram, rdpclient, ir pieejami kā atsevišķa lietojumprogramma vai iestatīti pēc noklusējuma klienta aparatūrā. Jauna piekļuves paradigma — pārlūkprogrammu atbalstīta piekļuve — ir ļāvusi lietotājiem piekļūt Windows galddatoriem un lietojumprogrammām jebkurā RDP resursdatorā, piemēram, Microsoft Remote Desktop (RDS) sesiju resursdatoros (Terminal Services) un virtuālajos galddatoros, kā arī attālos fiziskajos datoros.

Ir arī VirtualBox Remote Display Protocol (VRDP), ko Oracle izmanto VirtualBox virtuālo mašīnu ieviešanā. Šis protokols ir saderīgs ar visiem RDP klientiem, tai skaitā arī ar Windows nodrošināto, taču atšķirībā no sākotnējā RDP to var konfigurēt, lai pieņemtu nešifrētus un ar paroli neaizsargātus savienojumus, kas var būt noderīgi drošos un uzticamos tīklos, piemēram, mājas vai biroja LAN. Pēc noklusējuma Microsoft RDP serveris atsakās izveidot savienojumus ar lietotāju kontiem ar tukšām parolēm (bet to var mainīt ar grupas politikas redaktoru). VRDP nodrošina arī ārējās un viesu autorizācijas iespējas. Nav svarīgi, kura operētājsistēma ir instalēta kā viesis, jo VRDP tiek ieviests virtuālās mašīnas (resursdatora) līmenī, nevis viesu sistēmā. Nepieciešama patentēta VirtualBox paplašinājuma pakotne.

## Patenti
Microsoft pieprasa trešo pušu izmantošanas gadījumiem licencēt attiecīgos RDP patentus. Kopš 2014. gada februāra joprojām nav zināms, cik lielā mērā atvērtā pirmkoda klienti atbilst šai prasībai.

## Izmantošana kibernoziegumos
Drošības pētnieki ir ziņojuši, ka kibernoziedznieki pārdod apdraudētus RDP serverus mazzināmos forumos, kā arī specializētos nelegālos RDP veikalos. Šos apdraudētos RDP var izmantot kā “īstenošanas vietu” cita veida krāpšanai vai piekļuvei sensitīviem personas vai uzņēmuma datiem. Pētnieki arī ziņo par gadījumiem, kad kibernoziedznieki izmanto RDP, lai tiešā ceļā ievietotu datoros ļaunprātīgu programmatūru.

## Atsauces

## Ārējās saites

* Attālās darbvirsmas protokols — no Microsoft izstrādātāju tīkla
* Izpratne par attālās darbvirsmas protokolu — no support.microsoft.com
* [MS-RDPBCGR: attālās darbvirsmas protokols: pamata savienojamības un grafikas attālinātās specifikācijas](http://msdn.microsoft.com/en-us/library/cc240445(PROT.10).aspx) — no Microsoft izstrādātāju tīkla