Installatie en configuratie van Windows Server 2003 Terminal Services Bart De Smet © 2006 – [email protected] – http://blogs.bartdesmet.net/bart 0. Introductie Deze syllabus werd geschreven naar aanleiding van de Anytime Anywhere Learning summit van 2 mei 2006 te Hasselt. Dit werk werd specifiek geschreven voor de deelnemers aan deze sessie; het is niet toegestaan zonder voorafgaande schriftelijke toestemming van de auteur (delen van) dit werk te verveelvoudigen op welke wijze dan ook. Tijdens de sessie maakt u kennis met de Terminal Services feature uit Windows Server 2003 in al zijn breedte, gaande van installatie en configuratie tot gebruik ervan en een blik op de toekomst van de technologie. 1. Wat zijn Terminal Services? Terminal Services is één van de features uit Windows Server 2003. Reeds in het NT4-tijdperk was er sprake van een “Terminal Server” editie. Later werd deze feature geïntegreerd in Windows 2000 Server als een service die standaard bij het pakket wordt geleverd. Het is deze service die ook in Windows Server 2003 – weliswaar met een reeks verbeteringen – aanwezig is. Het gebruik van Terminal Services is echter niet beperkt tot de server-edities van Windows. Ook in Windows XP is een afgeslankte Terminal Services component aanwezig die gebruikt wordt door de “Remote Desktop” feature: Figuur 1 – Remote Desktop gebruikt Terminal Services U vindt deze service terug via de Services MMC (Start, Run, services.msc, OK) onder de naam “Terminal Services”: 1 Figuur 2 – De Terminal Services service onder Windows XP Om verbinding te maken met een computer op afstand wordt gebruik gemaakt van de Remote Desktop Connection die standaard op Windows XP en hoger geïnstalleerd staat. We komen hier in meer detail op terug bij de bespreking van de configuratie van clients. Alvast een sfeerbeeld van deze tool die u terugvindt onder Start, All Programs, Accessories, Communications of kan starten via mstsc.exe: Figuur 3 – Remote Desktop Connection Noot: Windows XP machines ondersteunen slechts één gelijktijdige sessie. Dit houdt in dat een connectie met een Windows XP machine via Remote Desktop de sessie van op de “console” (de fysieke machine) overneemt of afmeldt, afhankelijk van het gebruikersaccount dat men opgeeft. Het is dus niet mogelijk om met Windows XP meerdere gebruikers tegelijkertijd op een machine interactief te laten werken via Remote Desktop. De enige sessie die aanwezig is, is de console sessie. We zullen verder zien dat – vanzelfsprekend – Windows Server 2003 en Windows 2000 Server deze beperking niet kent. De feature “Remote Assistance” waarmee gebruikers via programma’s zoals MSN Messenger hulp kunnen inroepen van een expert die het scherm van de pc overneemt, gebruikt overigens ook de Terminal Services technologie. In deze syllabus zullen we ons echter focussen op het gebruik van Terminal Services onder Windows Server 2003. Via deze component wordt het mogelijk om oude pc’s in te zetten als “terminals”. Concreet komt het erop neer dat de server het werk van de client overneemt bij het uitvoeren van programma’s zoals een browser, Office-tools en andere pakketten. 2 Alle invoer van de gebruiker via de muis en het toetsenbord wordt naar de server gezonden, die dan de eigenlijke verwerking doet. De schermuitvoer wordt over het netwerk teruggezonden naar de “terminal” client die alles weergeeft op het scherm. Dit heeft een heleboel voordelen, waaronder een verminderde kostprijs dankzij het hergebruik van oudere apparatuur en de aanschaf van één krachtige server. Over de systeemvereisten van deze servermachine zullen we het later nog hebben. Voor de gebruiker lijkt het dus alsof de applicaties lokaal worden uitgevoerd, terwijl de eigenlijke verwerking plaatsgrijpt op een server. Factoren die het comfort van de gebruiker beïnvloeden zijn dus ondermeer het verwerkingsvermogen van de server (en de netwerkconnectie, waarover later meer). 2. Van start... Terminal Services installeren In wat volgt gaan we ervan uit dat u reeds over een Windows-gebaseerd netwerk beschikt waarin een Active Directory domein geconfigureerd is. U hebt dus reeds één of meerdere domeinservers, mogelijk aangevuld met fileservers, mailservers, webservers, enz. Verder wordt ook verondersteld dat de clients in het netwerk connectiviteit met de servers hebben via het netwerk. Het installeren van de Terminal Server rol gebeurt best op een “dedicated server” die niks anders hoeft te doen dan het aanbieden van Terminal Services voor de clients. Een dergelijke configuratie is overigens ook veiliger en betrouwbaarder. Installatie van de Terminal Server rol op een domeincontroller of een fileserver is dan ook niet zo’n goed idee. Verder moet de server geconfigureerd zijn als een member server in het Active Directory domein via System Properties, tabblad Computer Name. Figuur 4 – De computer lid maken van het domein Daarna promoot u de server tot Terminal Server via het menu Start, Manage Your Server. Een alternatieve weg is Add/Remove Windows Components via het Control Panel. In wat volgt, gaan we echter uit van de Manage Your Server tool. 3 Figuur 5 – Manage Your Server Vervolgens kiest u “Add or remove a role” waardoor een wizard gestart wordt. Figuur 6 – Add or remove a role De rest van de wizard is vrij eenvoudig. Na een paar klikken op Next krijgt u de mogelijkheid aangeboden om een Terminal Server rol te installeren. Daarna wordt de installatie gestart, waarvoor u de installatiebestanden van op de Windows Server 2003 cd-rom nodig hebt, en de server opnieuw opgestart. 4 Figuur 7 – De Terminal Server rol toevoegen Na installatie vindt u onder Start, (All Programs,) Administrative Tools een aantal snelkoppelingen terug naar diverse tools gerelateerd met de Terminal Services rol van de server. Figuur 8 – Terminal Services tools onder Administrative Tools 3. Terminal Services configureren 3.1. Globale serverinstellingen Laten we om te beginnen een kijkje nemen onder Terminal Services Configuration via Administrative Tools. De MMC die nu wordt weergegeven geeft toegang tot algemene instellingen van Terminal Services, die niet gebruikersgerelateerd zijn. Hieronder verstaan we onder andere de configuratie van RDP, het Remote Desktop Protocol. 5 Figuur 9 – RDP configuratie Het RDP-protocol is verantwoordelijk voor de communicatie tussen een Remote Desktop client en de Terminal Server. De huidige versie van RDP is versie 5.2 (wat overigens ook het NT-versienummer van Windows Server 2003 is) en is stukken uitgebreider dan de versie in Windows 2000. Open RDP-Tcp aan de rechterkant van de MMC console onder de “map” Connections. Noot: Meerdere “connecties” kunnen hier toegevoegd worden, maar dit heeft in vele gevallen weinig nut. Daarom zullen we dit ook niet verder bespreken. Praktisch worden dergelijke connecties gebruikt om een Remote Desktop protocol te mappen op een transportprotocol (zoals TCP). Dit is vooral van belang voor alternatieve plug-ins van 3e partijen. 3.1.1. Algemene instellingen Via het tabblad General kunnen algemene instellingen van het RDP-protocol worden ingesteld. Hieronder vallen bijvoorbeeld beveiligingsinstellingen. Figuur 10 – Algemene instellingen 6 Concreet komt het erop neer dat alle communicatie tussen de client en de server beveiligd wordt zodat ze niet onderschept kan worden. Hiervoor kan het RDP protocol zelf gebruikt worden, wat voorziet in een dergelijke beveiliging, maar ook TLS “Negotiate” (wat ook door HTTPS gebruikt wordt). De standaardinstelling “RDP Security Layer” is echter geschikt. Een tweede instelling is het encryptieniveau, wat de sterkte van de encryptie bepaalt. “Client Compatible” is andermaal de juiste keuze. Hierdoor wordt de maximaal mogelijke beveiliging, die door de client ondersteund wordt, gebruikt. Terminal Services ondersteunt ook hogere niveaus van beveiliging maar dit vergt extra processing overhead op zowel de server als de client en enkel recente client-versies (zie verder) kunnen ermee overweg. Praktisch hebt u deze instelling wellicht niet nodig. Tot slot kan een certificaat opgegeven worden voor encryptie, wat vereist is bij de keuze van TLS-encryptie. Ook dit valt buiten het bestek van deze inleiding maar het is handig van het bestaan van deze mogelijkheden af te weten. Het vinkje “Use standard Windows logon interface” heeft verder geen belang en is enkel van toepassing als alternatieve inlogsystemen op de server zijn geconfigureerd, wat een complexe aangelegenheid is. Opmerking: Sommige van deze instellingen werden toegevoegd als deel van de “Security Push” bij Microsoft bij de ontwikkeling van Windows Server 2003 Service Pack 1. 3.1.2. Instellingen voor aanmelding Het volgende tabblad behandelt de instellingen voor aanmelding bij de server. Hier zijn twee mogelijkheden beschikbaar. De eerste (standaard)keuze is degene die we verder zullen gebruiken en vraagt aan de gebruiker om in te loggen met een (persoonlijk) account. Op die manier krijgt elke gebruiker zijn eigen instellingen en documenten te zien (uiteraard afhankelijk van domeininstellingen e.d.). De gebruiker meldt zich dus aan op dezelfde manier als hij/zij dat zou doen op een klassieke client-computer. Figuur 11 – Aanmeldingsinstellingen De instelling leidt tot de weergave van een aanmeldingsvenster bij het verbinden met de server. 7 Figuur 12 – De server vraagt de gebruiker om in te loggen Merk op dat het “Log on to” vakje de naam van het domein bevat, maar ook de naam van de server zelf. Dit is het gevolg van de configuratie van de server als “member server” in het domein. Gebruikers dienen dus de domeinnaam te kiezen in “Log on to” (net zoals ze dat ook zouden doen op een lokale pc) om aan te melden bij het domein. Noot: Als u de Terminal Server ook gebruikt als domeincontroller (wat u uit veiligheidoverwegingen beter niet doet) zal de lijst enkel de domeinnaam bevatten. Een alternatieve aanmeldingsinstelling is “Always use the following logon information” waarmee u een vast account instelt om aan te melden bij de Terminal Server. De gebruiker wordt dan niet gevraagd om een account op te geven. Deze instelling is vooral handig indien gebruikers de Terminal Server kunnen/mogen gebruiken zonder toegang tot eigen documenten en dergelijke. Een standaardprofiel (eventueel een “mandatory profile” – meer informatie daarover tijdens de sessie) kan dan geconfigureerd worden voor alle gebruikers, wat gebruikt kan worden om bijvoorbeeld educatieve software uit te voeren, te surfen op het internet of mail te checken. Ook in combinatie met de instellingen van het tabblad “Environment” (zie verder) kan dit handig zijn. Het vinkje “Always prompt for password” is een “override” voor client-side instellingen, die we verder nog zullen bespreken. Indien dit vinkje aanstaat, heeft het onthouden van een wachtwoord op de client geen enkel effect en zal de server steeds om een wachtwoord vragen. 3.1.3. Sessiebeheer Het tabblad Sessions wordt gebruikt om – hoe kan het ook anders – sessies te beheren. Onder sessie verstaan we een aanmelding bij de server door een gebruiker en het leven ervan tot de gebruiker de verbinding verbreekt 8 of zich afmeldt. Sessiebeheer is dan ook noodzakelijk om foutief gebruik van de server te voorkomen en om (beleidsgebaseerde) beperkingen op te leggen. Figuur 13 – Sessiebeheer configureren Sessiebeheer is verspreid over twee plaatsen: algemene instellingen en gebruikersspecifieke instellingen. De gebruikersspecifieke instellingen bekijken we later. Het is van belang in het achterhoofd te houden dat algemene instellingen steeds voorrang hebben op gebruikersinstellingen (zie de vinkjes “Override user settings”). De rationale achter dit alles is dat een gebruikersaccount maar op één plaats in het domein gedefinieerd is (met name in Active Directory) maar u meerdere Terminal Servers kunt hebben. Via serverspecifieke sessie-instellingen op een Terminal Server kunt u dus een meer specifieke instelling opgeven. Een eerste set van instellingen hebben te maken met tijdsbeperkingen van sessies. Een eerste instelling luidt “End a disconnected session”. Om dit te begrijpen dienen we eerst het onderscheid tussen afmelden en disconnecteren te definiëren. Veronderstel dat u aangemeld bent bij een Terminal Server via een Remote Desktop Connection. Nu kunt u op verschillende manieren de sessie “afsluiten”: Ga via Start naar Log off. Hiermee sluit u de sessie echt af. Druk op het kruisje van het Remote Desktop venster om het venster te sluiten. Hierdoor wordt de sessie verbroken. 9 De client vraagt overigens ook of u de sessie wenst te verbreken als u het venster sluit: Ga naar Start, Shut Down. Als gewone gebruiker (dus géén administrator) krijgt u volgende opties te zien, waarmee u ofwel kunt afmelden (sessie afsluiten) of de sessie kunt verbreken: Wat is het verschil tussen het sluiten van een sessie door afmelding en het verbreken van een sessie nu exact? Het antwoord ligt enigzins voor de hand. Bij het sluiten van een sessie neemt u echt afscheid van uw werkomgeving op de server. De volgende keer dat de gebruiker zich aanmeldt, wordt het gebruikersprofiel terug ingeladen en komt de gebruiker op een “naakte sessie” terecht waarin geen programma’s openstaan. Bij het verbreken van een sessie blijven de programma’s op de server geladen. Meld u zich terug aan op de Terminal Server (hetzij vanop dezelfde, hetzij vanop een andere clientcomputer) dan krijgt u de omgeving terug in dezelfde status als u deze hebt achtergelaten. Dit is bijvoorbeeld interessant tijdens de lunchpauze of om naar een andere (terminal) client-computer over te schakelen zonder alles opnieuw te moeten starten. Terug naar de instelling “End a disconnected session” uit het RDP sessiebeheer. Hiermee kunt u instellen na welke tijd een verbroken sessie (die niet terug werd verbonden uiteraard) door de server wordt afgemeld. Werk dat niet opgeslagen is door de gebruiker gaat dan verloren. Een dergelijke limiet is van belang als gebruikers slordig omspringen met connecties en u zich niet kunt permitteren dat een gebruiker een “zware sessie” een lange tijd laat openstaan en op die manier veel geheugen of veel processorkracht inpalmt. Via “Active session limit” limiteert u de maximale duratie van een sessie. De instelling “Idle session limit” is analoog en bepaalt hoelang een sessie “idle” (= zonder enige interactie door de gebruiker) kan blijven zonder automatische actie van de server. Beide instellingen omtrent “session limit” bepalen wanneer de server ingrijpt. Wat er precies gebeurt, wordt ingesteld via de configuratie er vlak onder, met name “When session limit is reached or connection is broken” waarin u kunt kiezen of de sessie verbroken dient te worden of meteen beëindigd wordt. Tip: In alle tijdsvelden hierboven beschreven kunt u kiezen uit een vooropgegeven lijst van instellingen. Wilt u meer controle dan kunt u ook zelf een tijdslimiet opgeven via een reeks suffixes. Zo staat d voor dagen, h voor uren en m voor minuten. Via 1d1h1m geeft u dus “1 day 1 hour 1 minute” op. 3.1.4. De sessie-omgeving instellen Via het tabblad Environment kunt u de gebruikersomgeving op de server in een terminal sessie instellen. Via deze weg kunt u een “Initial program” configureren dat bij aanmelding van een gebruiker standaard wordt opgestart. Indien een dergelijk programma ingesteld is, wordt geen bureaublad weergegeven bij aanmelding op de server maar het opgegeven programma. Ook deze instelling kan globaal gedefinieerd worden of op gebruikersniveau. 10 Figuur 14 – De gebruikersomgeving instellen Een dergelijke configuratie wordt vooral ingezet voor gebruikersgroepen die een specifieke taak moeten uitvoeren als deel van hun werk (bijvoorbeeld een administratief pakket) of in een omgeving waar gebruikers slechts één programma mogen gebruiken (bijvoorbeeld terminal clients voor gebruik van enkel een tekstverwerker of een educatief programma). Wordt het desbetreffende programma gesloten, dan wordt de sessie ook meteen afgesloten (er is immers geen startmenu om af te melden). Een voorbeeldje is hieronder weergegeven, waar Paint als “Initial program” werd ingesteld (merk op dat er geen taakbalk aanwezig is): Figuur 15 – Een “Initial program” in actie 11 3.1.5. Hulp op afstand Het tabblad “Remote Control” is in feite het grote-broer-equivalent van “Hulp op afstand” uit Windows XP en wordt gebruikt om in te stellen dat een gebruiker de sessie van een andere gebruiker kan overnemen om hulp te bieden. Hoe dit precies praktisch in zijn werk gaat bespreken we later. Figuur 16 – Hulp of afstand voor experten Ook hier zijn algemene instellingen en gebruikersinstellingen mogelijk. De instellingen wijzen quasi zichzelf uit en worden gebruikt om remote control uit te schakelen of bepaalde specifieke opties in te stellen (zoals het vereisen van permissie van een gebruiker om zijn/haar sessie te zien of ermee te interageren). Ook dit bekijken we straks nader vanuit het perspectief van gebruikersconfiguratie en het praktische gebruik. 3.1.6. Clientinstellingen Zoals u naderhand al weet, is een client-side tool (met name Remote Desktop Client) noodzakelijk om verbinding te maken met een server via Terminal Services over RDP. Ook hier zijn een aantal instellingen van toepassing, die voorrang hebben op wat precies in de client tool werd ingesteld. U vindt deze terug onder het tabblad “Client Settings”. Een overzicht maakt veel duidelijk (we beginnen onderaan het dialoogvenster). Via “Disable the following” schakelt u een aantal opties uit, bijvoorbeeld om bronnen op de server of netwerktraffiek te besparen (of om veiligheidsredenen). Deze opties zijn vrij uitgebreid en komen nog terug bij het praktische gebruik van Terminal Services: Drive mapping mapt de schijven van de client-computer zodat deze in de Verkenner op de server zichtbaar zijn (zie ook later). Windows printer mapping doet net hetzelfde met de printers van de clientcomputer. Hierdoor kan een gebruiker vanuit de terminal sessie op de server afdrukken naar een lokale printer. LPT port en COM port mapping spreken voor zich en mappen de lokale poorten van de computer op deze op de terminal server. Dit kan nuttig zijn voor speciale apparaten die werken via de seriële poort. 12 Clipboard mapping mapt het klembord (daar waar Cut/Copy zaken worden opgeslagen) op dat van de client. Als u met andere woorden zaken kopieert op de server met CTRL-C, kunt u deze via CTRL-V plakken in een applicatie op de client (en vice versa). Audio mapping stuurt het geluid dat applicaties op de server produceren terug naar de client zodat het door de lokale boxen te horen is (mits die client een geluidskaart heeft). Dit staat standaard uit aangezien dit aanzienlijk meer netwerktraffiek met zich meebrengt, waarover later meer. Noot: Eerst en vooral merken we op dat er staat “Disable the following”. Een vinkje aanzetten schakelt dus de overeenkomstige functionaliteit uit. Ten tweede zijn al deze “client settings” sessie- en gebuikersgebonden. Het is niet omdat gebruiker A zijn printers mapt via “Windows printer mapping” dat gebruiker B die printers te zien krijgt. Sessies zijn totaal van elkaar afgescheiden zoals het ook hoort. U creëert dus bij het opzetten van een verbinding een eigen plek onder de Terminal Services zon . Tot slot moet u zich goed en wel realiseren dat deze server-side instellingen bindend zijn. Zegt de server bijvoorbeeld dat audio mapping uit staat, dan is het voor de client onmogelijk (ook al schakelt die onder de RDP-client audio mapping in!) geluid te ontvangen van de server. Figuur 17 – Clientinstellingen voor RDP Andere instellingen die via dit tabblad worden beheerd zijn ondermeer de maximale kleurendiepte (wat ook implicaties heeft op de netwerktraffiek, hoe hoger des te meer traffiek). Ook dit legt een beperking op wat de client maximaal door de draad kan pompen. Hogere instellingen aan de kant van de client zullen door de server verworpen worden. Tot slot zijn er een aantal connectie-instellingen m.b.t. het verbinden van printers en lokale drives bij aanmelding. Dit is nog zo’n instelling die gebruikersgebonden of globaal kan ingesteld worden en de standaardinstelling is vaak de juiste. Enkel in vrij geavanceerde gevallen is extra configuratie interessant. 3.1.7. Netwerkadapters Indien uw server meerdere netwerkkaarten heeft, zal het tabblad Network Adapter misschien interessante opties herbergen. Hiermee kunt u namelijk het aantal gelijktijdige connecties instellen en aangeven welke adapter geconfigureerd wordt om te luisteren voor RDP-verkeer. Standaard luistert de server op alle adapters voor RDP-aanvragen en is het aantal connecties onbeperkt. 13 Noot: Als de server niet geconfigueerd werd met de Terminal Server rol maakt deze instelling niks uit voor “remote administration”. Windows Server 2003 ondersteunt in “remote administration” modus 2 gelijktijdige connecties (in feite 3, met de console inbegrepen). Met andere woorden kunt u steeds met 2 beheerders tegelijkertijd een server beheren ongeacht of deze als Terminal Server geconfigureerd staat. In Windows 2000 Server was dit anders en moest de Terminal Server rol ook voor “remote administration” geïnstalleerd worden maar sinds Windows Server 2003 zit deze optie standaard ingebakken in het systeem (via System Properties, tabblad Remote). Figuur 18 – Netwerk adapters binden Dit tabblad is krachtiger dan u op het eerste zicht misschien denkt. Eerder vermeldde ik terloops dat u meerdere “connecties” kunt instellen onder de RDP-configuratietool (zie figuur 9). Zo kunt u voor elke netwerkkaart een afzonderlijke “RDP over TCP”-connectie aanmaken indien de server meerdere netwerkkaarten heeft. Op die manier kunt u bijvoorbeeld instellen dat het aantal verbindingen over een trage netwerkkaart beperkt is tot 10 terwijl over een andere netwerkkaart dat aantal onbeperkt is. Verder kunt u ook alle eerder vermelde instellingen via een “connectie” binden aan één enkele netwerkkaart. Zo zou u voor verkeer via de trage netwerkkaart audo mapping kunnen uitschakelen maar dit dan wel weer toelaten via de andere kaart. Of wat dacht u van het gebruik van een “Initial program” (zie 3.1.4) voor gebruikers die via de netwerkkaart verbonden met de switch van het administratief personeel met de server connecteren? 3.1.8. Permissies Tot slot is er het tabblad “Permissions” waarmee u gebruikersrechten instelt. Hiermee kunt u op het niveau van groepen of gebruikers voor de server instellen wie wat mag doen. De standaardinstellingen zijn: Full Control – gebruiker kan de RDP-configuratie wijzigen en sessies beheren, zoals een sessie verbreken (enkel voor beheerders geschikt); User Access – gebruiker kan aanmelden op de server, informatie over sessies opvragen, berichten zenden naar andere gebruikers op het systeem en met andere sessies verbinden; Guest Access – gebruiker kan enkel aanloggen op het systeem 14 Figuur 19 – Permissies instellen Een belangrijke groep hierbij is de groep Remote Desktop Users die User Access heeft op het systeem. De beste manier om gebruikers het recht te geven aan te melden op Terminal Servers is de gebruiker lid te maken van deze (domein)groep. Indien de gebruiker geen recht heeft op bepaalde server kunt u nog steeds een Deny instellen op die servers om toegangsrechten tot die specifieke machines expliciet te ontzeggen (bijvoorbeeld Studenten – Deny Guest Access op een Terminal Server voor het personeel). Diverse configuratiepistes zijn uiteraard mogelijk (zoals altijd). Via de knop Advanced kunt u meer granulaire rechten toekennen, maar de zou ons te ver leiden. 3.2. Beveiliging Nu, wie kan wat? Een antwoord op deze vraag hebben we reeds hierboven partieel geformuleerd. Maar er is meer. Aanmelden op een Terminal Server is een privilege (“user right assignment”) dat iemand moet krijgen om het te kunnen doen. Afhankelijk van de omgeving en de instellingen kan extra configuratie nodig zijn van deze rechten, via de policies. Een overzicht: Lokale policies op de Terminal Server worden gebruikt om toegangsrechten op het systeem expliciet in te stellen. Dit overkoepelt de instellingen per “connectie” zoals in vorige paragraaf werd behandeld. Indien de policies niemand toelaten zich aan te melden op het systeem, zullen alle connectiegeöriënteerde instellingen ook geen effect hebben. Domeincontroller policies zijn enkel van belang indien u een domeincontroller als Terminal Server gebruikt, wat dus niet aan te raden is. In een dergelijk geval vervangen ze de lokale policies. Domein policies hebben betrekking op alle Terminal Server computers in het domein. Via deze centrale policy stelt u dan ook in wat het algemene beleid is m.b.t. Terminal Services. Waar vindt u deze zaken nu terug? In het algemeen is het aan te raden een algemene domein-gebaseerde policy te definiëren. Daarvoor meldt u zich aan bij een domeincontroller en gaat u naar Administrative Tools, Domain Security Policy. De MMC snap-in voor beleidsconfiguratie verschijnt dan. Ga hierin nu naar Security Settings, Local Policies, User Rights Assignment: 15 Figuur 20 – Domeinpolicies instellen voor Terminal Services Via deze weg kunt u instellen dat Remote Desktop Users op alle Terminal Servers in het domein het recht hebben om aan te melden door “Allow log on through Terminal Services” aan te passen: Figuur 21 – Rechten toekennen 16 Alternatief kunt u deze instelling ook doorvoeren in de Local Security Policy op elke individuele Terminal Server, waardoor u meer machine-per-machine controle krijgt. Het instellen van de policy verloopt volkomen gelijkaardig. Noot: Er zijn diverse mogelijkheden om aanmelden rechten toe te kennen of te weigeren, via diverse niveaus van policies en rechten. Het is ten stelligste aan te raden deze configuratie goed bij te houden en te documenteren vermits de diverse niveaus tot verwarring kunnen leiden. Hou de “voorrangsregels” in het oog: eerst komt domain policy, daarna kan de local policy zijn zeg doen en tenslotte de connectieinstellingen op de server in kwestie. Van zodra één entiteit het recht weigert, houdt het op. Een policy die als “Not Defined” staat heeft géén invloed op de beslissing of de aanvraag al dan niet doorgelaten wordt. Verder zullen we overigens zien dat ook op individueel gebruikersniveau het recht op Terminal Services onzegd kan worden. 3.3. Serverinstellingen Tot slot nog even terug naar de Terminal Services Configuration MMC snap-in onder de node Server Settings. Hier vindt u instellingen terug die voor de ganse server (ongeacht de “connectie”) van toepassing zijn. Voorbeelden zijn het beheer van tijdelijke mappen, het al dan niet toelaten van Active Desktop en extra beveiligingsopties (die u beter laat zoals ze standaard staan). Via deze weg kunt u ook instellen dat een gebruiker beperkt is tot één gelijktijdige sessie (wat niet geldt voor leden van Administrators) en configureert u verder licentiëring (waarover later meer). Figuur 22 – Algemene serverinstellingen 4. Gebruikersconfiguratie Tijd om over te gaan op gebruikersconfiguratie. Zoals eerder gezegd, gaan we uit van een domeininfrastructuur met Active Directory. Het is dan ook logisch dat gebruikersinstellingen via Active Directory zullen geschieden. Ga naar Active Directory Users and Computers en open de eigenschappen van een gebruiker. Volgende tabbladen zijn relevant voor Terminal Services configuratie: Environment – Hiermee stelt u een “Initial program” (dat hier om duistere redenen “Starting program” wordt genoemd) in alsook de permissie tot het connecteren van lokale drives en printers met de server via mapping (zie ook eerder). Sessions – Het equivalent van Sessions in de serverconfiguratie wordt gebruikt om op gebruikersbasis specifieke limieten in te stellen en disconnectietijden op te geven. Als extra kunt u hier ook “reconnection” instellen waarmee u controleert van op welke pc’s het toegestaan is terug te verbidnen met een verbroken sessie. 17 Figuur 23 – “Allow reconnection” Remote Control – Instellingen met betrekking tot de mogelijkheid om “hulp op afstand” te bieden aan gebruikers die ingelogd zijn op het systeem. Zo kan u ondermeer instellen of het toegestaan is om met de sessie van de gebruiker in kwestie te verbinden en of toestemming van de gebruiker vereist is hiervoor (“Big Brother” scenario’s zijn dus mogelijk maar dienen expliciet ingesteld te worden). Figuur 24 – Remote control instellen 18 Terminal Services Profile – Configureert het pad naar het profiel van de gebruiker. Dit principe erft over van “roaming profiles” of “zwervende profielen” wat in het algemeen voor grote netwerken niet interessant is door de hoge netwerktraffiek die dit met zich meebrengt (zie tabblad Profile). Voor Terminal Services is de situatie echter rooskleuriger, vermits de profielen van de gebruiker enkel de pad van “profielenserver” (een fileserver dus) naar de Terminal Server moeten afleggen. Ook de “thuismap” kan via deze weg ingesteld worden (typisch Mijn Documenten van de gebruiker). Deze instellingen zijn in het bijzonder handig wanneer meerdere Terminal Servers aanwezig zijn en gebruikers verwachten dat hun instellingen op beide machines identiek dezelfde zijn (m.a.w. dat gebruikers nooit merken op welke Terminal Server ze eigenlijk aan het werken zijn). Verder kunt u via deze weg ook het recht om aan te melden bij om het even welke Terminal Server (in het domein) aan de gebruiker ontzeggen via het vinkje “Deny this user permissions to log on to any Terminal Server”. Figuur 25 – Gebruikersprofielen voor Terminal Services Zo ziet u maar dat Terminal Services zowat overal in het systeem hun wortels vinden, gaande van het vinkje “Remote Desktop” onder de systeemeigenschappen, over specifieke MMC snap-ins voor configuratie tot in Active Directory en de policies. Sommige van deze instellingen zijn overigens ook onder Group Policies te vinden en op die manier nog granulairder in te stellen (voor de liefhebbers ) op het niveau van Organizational Units in Active Directory (zie figuur 26). Noot: In sommige gevallen zult u vrij geavanceerde zaken willen doen via Group Policies om de rechten van gebruikers in te perken afhankelijk van waar de gebruiker zich bevindt. Logt een gebruiker zich aan op een pc in één of andere pc-klas dan gelden mogelijk andere beleidsregels dan wanneer de gebruiker zich aanmeldt op een bepaalde Terminal Server. Om dit te controleren kan men diverse features van Group Policies aanwenden zoals “loopback processing” en “WMI filters”. Dit zou ons echter te ver leiden maar indien u hierover specifieke vragen heeft, mag u me steeds contacteren. Hiermee besluiten we het uitgebreide hoofdstuk van beveiliging en gaan we over naar een ander cruciale activiteit, het configureren van clients. 19 Figuur 26 – Terminal Services configureren via Group Policies 5. Clients configureren Servers vragen om clients (of is het omgekeerd?), zoveel is duidelijk. Maar hoe zit dit met Terminal Services? Hier betreden we het domein van “thin clients”. 5.1. Thin Clients Thin clients zijn computers die geconfigureerd zijn om zoveel mogelijk van hun programmaverwerking over te laten aan een achterliggend systeem, zoals een Terminal Server. In feite is Terminal Services een vrij extreem type van thin client vermits alle invoer van toetsenbord en muis zondermeer naar de server wordt doorgestuurd die dan antwoord met afbeeldingen van wat er op de server in feite gebeurt, waardoor de gebruiker de (verdomd goede) illusie krijgt dat alles lokaal gebeurt. Hierdoor heeft de lokale pc slechts zéér weinig resources nodig, waaronder diskruimte (alle programma’s staan op de server), processor (het enige programma dat in wezen moet draaien is een RDP-client), geheugen (idem opmerking), etc. Terminal Services kan uiteraard geen wonderen doen: een 16-bit kleurenscherm zal niet plots 32-bits kleuren produceren en uit een thin client zonder geluidskaart zal geen streepje muziek tevoorschijn komen (tenzij het oude beestje een deuntje uit de Sound of Music kreunt bij elke schijfactiviteit ). Noot: Andere vormen van thin clients zijn in feite browserapplicaties (het leeuwendeel van het werk gebeurt op de webserver) en applicaties die veel werk overlaten aan een achterliggende server, bijvoorbeeld via web services. U behoort tot de gelukkige groep van “super thin client” gebruikers met Terminal Services. 20 5.2. Beschikbare clients 5.2.1. Desktop RDP-clients Om met Terminal Services te verbinden is er een RDP-client nodig. Microsoft levert dergelijke RDP-clients voor Windows 95, Windows 98, Windows Millennium, Windows NT 4, Windows 2000, Windows XP en Windows Server 2003. Onder Windows XP en Windows Server 2003 staat deze applicatie standaard geïnstalleerd onder de Accessoires. U kan deze tool ook opstarten via mstsc.exe. Noot: Windows XP-gebruikers hebben een versie van mstsc.exe die RDP 5.1 ondersteunt, tenzij een update is gebeurd. Het is aan te raden op elke pc de nieuwste versie van de Remote Desktop Client te installeren op de manier die hieronder wordt uiteengezet. Screenshots van deze tool zag u al eerder in figuur 3 en figuur 12. Na het verbinden komt u terecht op een bureaublad aangeboden door de server waar u ook toegang hebt tot alle programma’s die op de server geïnstalleerd staan. Het spreekt voor zich dat dit een enorm voordeel betekent op gebied van softwareinstallatie die enkel maar op de server dient te gebeuren. Naast de Microsoft-implementatie van de RDP-client bestaan ook alternatieven van 3e partijen maar vaak zijn deze minder handig in gebruik, minder compleet of gebruiken ze een oudere versie van het RDP-protocol. 5.2.2. De TSWEB webclient Behalve de desktop-versie van de RDP-client is er ook een ActiveX-versie die kan draaien in Internet Explorer. Om deze software te kunnen gebruiken, dient de Remote Desktop Web Connection component toe te voegen op een IIS server. Indien u nog geen IIS webserver hebt draaien, kunt u er uiteraard altijd eentje opzetten. Is de rol van deze webserver puur het draaien van de TSWEB webclient, dan kunt u deze rol gerust op de Terminal Server zelf installeren. Wenst u de webserver echter ook voor andere doeleinden te gebruiken (zoals vakwebsites, SharePoint, FTP-websites, FrontPage-websites, e.d.) dan gebruikt u best een afzonderlijke webserver, uit veiligheids- en performantieoverwegingen. Installatie van een IIS webserver gebeurt eveneens via de Manage Your Server wizard. Het installeren van de Remote Desktop Web Connection component gebeurt via Add/Remove Windows Components onder het Config Panel, Add or Remove Programs. Via Application Server, Internet Information Services (IIS), World Wide Web Service vindt u de Remote Desktop Web Connection. Figuur 27 – De Remote Desktop Web Connection component 21 Eens deze taak voltooid is, en de webserver gestart is (eventueel via iisreset te herstarten) kunt u de Remote Desktop Connection Web Client via http://(server)/tsweb openen. Eerst dient u evenwel de ActiveX control te installeren. Op een Windows XP SP2 of Windows Server 2003 SP1 machine ziet dit er als volgt uit: Figuur 28 – De Remote Desktop ActiveX Control installeren Noot: Indien u deze site niet binnenshuis wil hosten of u graag overal ter wereld toegang hebt tot deze tool en niet in staat bent de interne site te publiceren (bijvoorbeeld omwille van restricties opgelegd door de internet service provider), kan u de TSWEB-client ook kopiëren naar een webserver online. Zo draai ik bijvoorbeeld deze tool via http://www.bartdesmet.net/tsweb voor het geval ik ergens RDP toegang nodig heb waar geen RDP-client geïnstalleerd staat. De bestanden van TSWEB vindt u – na installatie zoals hierboven beschreven – terug onder %windir%\web\tsweb op de server. Eens dit voltooid is, kan de client gebruikt worden: Figuur 29 – De Remote Desktop Web Connection tool in Internet Explorer 22 U kunt nu de servernaam (of het IP-adres) opgeven en de schermresolutie kiezen onder “Size” (standaard Fullscreen). Vervolgens klikt u op Connect om met de server te verbinden. Het resultaat bij de keuze van een 640x480 resolutie ziet er bijvoorbeeld als volgt uit op de gebruikte pc: Figuur 30 – Een Terminal Services verbinding via “tsweb” Deze client heeft echter redelijk wat beperkingen in vergelijking met de desktopversie van de Remote Desktop client die we in de vorige paragraaf aanhaalden en ook verder zullen gebruiken. Zo is het bijvoorbeeld niet mogelijk om lokale schrijven of printers te mappen op de server. Noot: Om toegang te krijgen tot de server moeten de nodige poorten openstaan, met name RDP poort 3389. We zullen hier later nog op terugkomen maar het is van groot belang te beseffen dat ook TSWEB-gebruikers via die poort verbinden en niet via HTTP zoals sommigen denken. De HTTP-website biedt enkel een pagina aan die een client-side ActiveX control gebruikt voor de eigenlijke verbinding. 5.2.3. Remote Desktops MMC client Gebruikers van Windows Server 2003 krijgen er een extra tool bij, met name de Remote Desktops MMC snapin onder Administrative Tools. De tools is vooral geschikt voor systeembeheerders die vele systemen wensen te beheren op afstand. Via één centrale MMC snap-in kan dan een werkomgeving met tientallen shortcuts naar belangrijke machines (Windows Server 2003 machines, Windows 2000 Server machines, Windows XP client machines geconfigureerd voor Remote Desktop) worden ingesteld. 23 Figuur 31 – De Remote Desktops MMC client via Administrative Tools Figuur 32 – Een sessie onder de Remote Desktops MMC 24 5.3. Clients installeren Nu we kennis gemaakt hebben met het principe van de Thin Client en de nood aan een RDP-client om met de server te verbinden, is het tijd om de RDP-client te verspreiden op de clientcomputers. We gaan in wat volgt dus uit van de desktopversie van de Remote Desktop Connection tool. 5.3.1. De RDP-client installer Een geschikte versie van de RDP-client wordt geleverd bij Windows Server 2003 en werd o.a. in het laatste Service Pack (SP1) vernieuwd. De installatiebestanden zijn te vinden onder %windir%\system32\clients\tsclient op de server. Figuur 33 – Installatiebestanden van de RDP-client Via msrdpcli.msi of setup.exe installeert u de client. U kan bijvoorbeeld de bestanden kopiëren op een diskette (inclusief setup.ini) en de installatie uitvoeren op een Windows 98 machine. Figuur 34 – De RDP-client installeren onder Windows 98 25 Indien het netwerk juist geconfigureerd is en u toegang heeft tot een fileserver kunt u uiteraard ook via die weg de client op de Windows 98 machine installeren. Zo kunt u de clients-map op de Windows Server 2003 machine delen en openstellen voor iedereen met alleen-lezen rechten. Hoe dan ook, installatie onder Windows 98 zal een manuele interventie vragen op de clientcomputer. Eens geïnstalleerd vindt u de Remote Desktop Connection terug onder Start, Programs. Het gebruik van de tool wordt verder in detail besproken. 5.3.2. De client verspreiden via IntelliMirror In vorige paragraaf hebben we gezien hoe manuele installatie van de RDP-client op een machine kan gebeuren. Op systemen met Windows 2000 Professional of Windows XP Professional die lid zijn van het Active Directory domein kan men echter deze installatie automatiseren via IntelliMirror. Noot: Onder Windows XP zit reeds een Remote Desktop Client ingebakken. Om echter de laatste features te hebben (meer bepaald de securityverbeteringen uit Windows Server 2003 SP1) is het aanbevolen de versie van op de server ook op deze machines te installeren. Noot: Iets hoger werd Windows XP Professional vermeld en niet Windows XP in het algemeen. De reden daarvoor is dat Windows XP Home machines geen lid kunnen zijn van een Active Directory domein. Op dergelijke machines zult u ofwel de ingebakken client moeten gebruiken ofwel de RDP-client van de server moeten installeren (aanbevolen), bijvoorbeeld via een floppy of via het netwerk. Om te beginnen dient u hiertoe ervoor te zorgen dat de computers waarop u de client wenst te installeren zich onder een Organizational Unit (NL: Afdeling) bevinden in Active Directory. Kort gezegt vormt een OU een eenheid voor configuratie van gebruikers en/of computers, terwijl groepen een rol spelen in beveiliging. Op een OU kan men een Group Policy toepassen waarin bijvoorbeeld Windows-instellingen worden beperkt (zo kan men bijvoorbeeld voor een OU “Leerlingen” toegang tot het Control Panel ontzeggen). Indien u niet vertrouwt bent met Group Policies, is dit zeker de moeite waard om verder uit te pluizen. Terug naar Terminal Services nu. Valideer dat de te beheren computers zich onder een OU bevinden, zoals hieronder is weergegeven: Figuur 35 – Computers in een Organizational Unit Noot: Standaard komen nieuwe computerleden in een domein terecht in Computers (tenzij u bijvoorbeeld installeert via RIS). U dient dus manueel via Active Directory Users and Computers de computeraccounts te verplaatsen naar de juiste OU, die bijvoorbeeld de fysieke structuur van een gebouw reflecteert (bijvoorbeeld via het gebruik van lokaalnummers als namen voor OU’s). Nu gaan we de pc’s in deze OU beheren via Group Policies. Dit doet u door via de eigenschappen van de OU naar het tabblad Group Policy te gaan. Via de knop New maakt u vervolgens een nieuwe GPO (group policy object aan) dat automatisch gelinkt wordt met de huidige OU. Noot: Er is een onderscheid tussen GPO’s, dewelke niet veel meer voorstellen dan een aantal configuratieparameters en links. Een link maakt de brug tussen een GPO en een OU waarop de GPO werkzaam is. Zo kunt 26 u dus bijvoorbeeld (zoals in volgende screenshot weergegeven) één GPO maken voor een set van instellingen (bijvoorbeeld voor RDP-client deployment, wat wij zullen doen) en deze dan aan meerdere OU’s linken (zoals alle OU’s waarin computers van het educatieve netwerk zitten). Figuur 36 – Een GPO voor RDP-client deployment Vervolgens klikt u op Edit om de GPO verder te configureren. In de MMC die nu verschijnt, gaat u naar Computer Configuration (vermits we computers uit de gelinkte OU willen configureren), Software Settings, Software installation. Figuur 37 – Software installation onder de GPO configuratie Onder deze node staan alle softwarepakketten die via de GPO verspreid worden op de clients in het netwerk die zich in de OU bevinden. We zullen nu de RDP-client hieraan toevoegen. Om te beginnen dienen we ervoor te zorgen dat de installatiebestanden via het netwerk beschikbaar zijn. Ga daartoe dus naar de map %windir%\system32\clients en deel deze via het netwerk. Noot: De rechten in Windows Server 2003 voor bestands- en mapdeling staan standaard op Iedereen AlleenLezen, wat een veilige standaardinstelling is. 27 Figuur 38 – De clients-map delen Ga nu terug naar de Group Policy Object Editor en klik met de rechtermuisknop op Software installation. Kies vervolgens New, Package. Selecteer nu het msrdpcli.msi-bestand via het netwerkpad naar de gedeelde map op de server (bvb \\server\clients\tsclient\win32\msrdpcli.msi). Figuur 39 – Het installatiepakket voor de RDP-client selecteren Vervolgens dient u de deployment methode aan te geven. De standaardinstelling “Assigned” volstaat voor dit doeleinde. Uiteindelijk moet de “map” Software installation onder de Group Policy Object Editor er als volgt uitzien: 28 Figuur 40 – Het pakket is klaar voor deployment Wanneer u nu een client uit de beheerde OU opstart, wordt de RDP-client automatisch op de computer geïnstalleerd. Hou er wel rekening mee dat door replicatievertragingen eigen aan Active Directory het een paar minuten kan duren voor alle clients de configuratiewijziging ontvangen. Bij het opstarten van de computer zult u de installatie van de RDP-client zien voorbijflitsen. Figuur 41 – IntelliMirror aan de slag op de client Na het aanmelden vindt u nu de Remote Desktop client terug via het menu Start. Noot: Onder Windows XP wordt de standaardclient mstsc.exe uit de Windows\system32-map niet vervangen. De nieuwe client wordt geïnstalleerd onder de map Program Files, submap Remote Desktop en is via het Startmenu rechtstreeks beschikbaar. De snelkoppeling onder de Accessoires, Communication map wordt ook naar deze nieuwe locatie herleid. Doet u echter Start, Run, mstsc, OK dan komt u nog steeds op de oude versie uit (welke u overigens niet zomaar kunt weggooien vermits de Windows File Protection het bestand zou terugzetten na verwijdering). 5.3.3. Conclusie Voor computers die draaien op Windows XP Professional of Windows 2000 Professional kunt u de IntelliMirror feature van Active Directory inzetten om de software te installeren. Voor oudere systemen zoals Windows 98 of Windows NT 4.0 dient u een manuele installatie (via een floppy of over het netwerk bijvoorbeeld) uit te voeren. 29 6. Het gebruik van Terminal Services Nu we de installatiewateren van de RDP-client doorzwommen hebben is het tijd om eens in meer stil te staan bij het gebruik van de RDP-client en Terminal Server sessies in het algemeen. 6.1. Functionaliteit van de Remote Desktop Connection client Laten we beginnen bij de zopas geïnstalleerde RDP-client tool en eens nader bekijken wat deze tool zoal in zijn mars heeft. Open hiertoe de tool en klik op de knop Options. Een totaal van zes tabbladen verschijnt nu. 6.1.1. Algemene instellingen Onder het tabblad General staan de aanmeldingsinstellingen opgegeven. Hieronder verstaan we de Terminal Server computer (de naam of het IP-adres) en eventueel een gebruikersnaam, wachtwoord en domein voor automatische aanmelding. We zagen echter eerder dat de server het onthouden van een wachtwoord kan uitschakelen en telkens een wachtwoord kan vereisen (figuur 11). Verder is er ook een sectie “Connection settings” te vinden via dewelke .rdp-bestanden gemaakt kunnen worden die dan rechtstreeks gebruikt kunnen worden om verbinding met een server op te zetten. Hierover vertellen we straks meer. Figuur 42 – Algemene instellingen op de client 6.1.2. Weergave Het tweede tabblad heet Display en wordt gebruikt om de desktopgrootte van de verbinding in te stellen alsook de kleurdiepte. Merk op dat enkel 4:3 formaten ondersteund worden in RDP 5.2 en dat ook een “Full screen” verbinding mogelijk is door de slider uiterst rechts te positioneren. Opnieuw geldt de wet van de sterkste: wordt op de server ingesteld dat de maximale kleurendiepte 16 bits bedraagt dan zullen hogere instellingen op de client geen effect hebben. 30 Figuur 43 – Weergaveopties 6.1.3. Omleiding van bronnen Het derde tabblad, Local Resources, herbergt heel wat interessante features van Terminal Services die het leven van de gebruiker stukken gemakkelijker maken. Figuur 44 – Omleiding van bronnen configureren 31 6.1.3.1. Geluid Een eerste optie is “Remote computer sound” waarmee het geluid geproduceerd door de server in de gebruikerssessie over het netwerk naar de clientcomputer wordt teruggestuurd om daar afgespeeld te worden. Op die manier wordt de totale gebruikerservaring stukken attactiever, bijvoorbeeld bij het browsen naar interactieve websites, bij het afspelen van filmpjes of het raadplegen van een elektronisch naslagwerk waarin multimedia prominent aanwezig is. De keerzijde van de medaille is uiteraard de hogere netwerkbelasting vermits ook audiogegevens over het netwerk dienen verstuurd te worden. Om die reden kan de server zo ingesteld worden dat deze optie geen effect heeft (figuur 17). 6.1.3.2. Toetsencombinaties Via de sectie “Keyboard” worden Windows-toetsencombinaties omgeleid. Het spreekt voor zich toetsaanslagen van de “gewone toetsen” steeds naar de server worden gezonden. Voor speciale toetsen, zoals de Windowstoets (en combinaties ermee) ligt de situatie anders vermits het lokale systeem deze normaalgezien afhandelt. Als u bijvoorbeeld op de Windows-toets drukt, verschijnt het startmenu. Met Windows-E verschijnt Verkenner en met Windows-R start u het dialoogvenster Run. Om nog maar te zwijgen van Windows-D, Windows-M, Windows-F, Windows-Pause, enz. Ook toetsencombinaties zoals ALT-TAB om tussen programma’s over te schakelen worden normaal door het lokale besturingssysteem onderschept voor verwerking. Via de RDP-client is het echter mogelijk deze toetsen naar de server te sturen, althans bij Windows 2000 en Windows XP clients. Op oudere platformen zoals Windows 98 is deze optie uitgeschakeld. Noot: CTRL-ALT-DELETE blijft een lokale toetsencombinatie onder elk platform. Geen enkele applicatie kan deze SAS (security attention stroke) onderscheppen uit veiligheidsoverwegingen. Om die reden wordt onder het startmenu bij een Terminal Services sessie een item Windows Security toegevoegd dat hetzelfde effect heeft als een druk op CTRL-ALT-DELETE op de doelcomputer (figuur 45). Figuur 45 – Windows Security als vervanging voor CTRL-ALT-DELETE 32 Noot: Voor heel wat toetsencombinaties bestaat een alternatief onder Terminal Services. Zo kan men bijvoorbeeld het startmenu uitklappen via ALT-HOME. Een overzichtje van andere veelgebruikte combinaties is hieronder weergegeven. Klassieke toetsencombinatie WIN (Startmenu) ALT-TAB vasthouden (links naar rechts) ALT-TAB vasthouden (rechts naar links) ALT-TAB naar volgende programma ALT-SPATIE (Windows-menu venster) ALT-PrntScrn (screenshot huidig venster) PrntScrn (volledige screenshot) CTRL-ALT-DEL Terminal Services equivalent ALT-HOME ALT-PAGE UP ALT-PAGE DOWN ALT-INSERT ALT-DEL CTRL-ALT-(FN-)CTRL-ALT-(FN-)+ CTRL-ALT-END Een andere toetsencombinatie is CTRL-ALT-BREAK om te switchen tussen “venstermodus” en fullscreen modus. Dit is ondermeer nuttig indien u even snel iets op de lokale clientpc wenst uit te voeren en daarna terug wil naar een schermvullend beeld op de Terminal Server sessie. 6.1.3.3. Lokale apparaten en bronnen omleiden Tot slot vindt u onder “Local Resources” instellingen voor “Local devices” terug waarmee u de seriële poorten (COM), diskdrives en printers kunt afleiden naar de server. Op sommige systemen vindt u ook omleiding voor smart card terug, mits de nodige hardwareondersteuning. Laten we deze omleiding even nader bekijken. Veronderstel dat we zowel Printers als Disk drives hebben aangevinkt in de “Local devices” configuratie en pogen te verbinden met de server. Een eerste melding die dan wordt weergegeven is de volgende: Figuur 46 – Disk drives omleiden Het omleiden van disks houdt immers een aanzienlijk risico in indien u verbindt met een niet-betrouwbare server. U opent immers de poort naar de lokale computer vanop de server. Hoewel gegevens veilig getransporteerd worden, dient u zich er steeds van te vergewissen deze optie niet te gebruiken bij een onbekende server, iets wat u hopelijk in de praktijk niet te gauw tegenkomt. Eens verbonden met de server kunnen we een kijkje nemen onder de Verkenner op de server (via een druk op WIN-E indien omleiding van toetsencombinaties werd ingesteld – zie puntje 6.1.3.2 – en dit door de client ondersteund wordt, of via het startmenu of via ...). Door drive mapping worden de schijven van de lokale clientcomputer ook op de server zichtbaar. In volgende schermafbeeldingen ziet u het resultaat van dit alles. Zo heeft de clientpc (genaamd BIGBOY) waarop ik dit momenteel schrijf 3 lokale partities met letters C, D en E alsook een DVD-RW drive met letter X. U merkt meteen op dat dergelijke drive mappings op de server zichtbaar zijn als netwerkverbindingen. 33 Figuur 47 – Drive mapping van lokale drives De schijven A, C en D die weergegeven worden in Verkenner op de server zijn dus de échte schijven die in de hardware van de server zijn geïnstalleerd. Laat u bijvoorbeeld in de DVD-drive (D) een cd-rom achter met bepaalde zaken erop dan kunnen alle Terminal Services gebruikers dit bekijken via de Verkenner. Merk evenwel op dat deze drives verborgen kunnen worden via Group Policies (wat enige configuratie vereist). Wat betreft printers geldt een min of meer analoog principe, met één extra moeilijkheid: de driver van de printer moet ook op de server aanwezig zijn. Is dit niet het geval dan zal een gebeurtenis met foutcode 1111 gelogd worden onder het Systeemlogboek op de server. Om dit probleem op te lossen dient u (als beheerder) op de server naar de map Printers te gaan en dan via het menu File, Server Properties, tabblad Drivers de driver toe te voegen voor de desbetreffende printer. Dit alles is weergegeven in figuur 48 en 49. In bovenstaande uiteenzetting werd steeds impliciet gesproken over “automatische printer mapping”. Hierbij worden de printers van de client meteen omgeleid (indien de driver op de server gekend is) zonder verdere interventie. Voor LPT-gebaseerde printers is echter ook manuele printer-redirection mogelijk, als volgt. De client verbindt met de server met LPT-poortmapping ingeschakeld. Hierdoor worden virtuele poorten op de server aangemaakt die deze echte poorten voorstellen maar in werkelijkheid gegevens via het netwerk eerst terugsturen naar de client. Het is via die poorten en de wizard Add Printer dat een beheerder van de server een statische mapping kan maken naar de printer verbonden met de clientcomputer. (zie figuur 50). Het omleiden van de seriële poort zullen we hier niet verder bespreken maar kan interessant zijn voor de ondersteuning van speciale types hardware of technische panelen waarmee geïnterageerd wordt. Opnieuw wordt de lokale poort via het netwerk indirect verbonden met de server waardoor programma’s op de server de illusie krijgen met een échte lokale poort te maken te hebben terwijl dat in werkelijkheid stukken complexer verloopt op de achtergrond. 34 Tot vervelens toe vermelden we dat al deze instellingen evenwel door de server kunnen beperkt worden, zodat bijvoorbeeld drive mapping gewoonweg niet toegestaan wordt. Figuur 48 – Onbekende printerdriver op de server Figuur 49 – Printerdrivers toevoegen op de server 35 Figuur 50 – Een manuele printermapping uitvoeren 6.1.4. Een opstartprogramma instellen Een oude bekende die we reeds op de server zagen is het instellen van een startup programma (zie ondermeer figuur 14). Indien toegestaan kan de gebruiker hier een initieel programma instellen waardoor verbinding met de Terminal Server niet de klassieke Windows Explorer shell weergeeft maar een gespecifieerd programma. Merk op dat paden die hier opgegeven worden de paden zijn naar applicaties op de server en dus geen lokale paden, vermits de server daar geen bericht aan heeft. Figuur 51 – Een initieel programma instellen 36 Opnieuw heeft de server het laatste woord wat betreft initiële programma’s. Is de server zelf ingesteld om standaard een startup programma op te starten, dan zullen voorrangsregels gelden en wint de server de strijd. Ook gebruikersspecifieke instellingen in Active Directory kunnen hun rol spelen. Staat daar een standaardprogramma ingesteld (zie figuur 14) dan wordt dat programma genomen. Is het recht om een dergelijk programma op te geven ontnomen aan de gebruiker via zijn of haar profiel dan is dat uiteraard ook van kracht. 6.1.5. Gebruikerservaring Multimediale applicaties vereisen veel resources en netwerktraffiek, zoveel is duidelijk. Zo zal een poging om een te zware “omgeving” door te zenden naar een gebruiker via een smalbandverbinding typisch op problemen stuiten met een schokkerig beeld of een – op het zicht – traag reagerende server. Daarom kan de omgeving nader geconfigureerd worden om zware grafische zaken uit te schakelen. Figuur 52 – De gebruikerservaring configureren Via het tabblad “Experience” hebt u toegang tot een reeks vooraf geconfigureerde “profielen” op basis van de connectiesnelheid. Zo kan RDP perfect werken over een 28.8 Kbps verbinding (ja, u hoort het goed) mits u zaken zoals desktop achtergronden, animaties en thema’s uitschakelt. Bitmap caching wordt dan weer best wél ingeschakeld om snelheid te verhogen. Noot: Het spreekt voor zich dat niet enkel dit tabblad de volledige gebruikerservaring bepaalt. Zaken zoals de ingestelde resolutie, kleurendiepte en mappings bepalen zondermeer evenzeer de totale performantie die bereikt kan worden. Vermits u vooral op een LAN zult werken zou u minder snel op beperkingen moeten botsen maar indien dit toch gebeurt, is het tabblad “Experience” de eerste plaats om aan tuning te doen. Voor instabiele verbindingen is de instelling “Reconnect if connection is dropped” warm aanbevolen. In een dergelijk geval zal een verbroken verbinding leiden tot een reeks (20 in totaal) automatische “reconnection attempts”. Wordt de verbinding binnen die tijd hersteld (bijvoorbeeld via een Herstel/Repair-opdracht voor een draadloze verbinding) dan komt de sessie zondermeer terug levend zonder dat de gebruiker opnieuw een wachtwoord moet opgeven. 37 Figuur 53 – Automatisch herverbinden bij een verbroken connectie 6.1.6. Beveiliging Het laatste tabblad “Security” bevat nieuwe beveiligingsopties die geïntroduceerd werden in Windows Server 2003 SP1. Hieraan herkent u dat u – op heden althans – de laatste RDP-client versie draait. Een uiteenzetting over deze vrij geavanceerde materie zou ons te ver leiden en laten we dus achterwege. Extra informatie is te vinden in de helpfunctie en op het web. Tijdens de sessie kan hieraan eventueel extra tijd gespendeerd worden. 6.2. De duistere kant van de RDP-client Een goede tool zoals de RDP-client dient ook zijn duistere kanten te hebben . Vandaar deze paragraaf. Om deze duistere opties te onthullen voert u mstsc.exe -? uit (via de commandolijn in de map %programfiles%\Remote Desktop). Hiermee tovert u een venstertje tevoorschijn met extra mogelijkheden. Een overzichtje: Via /v kunt u meteen een server opgeven bij het oproepen van mstsc.exe (bijvoorbeeld mstsc /v:server). Met /f opent u de connectie meteen in full-screen modus. De opties /w en /h worden gebruikt om de dimensies van het bureaublad binnen de connectie in te stellen. Hiermee kunt u in principe rond de 4:3 beperking. Een resolutie groter dan 1600x1200 pixels is evenwel niet mogelijk. De resterende opties, waaronder /console en /edit bespreken we in meer detail. 38 Figuur 54 – Extra opties van Remote Desktop 6.2.1. Verbinden met de console De optie /console is uitermate interessant. Wat deze doet is (voor beheerders alleen) verbinden met de lokale console op de server, d.i. wat lokaal op de machine op het scherm te zien is. Indien u mstsc.exe start met de parameter /console zal bij verbinding met de server dé – er is er immers maar één – console-sessie geopend worden. Indien iemand aangemeld is aan de console dan verspringt het scherm op de server naar het “Computer Locked” scherm. Wordt de server terug lokaal ontgrendeld dan wordt de Terminal Services verbinding met de console verbroken. Noot: Uiteraard werkt /console maar van zodra het besturingssysteem op de server gestart is. Voor configuratie van het BIOS of zelfs de installatie van het besturingssysteem op afstand maar met toegang tot toetsenbord, muis en scherm hebt u een KVM-oplossing nodig. KVM staat voor Keyboard-Video-Mouse en laat toe een server volledig te bedienen via het netwerk. Met volledig bedoelen we dat het ook mogelijk is de machine écht te resetten, uit en aan te zetten en in het BIOS te snuisteren. Noot bij de noot: In de sessie wordt gebruik gemaakt van Virtual Server 2005 R2 wat een protocol aan boord heeft, genaamd VMRC, wat in feite KVM-toegang regelt tot een virtuele machine. Dit zal tijdens de sessie kort aangehaald worden. 6.2.2. RDP-bestanden In een groot deel van de gevallen zullen gebruikers herhaaldelijk met dezelfde instellingen aanmelden bij dezelfde server(s). Of misschien wilt u gebruikers gewoon één handige link te geven naar de Terminal Server om een sessie op starten. In dergelijke gevallen zijn RDP-bestanden de uitkomst. In figuur 42 zag u reeds een onderdeel “Connection settings” waar het mogelijk is om de opgegeven instellingen op te slaan of in te laden. Veronderstel dat u een servernaam opgeeft, de resolutie instelt op 1024x768, mappings definieert en een LANexperience aanduidt via het tabblad Experience. Dan is het via een druk op de knop “Save As” mogelijk deze instellingen te bewaren in een .rdp bestand. Noot: De standaardinstellingen worden per gebruiker bijgehouden in het (verborgen) bestand default.rdp in de My Documents map. 39 Daarna kunt u via mstsc het bestand terug openen met de knop Open. Alternatief (en handiger) is natuurlijk op het bestand te (dubbel)klikken vanuit Verkenner. Hierdoor wordt meteen een verbinding opgezet met de opgegeven instellingen. Via mstsc.exe /edit kunt u de instellingen in het bestand wijzigen. Tip: U kunt via Group Policies de bureaubladen van gebruikers(groepen) centraal bijhouden op de server zodat u controle hebt over de snelkoppelingen die aangeboden worden. Dit gebeurt via Folder Redirection: Figuur 55 – Folder Redirection van een bureaublad Door dan onder de opgegeven map een .RDP-bestand te plaatsen (of een snelkoppeling naar een .RDPbestand dat bijvoorbeeld in een gedeelde map staat) kunt u centraal de verbindingsinstellingen regelen. Nog een reden om Group Policies nader te bekijken. Noot: Een RDP-bestand is een zuiver tekstbestand en kan ook via Notepad geopend worden en bewerkt worden. De inhoud van het hier geconfigureerde bestand ziet er als volgt uit: screen mode id:i:1 desktopwidth:i:1024 desktopheight:i:768 session bpp:i:16 winposstr:s:2,3,0,0,800,600 full address:s:10.0.0.2 compression:i:1 keyboardhook:i:1 audiomode:i:0 redirectdrives:i:1 redirectprinters:i:1 redirectcomports:i:0 redirectsmartcards:i:1 displayconnectionbar:i:1 autoreconnection enabled:i:1 40 authentication level:i:0 username:s:Administrator domain:s:TSDEMO alternate shell:s: shell working directory:s: disable wallpaper:i:0 disable full window drag:i:0 disable menu anims:i:0 disable themes:i:0 disable cursor setting:i:0 bitmapcachepersistenable:i:1 7. Serverbeheer 7.1. Omspringen met sessies Sessies werden reeds eerder uitgebreid aangehaald in deze syllabus. Zo werd ondermeer duidelijk gemaakt wat het verschil is tussen afmelden en een verbinding verbreken, wat een sessie openhoudt op de server. Ook werd gesproken over het configureren van tijdslimieten voor sessies. Administrators en power users hebben echter nog meer mogelijkheden om te werken met sessies. Om exact te zijn, gaat het hier in feite over gebruikers die voldoende rechten (cf. Figuur 19) hebben om een aantal acties uit te voeren. Op de server vindt u namelijk onder de map Administrative Tools een programma terug genaamd “Terminal Services Manager” (tsadmin.exe). Via deze tool beheert u actieve sessies. Figuur 56 – De Terminal Services Manager Zo ziet u aan de linkerkant een lijst met actieve sessies op de RDP-Tcp connectie. Op een systeem in productie zullen dit er uiteraard véél meer zijn dan wat in de screenshot hier wordt weergegeven. Via een klik op de rechtermuisknop krijgt u toegang tot een aantal acties die op een sessie kunnen worden uitgevoerd, waaronder het verbreken van een sessie, het resetten van een sessie, het verzenden van een bericht en het overnemen van een sessie. 41 Figuur 57 – Een sessie beheren Het verzenden van een bericht (Send) is nuttig om personen te informeren van onderhoudswerkzaamheden: Figuur 58 – Berichten verzenden naar een Termianl Services sessie Disconnect is normaliter vrij duidelijk en verbreekt de connectie op de client. Afhankelijk van diverse instellingen (idle times e.d.) kan de gebruiker daarna al dan niet terug verbinden. Figuur 59 – Een sessie werd verbroken door de beheerder 42 Via Connect kunt u een sessie overnemen als deze actief is of verbroken (ook weer afhankelijk van instellingen wat kan en wat niet). Daartoe moet u eerst het wachtwoord opgeven van de gebruiker in kwestie (dit is echter niet mogelijk op de console of via een mstsc /console sessie). Deze optie werkt echter niet altijd even vlotjes en hangt af van een reeks configuratieparameters. In de praktijk is een dergelijke verbinding niet vaak interessant, ook uit privacy-redenen en vermits u het wachtwoord van een doelgebruiker normaal niet kent. De optie Status geeft nuttige informatie over de sessie weer, zoals hieronder geïllustreerd: Figuur 60 – Informatie over een sessie Remote Control is een andere krachtige feature onder sessiebeheer en stelt u in staat een andere gebruiker uit de nood te helpen door de sessie tijdelijk over te nemen, afhankelijk van configuratie al dan niet met een vereiste toestemming van de gebruiker in kwestie (zie figuur 16). Om een dergelijke hulpsessie te starten, moet u eerst een “hot key” definiëren om de hulpsessie te beëindigen (onder Windows XP “Hulp of afstand”, wat beroep doet op deze technologie, is dat Escape). Figuur 60 – Een hotkey voor “Remote Control” CTRL-* is de standaardinstelling (waarbij de asterisk op het numerieke toetsenbord gebruikt wordt, eventueel met Fn op laptops). Daarna wordt de sessie overgenomen en moet de client (afhankelijk van instellingen toegang goedkeuren binnen een zekere tijdslimiet): Figuur 61 – Remote Control toestaan 43 Uiteindelijk delen beide gebruikers nu dezelfde sessie en ziet de persoon die geholpen wordt alles in real time voor zijn neus gebeuren. Om de Remote Control te verbreken wordt de hotkey ingedrukt. Figuur 62 – Remote Control in actie Tot slot is er de optie Reset waarmee een connectie “brutaal” gereset wordt en de sessie gewoon getermineerd wordt. Dit kan nuttig zijn indien bronnen moeten vrijgemaakt worden of zaken in de soep draaien, maar over het algemeen hebt u dit niet nodig. Laten we het dus maar een laatste redmiddel noemen. 7.2. Programma’s installeren Een Terminal Server zonder applicaties is als een ... juist ja. Hoog tijd dus om applicaties te installeren op de server die ter beschikking komen te staan van de gebruikers. Eigenlijk verdient dit onderwerp nauwelijks een eigen paragraaf in deze syllabus gezien de eenvoud ervan. In grote lijnen komt de installatie van software op een Terminal Server gewoon neer op ... de installatie van de software op de server. Wenst u bijvoorbeeld Office 2003 te installeren op de server dan wandelt u met de disk in handen naar de machine en installeert u de software. Van zodra de installatie voltooid is, kunnen gebruikers dan de software ook effectief gebruiken via de Terminal Server. Moest het zo triviaal zijn, zou ik ook effectief geen aparte paragraaf hieraan gewijd hebben. U dient echter een paar kleine zaken te weten. Zo zal bij het starten van een setup de modus van de server tijdelijk gewijzigd worden naar installatiemodus. Concreet zorgt deze modus ervoor dat het risico op conflicten door de aanwezige gebruikers op het systeem gereduceerd wordt. Om deze status aan te duiden verschijnt een wizard “After installation” die u doorklikt eens de setup afgehandeld is. In het verleden – in Windows 2000 Server – moest u de modus manueel veranderen via het commando change user. Zo krijgt u via change user /query de huidige modus te zien, d.i. installatiemodus of uitvoeringsmodus. Via de commando’s change user /install en change user /execute verandert u deze modus n.a.v. een installatie (voor en na). In Windows Server 2003 gebeurt dit dus automatisch behalve voor oudere setuprogramma’s die Windows niet als setups herkent. In een dergelijk geval moet u nog steeds beroepen op deze commando’s. 44 Figuur 63 – In installatiemodus tijdens een setup Eens de setup voltooid is klikt u op Next en Finish om terug te keren naar uitvoeringsmodus. Figuur 64 – Terug naar uitvoeringsmodus Wenst u een stapje verder te gaan en tijdens een kritische installatie alle logonactiviteiten tijdelijk uit te schakelen dan kan u gebruik maken van change logon /disable (en analoog /enable om in te schakelen). Figuur 65 – Sessie logins tijdelijk uitschakelen 45 Indien logins uitgeschakeld zijn krijgen gebruikers het volgende te zien bij een poging tot het opzetten van een Terminal Services sessie (bestaande gebruikers kunnen gewoon verderwerken): Figuur 66 – Remote logins uitgeschakeld Hoe dan ook, de installatie van software is een makkie en software die ook draait onder Windows XP zal over het algemeen ook perfect werken op een Windows Server 2003 Terminal Server: Figuur 67 – Microsoft Office Word 2003 in een Terminal Services sessie 7.3. Nuttige commando’s Terminal Services beheert u niet alleen via een resem tools maar bestaat ook uit een aantal handige commandolijn-tools die hun nut kunnen bewijzen. Een overzicht van tools die ook via de GUI toegankelijk zijn: Logoff wordt gebruikt om een sessie (aangegeven met een ID) uit te loggen. Msg verzendt een bericht naar een bepaalde sessie. Query process geeft informatie weer over de processen die lopen op de Terminal Server, per sessie of per gebruiker weer te geven. 46 Query session geeft een overzicht van sessies en hun status. Query user geeft de gebruikers op het systeem weer, met status en sessieinformatie. Reset session wordt gebruikt om een sessie te resetten. Shadow start een remote control sessie op met een andere gebruiker. Tscon en tsdiscon spreken voor zich en connecteren en disconnecteren een sessie. Tskill laat toe een process op de server te beëindigen, bijvoorbeeld als een gebruiker vast zit. Andere nuttige tools zijn: Change user en change logon zoals eerder besproken. Change port om poorten te beheren (geavanceerd). Cprofile ruimt gebruikersprofielen op de server op en maakt ruimte vrij. Tsprof kopieert Terminal Services instellingen (zie §4) van één gebruiker naar een andere (vooral handig voor het aanmaken van grote hoeveelheden gebruikers met eenzelfde configuratie). Tsshutdn bespreken we hieronder in meer detail. 7.4. De server afsluiten U kunt zich wel inbeelden dat het afsluiten van een Terminal Server machine waarop gebruikers aan het werken zijn u niet bepaald geliefd maakt als dit leidt tot het verlies van werk. Daarom moet het afsluiten van een Terminal Server steeds weloverwogen en gepland gebeuren. Een eerste stap die je typisch kan uitvoeren is sessielogins te weigeren via change logon. Om het afsluitproces op een ”vriendelijke manier” te laten verlopen is er een tool genaamd tsshutdn die alle gebruikers op de hoogte brengt van het afsluiten van de server en hen de kans geeft hun werk af te sluiten. Figuur 68 – De Terminal Server “vriendelijk” afsluiten Figuur 69 – Clients worden op de hoogte gebracht Door deze procedure systematisch te volgen vermijdt u problemen. Sla er de helpfunctie van het commando op na via tsshutdn /?. 47 7.5. Licenties In deze syllabus concentreren we ons vooral op de technische kant van Terminal Services maar enige informatie over de licentiëring kunnen we niet achterwege laten (zij het dan wel eerder aan de korte kant). Om kort te gaan vereist Windows Server 2003 Terminal Services een zogenaamde Windows 2003 Terminal Server License Server die het aantal connecties monitort en het aantal beschikbare licenties controleert. Na installatie (preciezer: na de eerste aanmelding na de installatie) van de Terminal Server rol hebt u 120 dagen de tijd om een dergelijke server op te zetten en te configureren. Daarna kunnen gewone gebruikers niet meer aanmelden bij het systeem en is enkel remote administration nog mogelijk. Figuur 70 – Licentieserver niet geïnstalleerd Het installeren van een licentieserver gebeurt via het Control Panel, Add or Remove Programs, Add/Remove Windows Components. Daar kiest u de optie Termoinal Server Licensing: Figuur 71 – Een licentieserver installeren In principe kan een licentieserver opgezet worden voor een organizatie maar ook voor een domein of werkgroep specifiek. Dit hangt af van uw noden maar voor kleine netwerken is het onderscheid weinig van belang. Eens opgezet worden licenties in een database bijgehouden op de licentieserver. Deze dien je regelmatig te backuppen om verlies te vermijden. 48 Figuur 72 – De licentieserverconfiguratie Nadat de installatie volooid is, kunt u terecht bij de tool “Terminal Server Licensing” onder Administrative Tools: Figuur 73 – Beheer van licenties Hierna moet u de server activeren en kan u via die weg de nodige licenties bekomen. Activatie gebeurt automatisch of via een speciale web site of via de telefoon, naargelang uw keuze. Voor diverse licentieformules en –opties verwijzen we naar online informatie en de helpinformatie bij het product. Noot: Voor remote administration is géén licentiëring nodig. Het staat u vrij op elke server Remote Desktop in te schakelen voor administratieve doeleinden. Enkel voor het échte gebruik van Terminal Services voor het uitvoeren van programma’s voor gewone gebruikers is licentiëring vereist. 49 Figuur 74 – De licentieserver activeren 7.6. Verbinden met de server – poorten en meer Terminal Services beroept op het RDP-protocol om verbinding te maken met de server en gegevens uit te wisselen (zoals input via toetsenbord en muis en uitvoer naar het scherm) over het netwerk. Om dit correct te laten verlopen moet TCP-poort 3389 inbound op de server openstaan. Zoals u welicht weet bezit Windows Server 2003 een ingebouwde firewall die de server verder kan beveiligen. Het is echter geen sinecure alle nodige poorten open te zetten en niks te vergeten. Om die reden werd in Windows Server 2003 R2 de Security Configuration Wizard (SCW) geïntroduceerd, een nieuwe component die geïnstalleerd kan worden op het systeem en gebruikt wordt om de serverconfiguratie “lock-down’d” in te stellen met een optimale beveiliging op maat van de (rollen van de) server. Na installatie van de tool vindt u deze terug onder Administrative Tools. Het gebruik ervan is vrij eenvoudig: de wizard presenteert een aantal stappen om de beveiliging van de server op diverse vlakken te verhogen en daarna worden de gemaakte keuzes opgeslaan onder een security policy bestand in XML-formaat. Deze policy kan daarna toegepast worden op de machine en eventueel achteraf terug ongedaan gemaakt worden indien dat nodig zou blijken. De doorlopen stappen zijn: 1. Rol-gebaseerde configuratie waarin de rollen van de server worden aangeduid (de tool analyseert dit zelf, u kan correctieve actie ondernemen indien noodzakelijk). Voorbeelden van rollen zijn Domain Controller, File Server, Application Server, Terminal Server, etc. Tot slot worden onnodige services uitgeschakeld zodat deze niet onnodig opstarten en mogelijke veiligheidsrisico’s vormen. 2. In de netwerkbeveiligingsstap worden enkel de nodige poorten opengezet, al de rest gaat dicht. Het systeem weet wat nodig is en behoudt enkel dat (bvb 3389 voor Terminal Services, 80 voor IIS, etc). 3. Registry settings is de 3e stap die de wizard doorloopt en maakt een aantal wijzigingen die vooral opties uitschakelen die nog in het systeem zitten om oudere clients te ondersteunen (bvb pre NT4 SP6 of W2K3 SP4 clients). 4. Via de stap Audit Policy wordt auditing ingesteld wat de acties van gebruikers op het systeem bijhoudt bij faling ervan (bijvoorbeeld foutieve wachtwoorden). 50 5. De stap Internet Information Services tenslotte beveiligt de webserver extra door alle onnodige zaken uit te schakelen. Uiteindelijk wordt de policy opgeslaan en kan deze bekeken worden. Figuur 75 – De Security Configuration Wizard heet u welkom Figuur 76 – De gegenereerde policy nader bekeken Tot slot stelt het systeem u de vraag of u de policy al dan niet meteen wenst toe te passen. Dit is het moment waarop de beveiliging effectief aangepakt wordt. Als er iets misloopt, kunt u nog steeds terug naar de configuratie van voor het toepassen van de policy, dit ook via de SCW tool. 51 Figuur 77 – De security policy toepassen? Het toepassen van de policy duurt een paar minuutjes en daarna is de server in topvorm om op een veilige manier zijn werk te doen. Figuur 78 – De Security Configuration Wizard voltooit zijn missie Na de configuratie kunt u onder andere een kijkje nemen onder de Windows Firewall configuratie waarin u ziet dat poort 3389 toegelaten is onder de naam “Remote Desktop”. 52 Figuur 79 – De firewall werd netjes ingesteld 8. Systeemplanning Welke server hebt u nu nodig voor dit alles? Dit is zondermeer een moeilijke vraag die erg afhangt van het beoogde gebruik van de server en de belasting. Lijkt onderstaand lijstje te leiden tot een zware machine op basis van het aantal clients dat u wenst te connecteren, hou dan ook eens de prijs voor een totale nieuwe pcklas in het achterhoofd. Terminal Services komt dan al gauw uit als economischer. Een aantal vuistregels kan misschien helpen: Begin de berekening bij een machine die Windows Server 2003 aankan. Hier denken we aan een Pentium III of hoger met 256 MB RAM minimaal. Via die berekening is zeker 4 GB schijfruimte nodig om het systeem te installeren. Extra hardeschijfruimte bepaalt u in functie van de te installeren programma’s. Normaalgezien plaats u (o.a. uit veiligheidsoverwegingen) niks anders op de server dan programma’s. Daarnaast zal ook tijdelijke ruimte voor profielen nodig zijn. Gezien harddisks tegenwoordig zeer goedkoop zijn hoeft u hierop niet te besparen (bijvoorbeeld 300 GB SATA). Het geheugen vormt in feite het belangrijkste punt. Hoewel het draaien van een heleboel dezelfde programma’s (bijvoorbeeld Word 10 maal) serieus wat pagina’s in het geheugen kan delen, mag je toch rekenen op een 50-tal megabyte per gelijktijdige gebruiker. Hier geldt hoe meer hoe beter. Qua processor geldt ook hoe meer hoe beter. Voor een 30-tal gebruikers is een single processor geen obstakel, eens je hoger gaat zijn dual processors (of meer) aanbevolen. Tegenwoordig investeren chipfabrikanten als maar meer in “dual core” of “multi core” chips dewelke ook zeer interessant zijn. Deze chips bevatten in feite meer dan één processor maar met gedeelde cache. Zo hebt u standaard al 53 meteen een multiprocessor machine met slechts één fysieke processor. Mijn huidige laptop is bijvoorbeeld dual core, wat leidt tot volgende task manager: Figuur 80 – Een dual core processor Qua netwerkcapaciteit geldt eveneens hoe meer hoe beter. Een gigabit ethernet kaart is zeker zijn geld waard. Voorzie ook in een extra kaart via dewelke u de server verbindt met het internet (bijvoorbeeld via een router), maar de eigenlijke opstelling hangt uiteraard af van de reële situatie op het terrein. Algemeen gesproken kan je best de traffiek splitsen: RDP verkeer over één kaart, ander verkeer (bijvoorbeeld via hetwelke de server met de domeincontroller, de fileserver, het internet verbonden is) via een andere kaart. Hierdoor geraakt de “RDP-dedicated” kaart sneller in een soort van regimetoestand met veel regelmatigere patronen van byteverkeer. Een andere aanbeveling is het gebruik van gemirrorde schijven (RAID) voor twee redenen: Extra leessnelheid – vooral van belang indien u harddiskintensieve applicaties draait maar ook om de laadtijd van programma’s te versnellen. Ook applicaties zoals Encarta met de volledige encyclopedie op de harddisk geïnstalleerd profiteren hiervan. Extra veiligheid – de mirror vormt een bescherming tegen het uitvallen of defect geraken van één schijf. In zo’n geval gaat de server niet (lang) offline vermits de andere schijf nog leeft. SATA-harddisken zijn zeer geschikt voor dergelijke servers; SCSI is overbodig voor deze serverrol en zou de prijs aanzienlijk opkrikken. Zo kunt u met volgend stukje hardware gemakkelijk een 30-tal gebruikers aan en houdt u zeker groeimarge over (reken altijd te ruim, uitbreiden kost vaak meer achteraf): Dual Pentium IV of Xeon processor > 2 GHz 2 GB RAM 2x 300 GB SATA schijf in mirror Gigabit Ethernet kaart Hou rekening met uitbreidingmogelijkheden. Koop liever 2 chips van 1 GB dan 4 van 512 MB. Let ook op de bussnelheid van het moederbord. Hoe hoger hoe beter (>= 667 Mhz tegenwoordig). En iets wat misschien zeer 54 klein lijkt, nl. 2 MB L2 cache op een processor, heeft een immense positieve invloed op de performantie van het systeem. Hoe meer processor-cache (vaak aangeduid met L2 voor level-2), des te beter andermaal. Een vraag die tegenwoordig ook vaak gesteld wordt, is de impact van 64-bits op Terminal Services. Het is van groot belang te begrijpen waarvoor die 64-bits nu werkelijk staat. PC’s vandaag hebben typisch een 32-bits architectuur. Daarmee wordt bedoeld dat adressering van geheugen gebeurt met adressen van 32 bits elk. Met 32-bits kunt u 232 = 22 210 210 210 bytes = 4GB aanspreken. Met andere woorden, het maximale aantal geheugen dat direct (!) aangesproken kan worden bedraagt 4GB. Windows deelt die verder onder in 2GB voor kernel mode en 2GB voor user mode (hoewel dit o.a. kan aangepast worden via de /3GB en de /PAE switch in boot.ini) waardoor maximaal 2 GB voor programma’s beschikbaar is. 64-bits doorbreekt die barrière en laat 264 bytes addresseerbaar geheugen toe, oftwel 16 EB (exabyte = 1024 petabyte = 10242 terabyte = 10243 gigabyte), een zee van ruimte dus. Noot: De 32-bits barrière betekent niet dat 32-bits versies van Windows niet meer dan 4 GB geheugen kunnen hebben. Windows heeft een oplossing om toch meer geheugen toe te laten via een principe genaamd AWE (Advanced Windowing Extensions) en PAE (Physical Address Extensions). 64-bits is echter performanter. Figuur 81 – 64-bits versus 32-bits Voor Terminal Services is de voornaamste reden om 64 bits te gaan (wat meer en meer “mainstream” wordt tegenwoordig) de mogelijkheid om meer en meer geheugen te gaan gebruiken. Een aantal voorbeelden om een idee te geven van wat een machine aankan zijn hieronder weergegeven: Server Model CPU RAM Users (KW) on x86 Users (KW) on x64 HP DL 385 2 x AMD Opteron 16 GB 280 260 HP DL 585 4 x AMD Opteron 32 GB 240 380 HP DL 585 4 x AMD Opteron dual-core 32 GB 270 620 Een Terminal Server is overigens zijn investering op langere termijn dubbel en dik waard. Pc-klassen blijven hoe dan ook verouderen en door een Terminal Server in te schakelen kunt u telkens de oudste pc-klas inzetten als thin clients. Als die hardware echt afgeschreven is geraakt, kunt u een nieuwe pc-klas aanschaffen en de dan opnieuw oudste klas als terminals gaan gebruiken. 55 Andere vragen die we tijdens de sessie zullen beantwoorden omvatten: Een ideaal netwerkdesign voor Terminal Services? o Switches versus hubs o Een apart netwerk voor thin clients o Extra netwerksegmenten inbouwen o ... “Super thin clients” bouwen: verschillende oplossigen o Windows 98 shell vervanging o Windows XP Embedded o Windows CE o ... Hoe zit het met de praktijk? Een echte case study toegelicht. Wat is die Virtual Server 2005 R2 waarmee de demo’s gebeuren? (Kort antwoord: gratis te downloaden Microsoft-programma met massa’s mogelijkheden voor virtualisatie) En alle vragen die u mocht hebben... 9. Toekomst van Terminal Services In Windows Longhorn Server (release 2007) komt een nieuwe versie van Terminal Services met een heleboel nieuwigheden. Een overzicht dat we nader zullen toelichten tijdens de sessie (sorry voor de Engelstalige begrippen): Application Publishing with client-side file type associations Seamless Windows Terminal Server Gateway (TSG) Intelligent Avalon/WinFX Remoting Unified Management Console Redirection of Plug-n-Play devices with UDMF drivers Major Reworking of the Logon Process Major Reworking of User Profiles Per-User License Tracking Web interface RDP 6 Refined Windows System Resource Manager (WSRM) WMI Interface for Everything RDP Virtual Channel Tuning Mocht u nog verder vragen hebben na de sessie mag u me contacteren via [email protected]. 56