RDP Console ja Admin

Remote Desktop (aka Terminal Services)  on Microsofti maailmas juba suhteliselt vana teenus – esimesena ilmus ta Windows 2000 Server koosseisus (tollal küll tiba teise nimega). Tööjaamadesse tuli Windows XP saabudes. Edaspidi on teda kõpitsetud siit ja sealt poolt, nii et tänaseks hetkeks on tegemist päris võimsa ja kasutatava omadusega.

Allpool räägin valdavalt Terminal Service for Administration alamliigist. Ehk siis teenus, mis on mõeldud Windows Serveris peamiselt administreerimistööde tegemiseks. Kliendilitsentsi (TS/RDS CAL)siinjuures vaja ei lähe, kuid sessioonide arv on piiratud 2’ga. Edasi läheb keeruliseks.

Windows 2000 ‘des – oli võimalik 2 “virtuaalset” (edaspidi lihtsalt RDP) sessiooni. Need mõlemad EI olnud samad, mis füüsiliselt serveri kuvari ja klaviatuuri taha istudes sisselogides avanes. See omakorda tekitas probleeme paljude rakendustega, mis ei osanud virtuaalsete sessioonidega hakkama saada ja väljastasid tulemused ja ootasid sisendit nn konsoolilt. Tööjaamas (Windows 200 Professional) polnud see üldse võimalik.

Windows 2003 parandas selle vea. RDP rakendust (või analooge) spetsiaalse võtmega  /console käivitades ühenduti konsooli sessioonile. See sessioon oli alati ID’ga 0

image

Seega sai Windows 2003/2003 R2 serveris korraga töötada maksimaalselt 3 kasutajat. Terminal Services Configurator abil  oli võimalik muuta maksimum kasutajad 0..2+1 konsooli oma.  Vaikimisi häälestuses pääsesid RDP’le ligi ainult lokaalsesse Administartors gruppi kuluvad kontod. Lokaalse Remote Desktop Users grupi kaudu sai ligi lasta ka mitte administraatoreid, KUID konsooli sessioon jäi kasutatavaks ainult administrator kasutajatele. Mitteadministrators said /console võtmega väga üheselt mõistetava veateate

image Väga mugav.

Windows XP –  lubas ainult nn konsoolisessiooni.

Olukord muutus dramaatiliselt Windows Vista/Windows Server 2008/R2 arenduse edenedes. Esmalt kogesid seda Vista SP1/XP SP3 installijad, kui uuendati RDP klienti. /console ei töötanud ootamatult ja see tuli asendada /admin võtmega. Hea küll, hulk skripte tuli ümber muuta ja ports 3’nda partei tööriistu lakkas korrektselt töötamast, kuid 2003 perekonna funktsionaalsus säilus.

Windows 2008 serveris  on muudatused suuremad.

  1. Remote Desktop Service häälestamine käib uue väljanägemise saanud konsooli kaudu, kus on ports uusi võimalusi.
  2. Konsoolisessiooni, kui sellist pole enam üldse. Sa võid võtme /admin kaasa anda, kuid konsoolisessiooni (sessiooni 0) ikkagi enam ei saa.
  3. Võti /admin on vajalik ainult juhul, kui soovid administreerida Windows 2008 Serverit, millel on installeeritud Remote Desktops Services roll. Sel juhul keelatakse mõningad ümbersuunamised, töölaua teema lülitatakse Classic peale ja TS CAL’i ei loeta.
  4. Vaikimisi on kehtiv 2 aktiivse kasutaja piirang. Disconnected kasutajaid võib teoreetiliselt olla lõpmatult. Kui serverisse tahab logida uus kasutaja ja eelnevalt on aktiivsed 2 kasutajat palutakse valida, milline kasutaja välja logida. Administratori õigustega uuel logijal on võimalus eelmisi jõuga disconnectida, lihtsalt kasutaja puhul force puudub, kuid valitud aktiivsele kasutajale kuvatakse oma sessiooni disconnectimise teade ja kui ta sellele ei reageerita, siis 30 sekundi pärast tehakse disconnect ikkagi. Isegi siis kui uus login on user ja disconnect tehakse administraatorile…

image

4. RDP sessiooni saavad avada jätkuvalt vaikimisi administraatorid või siis Remote Desktop Users gruppi kuuluvad kontod.

Seda olukorda iseloomustab kenasti ka Task Manager, kus ID 0 sessioone enam tekitada ei õnnestu.

image

Täpsemalt saab aimu qwinsta käsuga, kus ID 0 sessioon on reserveeritud süsteemile. >märgiga on tähistatud jooksev kasutaja ja RDP-TCP#0 on lihtsalt identifikaator.

image

 

Kogu pika jutu kokkuvõte on see, et KUI Windows 2003’s on võimalik tekitada lihtsalt ja välditavalt olukord, kus serverisse saab RDP’ga logida korraga ainult 1 mitte administraatorist kasutaja ja administrator saab alati konsooli kaudu ligi. Peamiselt vältimaks olukorda, kus parem käsi ei tea mida teeb vasak või mingitel  tegevuste salvestamise kaalutlustel, siis Windows 2008’s pole see nii lihtne, kuna alati saab mitteaktiivse kasutaja disconnectida.

Ma ei ole leidnud veel võimalust, kuidas blokeerida tavakasutaja võime seesolevaid kasutajaid disconnectida. Logoff ta neile teha ei saa.

Lisalugemist – “Impact of Session 0 Isolation on Services and Drivers in Windows Vista” (http://go.microsoft.com/fwlink/?LinkId=106201).