Terminal Server Clients
Wenn sie mit allen bisherigen Möglichkeiten ihre Anforderungen noch nicht erfüllen konnten, dann könnte der Terminal Service von Windows 2000 mit Citrix Metaframe eine Alternative darstellen. Technisch geht es damit, eine Windows NT-Sitzung mit allen bereitgestellten Anwendungen auf jedem beliebigen Desktop erreichbar zu machen. Sie können Sie damit Outlook als die optimale Anwendung für die Nutzung mit dem Exchange Server problemlos auf nahezu alle Plattformen bringen. Die Software zur Steuerung gibt es auch für Unix, Macintosh und als Java-Anwendung.
Achtung: Security Update
Um diese Meldung zu lösen, müssen Sie ein Security Update
installieren
https://blogs.technet.microsoft.com/mckittrick/unable-to-rdp-to-virtual-machine-credssp-encryption-oracle-remediation/
https://support.microsoft.com/en-us/help/4295591/credssp-encryption-oracle-remediation-error-when-to-rdp-to-azure-vm
Ursache ist meist, dass der Client das Update schon h at
aber der Server noch nicht.
Die Funktion
Jede heutige Anwendung besteht aus drei wesentlichen Komponenten:
|
Datenspeicherung |
|
Verarbeitung |
|
Anzeige |
Zwischen den drei Komponenten gibt es einen regen Datenaustausch, der über die Transportwege abgewickelt wird. Und hier kann auch die Trennung zwischen den Systemen und den Betriebssystemen erfolgen.
|
Standard Client
Bei einem klassischen Einzelplatzsystem sind alle drei Funktionen auf einem System konzentriert. Die Ausgaben auf dem lokalen Bildschirm werden durch Outlook auf dem PC gesteuert und die Daten liegen in einer lokalen PST-Datei. |
|
Client Server Der klassische vernetzte PC trennt hier schon die Datenspeicherung ab. Zwar gibt es auch lokal meist eine Festplatte, welche das Betriebssystem und die Anwendungen vorhält, aber die eigentliche Datenspeicherung erfolgt über das LAN auf einem Server, z.B. einem Dateiserver, einem Exchange Server oder auch einem SQL-Server. Vor Ort wird nur noch verarbeitet und angezeigt. |
|
Terminal Services
Beim Terminal Server wird die Anzeige von der Verarbeitung getrennt. Während auf den zentralen Anwendungsservern Outlook gestartet wird und auf den Exchange Server zugreift, werden alle Ausgaben und Eingaben über das Protokoll RDP oder ICA auf den Client übertragen. |
Die Vorteile dieser gar nicht so neuen Technik (Textbasierte Terminals waren die ersten interaktiven Eingabegeräte nach dem Lochstreifenstapel, Terminal Dienste gab es schon für Windows NT 3.51 !) sind schnell zusammengefasst:
- Zentrale Haltung der Daten und Anwendungen. Damit zentrales Backup und Updates
- Effektivere Nutzung der Rechenleistung (schon mal gesehen, wie viel CPU-Leistung ihr PC im "Leerlaufprozess" verbringt ?
- Die Anzeigeeinheit kann "einfach" sein. Angefangen von einem Windows PC, über Unix-Clients oder wirklich einfache "thin" Terminals ohne Festplatte, Lüfter etc.
- Die geringe Bandbreite erlaubt auch den Zugriff über langsamer Leitungen oder von unterwegs.
- Auch ein Verbindungsabbruch oder ein Absturz des Arbeitsplatzsystems verliert seinen Schrecken, da die Verbindung wieder aufgebaut werden kann.
- Verbesserter Support, da Sie sich auch die Sitzung heranholen und den Benutzer bei dem Problem unterstützen können (vergleichbar zu einer Fernsteuerung).
- Und vieles mehr
Ich möchte hier nicht den gesamten Marketingtext von Microsoft oder Citrix wiedergeben, aber es gibt wirklich einen Einsatzzweck für Terminal Server. Es ist sicher nicht die universallösung für alle Probleme, wie dies gerne suggeriert wird, aber es wichtiges und nützliches Werkzeug bei der Bewältigung heutiger Aufgaben.
Diese Anbindung eignet sie z.B.: für kleine Außenstellen, bei denen ein Server vor Ort keinen Sinn macht oder einfach zu teuer in der Anschaffung und Betrieb ist. Vielleicht können Sie damit auch gleich die gesamte Officepalette zentral anbieten. Es ist mehr als nur eine Idee, es ist bei uns schon Realität. Auch über das Internet könnten Sie so ihr Outlook bedienen, da die Anzeigemodule auch als Java Applet, NetScape Plug-in oder ActiveX-Komponente verfügbar ist.
Sie steuern dabei ein Outlook quasi fern. Durch den Einsatz von Metaframe ist der Start sogar in einem Browser oder als seamless Anwendung auf dem Client PC möglich. Der Anwender bemerkt damit gar nicht mehr, dass Outlook nicht auf seinem PC gestartet ist, sondern entfernt.
Die Arbeitsgeschwindigkeit ist dabei akzeptabel, da nur die Eingaben und Bildinhalte übertragen werden. Selbst lange Nachrichten oder HTML-Mails, in denen geblättert wird, sind damit zu lesen. Auf jeden Fall besser, als wenn die Information erst komplett auf den lokalen PC übertragen werden müsste.
Ehe sie nun aber in freudiger Erwartung in den nächsten Softwareladen laufen, um einmal Terminal Server zu kaufen, möchte ich ihnen nicht verschweigen, dass die Installation und der Betrieb eines Terminal Servers nicht mit einer Windows 2000 Workstation oder Servers zu vergleichen ist. Natürlich sieht die Oberfläche aus wie immer, aber es kommen zusätzliche Anforderungen hinzu. Stellen Sie sich vor, es gibt ein System, da ist Windows NT Server installiert ist, aber es gebärdet sich wie 20 wild gewordene Windows 2000 Workstations mit 20 Benutzern, die alle an "ihrem PC" herumschrauben. Während Sie einen Arbeitsplatzrechner problemlos mal wieder neu installieren können, bedeutet eine Störung auf dem Terminal Server eine viel größere Auswirkung. Dreh und Angelpunkt sind die Anwender, die zwar auf dem System arbeiten, aber nicht verstellen dürfen. Je nach Anwendung ist daher genau zu prüfen, wie die Anwendung und das Gesamtsystem gegen absichtliche oder unabsichtliche Einflüsse der Benutzer gesichert werden kann. Eine strenge Vergabe von NTFS-Rechte und ausgefeilte Anmeldeskripte mit "Selbstheilungsfunktionen" sind hier ebenso gefragt wir eine effektive Überwachung der Systemleistung. Aber lassen Sie sich dadurch nicht entmutigen.
Ein Wort noch zur Lizenzierung
Die Lizenzierung des Terminal Server ist ein wenig zu kompliziert, um sie hier in aller Breite zu erklären. Zumal Sie in ihrem Umfeld entscheiden müssen, ob ein einfacher Windows 2000 Terminal Server genügt, oder ob die Zusatzfunktionen von Metaframe in ihrem Umfeld notwendig oder nützlich sind. Hier dazu die Übersicht, für welchem Client welche Lizenz notwendig ist.
Einen Windows 2000 Server brauchen Sie als Lizenz sowieso. Hinzukommen dann je nach Client eine Windows 2000 CAL (W2K CAL), eine Terminal Server CAL (TS CAL), und eine Metaframe CAL. Wenn Sie Metaframe einsetzen, brauchen Sie auch eine Serverlizenz für Metaframe pro Server.
Client | Protokoll | W2K Cal | TS Cal | MetaFrame CAL |
---|---|---|---|---|
DOS |
ICA |
notwendig |
notwendig |
notwendig |
WIN 3.11 |
ICA |
notwendig |
notwendig |
notwendig |
WIN 3.11 |
RDP |
notwendig |
notwendig |
|
WIN 9X |
ICA |
notwendig |
notwendig |
notwendig |
WIN 9X |
RDP |
notwendig |
notwendig |
|
Windows NT |
ICA |
notwendig |
notwendig |
notwendig |
Windows NT |
RDP |
notwendig |
notwendig |
|
Windows 2000 Pro |
ICA |
notwendig |
enthalten |
notwendig |
Windows 2000 Pro |
RDP |
notwendig |
enthalten |
|
Die Liste der optionalen Zutaten von Citrix ist hiermit noch lange nicht vorbei. So gibt es Komponenten für Lastverteilung, Softwareverteilung, Überwachung, Verschlüsselung etc.
Detaillierte Antworten zur Lizenzierung finden sich direkt bei Microsoft unter: http://www.Microsoft.com/technet/treeview/default.asp?URL=/technet/prodtechnol/win2kts/deploy/tslicen.asp
Outook 2003 Cached Mode und Terminal Server
Der Outlook 2003/2007 Cached Mode und Terminal Dienste sind nicht miteinander kombinierbar. Outlook "erkennt" dass es auf dem WTS läuft und verhindert die Konfiguration des Cached mode. Mir ist kein Hack bekannt, um Outlook hier zu überlisten. Es gibt nur eine Einstellung, mit der ich den Cached Mode auf anderen Systeme auch verhindern kann
Die Aktivierung des Cached Mode auf Terminal Servern macht aber konzeptionell keinen Sinn. Der Cached Mode hat die primäre Funktion, dass Outlook Anwender zügig arbeiten können, auch wenn Sie verbindungstechnisch schlechter (Bandbreite und Laufzeit) angebunden sind. Aus dem gleichen Grund stellt man auch Terminalserver mit den Anwendungen nahe an die Server und überträgt per RDP nur die Bildschirme. Aber gegen Cached Mode auf Terminal Servern sprechen noch andere Gründe
- Mehrfache Kopien einer OST
Viele Firmen nutzen mehrere TerminalServer und "Farmen". Da ein Anwender auch jedem der Server landen kann, würden nach einiger Zeit auf allen Servern eine Kopie meiner OST-Datei im Profil liegen. Das wäre ein sehr hohes mehrfaches Replikationsaufkommen. Auch die Anfangsreplikation hindert hier, wenn z.B. ein neuer Server in die Farm aufgenommen wird und ich das erste Mal dort lande. Das passiert auch, wenn die Profile nach der Abmeldung gelöscht werden - Mehrere OSTs pro Server
Zudem arbeiten auf einem Terminal Server ja mehrere User parallel bzw. nacheinander. Dies würde dann dazu führen, dass auf einem Terminal Server von jedem User eine OST-Datei angelegt werden würde
Im ungünstigsten Fall würden auf allen Terminal Server-Festplatten quasi je eine Kopie der Postfächer aller User liegen. Die WTS-Server müssten also alle so viel Platz haben, wie die Summe der Exchange Server Postfächer.
Die Lösung ist daher so zu gestalten, dass Outlook ohne Cached Mode "nahe" am Exchange Server positioniert wird. Damit ist die Latenzzeit im LAN zwischen Outlook und Exchange gering. Leider entfällt die Entlastung von Exchange durch den Cached Mode. Die WAN-Strecke besteht dann zwischen dem Client und dem Terminal Server in Form einer RDP-Verbindung
Mit ist klar, dass eine Firma mit genau einem Terminal Server das Problem in der Größe nicht hat. Der CachedMode ist von großem Vorteil, wenn zwischen Arbeitsplatz und Exchange Server eine WAN-Leitung ist und das ist zwischen Terminal Server und Exchange besser nicht der Fall.
Terminal Services für Administratoren
Man muss nicht immer gleich einen Terminal Server für Benutzer installieren. Windows 2000 und höher können auch noch Terminal Dienste im "Adminmodus", so dass man als Administrator bis zu zwei RDP-Verbindungen zum Server ohne gesonderte Lizenzen aufbauen kann. Ab Windows 2003 kann man neben den zwei RDP-Verbindungen sogar direkt die Konsole bedienen. Und Windows 2008 bringt sogar noch die TS-Gateway-Funktion mit, so dass Sie per HTTP aus dem Internet ihre Server per RDP fernsteuern können.
Aber für Administrative Zugänge ist natürlich auch die Sicherheit höher anzusetzen. Ein einfaches "Username/Kennwort"-Schema ist nicht ausreichend. Ein vom Admin erratenes Kennwort öffnet die Tür für Angreifer und ein offener Server ist natürlich auch eine Teststelle um Anmeldeinformationen per Brute Force Attacke auszuprobieren.
Leider habe ich noch keinen Weg gefunden, wie man z.B. das RDP-Gateway per Client-Zertifikate absichern kann. Man könnte es zumindest hinter einer IPSec-Absicherung auf Netzwerkebene schützen.
- Securing Remote Desktop (RDP) for System
Administrators
https://security.berkeley.edu/education-awareness/best-practices-how-tos/system-application-security/securing-remote-desktop-rdp
Administrative Konsolen
Wer mehr als ein paar Server gleichzeitig zu verwalten hat, wird sich irgendwann eine Konsole wünschen, um alle Server in einem Fenster zu steuern, schnell umzuschalten, sich einfach anzumelden und die Konfiguration zu speichern. Die eigentliche RDP-Console ist als Objekt sehr einfach anzusprechend, so dass es nur eine Frage der Zeit war, biss findige Entwickler ihre eigene Konsole gebaut haben, um mehrere Server zu verwalten. Schauen Sie sich einfach mal die ein oder andere Konsole an und entscheiden Sie selbst, welche sie nutzen möchten.
Ich habe längere Zeit mit Vision vRD gearbeitet, aber mittlerweile tendiere ich eher zu mRemote hin. mRemote unterstützt auch andere Protokolle (Telnet, VNC etc.), erlaubt mehrere Verbindungen zum gleichen Server mit unterschiedlichen Namen und die Entwickler scheinen aktiv daran weiter zu entwickeln.
- mRemote
MRemote
http://mremote.lostcharacters.net/wiki/
https://sourceforge.net/project/mremote - Royal TS
http://www.code4ward.net/CS/blogs/c4w/articles/royalts.aspx
http://code4ward.net/CS2/Default.aspx - VisionApp vRD
http://www.visionapp.com/706.0.html oder http://software.visionapp.de/111.0.html - Terminals
http://www.codeplex.com/Terminals/
Diese Programme benötigen allerdings ein Update 925876 Terminaldiensteclient 6.0 (http://support.microsoft.com/kb/925876)
Terminal Server und MaxMpxCt und MaxCmds
Meist fällt es nicht auf, wenn ein paar Benutzer sich am Terminal Server anmelden, aber wenn sich viele Personen nahezu gleichzeitig anmelden, dann kann es zu merklichen Verzögerungen führen, bei denen aber keine hohe CPU-Last, Festplatten-IO oder Netzwerklast zu erkennen ist. Das kann an einem Limit liegen, welches Windows Server bei Zugriffen per SMB per Default anwenden:
Ein Windows Server erlaubt per Default nur 50 ausstehende SMB-Befehle pro Client
Nun ist ein Terminal Server aus Sicht des Server auch nur ein "Client" und zwar genau "1" Client, auch wenn darauf 10, 20 oder 100 Benutzer z.B. Outlook verwenden. Und wenn sich morgens viele Benutzer nahezu gleichzeitig anmelden, dann muss der Anmeldeprozess viele Anmeldeskripte und Gruppenrichtlinien "nachladen". Da können 50 "offene Befehle" pro Server eng werden. Die Anmeldung dauert dann quälend lange. Die entsprechenden Parameter können aber angepasst werden:
- MaxCmds (DWORD: Default=50 Max=65535)
Registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
Anzahl der maximal ausstehenden Anforderungen auf dem Client (Hier der Terminal Server) - MaxMpxCt (DWORD: Default=50 Max=65535) Windows 2000
Maximum = 125
Registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanServer\parameters
Achtung: >125 blockiert Windows 95/98 (siehe KB 232890). Wert wird an den Client beim SMB Connect mitgegeben. Einstellung ist daher NUR auf dem remote Server (Nicht auf dem TS) sinnvoll
"The MaxMpxCt parameter allows a server to provide a suggested maximum number of simultaneous outstanding client requests to a particular server" - MaxWorkItems (DWORD: Default = (4*(MB*SMBServerPerfSetting)*OSVersion/1)*(#Processors)
(Siehe KB232476)
Registr<y: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanServer\parameters
Empfehlung 4x MaxMpxCt.
Achtung MaxWorkItems=16000 belegt ca. 320MB of non-paged pool memory !!
Hier noch ein paar KB Artikel, die das Thema weiter beleuchten:
- 888562 You experience slow performance when you use Windows 2000 Server or Windows Server 2003 to access files on a computer that is running Windows 2000 Server or Windows NT 4.0
- 232476 Terminal Server Client Connections and Logon Limited by MaxWorkItem and MaxMpxCt Values
- 271148 MaxMpxCt and MaxCmds limits in Windows 2000 191370 Slow network performance with Terminal Server 232890 Windows 98 Client unable to Connect to Windows NT Share
- 317249 How to Troubleshoot Event ID 2021 and Event ID 2022
- 324446 Terminal Server and connected Terminal Services clients pause when a Terminal Services client logs on or logs off
- Win2000 registry reference MaxMpxCt
http://technet.microsoft.com/en-us/library/cc960259.aspx
http://www.msterminalservices.org/maxmpxct.cfm - Win2000 registry reference MaxCmds
http://technet.microsoft.com/en-us/library/cc779413.aspx - Troubleshooting Errors That Occur When UNC Content Is under High
Load
http://technet.microsoft.com/en-us/library/cc776049.aspx
Sicher gibt es verschiedene Empfehlungen der "richtigen" Werte. Die Anzahl der ausstehenden Anfragen auf dem Terminal Server können sich sicher einfacher hoch setzen, da dies eine Funktion des LanManClients ist. Die Einstellung auf dem Server ist allerdings auch "global", so dass bei höheren Werten auch das Risiko ansteigt, dass auch andere Client mehr Befehle zur gleichen Zeit nutzen (und missbrauchen) können. Sinnvoll ist hier der Einsatz von PERFMON, um die aktuelle Ausnutzung der Ressourcen auf dem Server, Domain Controller und Terminal Server zu beobachten und dann die Werte mit Gefühl anzuheben.
Allerdings gibt es auch seitens Microsoft entsprechende Empfehlungen, die ich ohne weitere Prüfung hier als REG-Datei zum Download bereit stelle, so dass diese quasi mit einem Doppelklick übernommen werden können.
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\Parameters] "MaxWorkItems"=dword:2000 "MaxMpxCt"=dword:800 "MaxRawWorkItems"=dword:200 "MaxFreeConnections"=dword:64 "MinFreeConnections"=dword:20 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanworkstation\Parameters] "MaxCmds"=dword:800 [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Configuration Manager] "RegistryLazyFlushInterval"=dword:3C
Automatische Anmeldung
Es ist auch mit RDP möglich, dass ein Anwender automatisch angemeldet wird. Allerdings muss dazu per Gruppenrichtlinie quasi eine "Allowlist" der Server gepflegt werden, für welche diese Vorgabe zutrifft.
- How to enable Single Sign-On für my Terminal Server
connections
http://blogs.msdn.com/b/rds/archive/2007/04/19/how-to-enable-single-sign-on-for-my-terminal-server-connections.aspx
RDP und "Netzwerkpolicies"
Vielleicht haben Sie das auch schon erlebt. Sie starten wie gewohnt ihren RDP-Client auf Windows XP, aber können nicht auf ihren neuen Windows 2008 Server nicht zugreifen. Das hat den Grund, da neuere Versionen von Windows NLA anfordern und damit eine "Vorprüfung" der Clients mit weniger Ressourcen durchführen, ehe Sie dem Anwender den Anmeldeschirm anzeigen. Das soll die Angriffsfläche reduzieren.
RDP 6.1 und höher unterstützen auch NLA aber leider ist diese Funktion in Windows XP SP3 noch nicht per Default aktiviert. Die erforderlichen Ergänzungen sind über die Registrierung zu addieren.
- 951608 Description of the Credential Security Support Provider (CredSSP) in Windows XP Service Pack 3
Da diese Änderungen bestehende Werte "erweitert", kann ich leider kein REG-File dafür anbieten.
-
CRL
RDP7 prüft CRL - 951608 Description of the Credential Security Support Provider (CredSSP) in Windows XP Service Pack 3
- 953760 When you enable SSO für a terminal server from a Windows XP SP3-based client computer, you are still prompted für User credentials when you log on to the terminal server
- 951616 Description of the Remote Desktop Connection 6.1 client Update für Terminal Services
- 969084 Description of the Remote Desktop Connection 7.0 client Update für Remote Desktop Services (RDS) für Windows XP SP3, Windows Vista SP1, and Windows Vista SP2
Weitere Links
- Q187629 Terminal Server Licensing
- Q187614 Removing Terminal Server Licenses from an RDP Client
- Q191370 Slow Network Performance with Terminal Server
- Q237801 Windows 2000 Terminal Services uses Enforced Licensing
- Q232476 Terminal Server Connections and Logon Limited by MaxWorkItems
- Q242195 Terminal Services Does Not Support Outlook Offline Storage
- Q258277 XCLN: How to Disable AutoArchive and Personal Folders
-
Microsoft Windows 2000 Startseite zu Terminal Services
http://www.Microsoft.com/windows2000/technologies/terminal/default.asp
Microsoft RDP5.1 Client mit erweiterten Funktionen. Läuft auch problemlos auf Windows NT4 und anderen Windows Clients. Da es nach dem Auspacken ein MSI-File ist, eignet er sich auch für die Softwareverteilung sehr gut.
www.Microsoft.com/windowsxp/pro/downloads/rdclientdl.asp - Terminal Server Client für Pocket PC 2002
http://www.Microsoft.com/mobile/pocketpc/downloads/terminalservices/default.asp - Windows Advanced Terminal Client (MSI, AxtiveX, MMC)
http://www.Microsoft.com/windows2000/server/evaluation/news/bulletins/tsac.asp - Overview
www.Microsoft.com/downloads/details.aspx?FamilyID=8a81cd7f-c439-4e7c-8d4e-9c4f65c09dc4&displaylang=en - http://www.Microsoft.com/windows2000/technologies/terminal/default.asp
- http://www.Microsoft.com/MOBILE/downloads/ts.asp
- Vergleich der Versionen
http://www.Microsoft.com/windows2000/server/evaluation/features/rdp.asp - FAQ: http://www.Microsoft.com/WINDOWS2000/techinfo/administration/terminal/tsacfaq.asp
- Update für WinXP Enbedded SP1 http://www.Microsoft.com/downloads/details.aspx?FamilyID=8a81cd7f-c439-4e7c-8d4e-9c4f65c09dc4&displaylang=en
- RDP5.2 Client
http://download.Microsoft.com/download/8/b/d/8bd667e9-dcce-475b-8c49-dc6331e63c47/msrdpcli.exe - Erste Quelle zu Metaframe
www.citrix.com - RDP-Client als Javaprogramm
www.hob.de - RDP Clients für Linux
http://www.rdesktop.org/ Open Source
http://www.tuxia.org/rdesktop/index.html Free
http://www.ltsp.org Linux Terminal Server Project - http://www.thincomputinginc.com/winconnect/ Komerziell
- http://www.terminal-services.net RDP Client für DOS
- Professor Windows - April 2003:
Terminal Services in Windows Server 2003: Improvements and useful Tips - Windows SP1 und Citrix - Known Issues with Microsoft Windows 2003 Service
Pack
http://support.citrix.com/kb/entry!default.jspa?categoryID=275&entryID=6037&fromSearchPage=true - FAQ zu Terminal Services und Citrix
http://ts.veranoest.net/ts_faq.htm - RDP-Verbindungen nach IP-Adresse, MAC-Adresse etc. blockieren
http://www.2x.com/securerdp/ - Free Tools für TS
http://www.brianmadden.com/content/content.asp?id=466 - Securing Remote Desktop (RDP) for System Administrators
https://security.berkeley.edu/education-awareness/best-practices-how-tos/system-application-security/securing-remote-desktop-rdp -
www.elusiva.com
WinXP und Small Business als Server für mehrere Sessions