M 5.163 Restriktive Rechtevergabe auf Terminalservern

Verantwortlich für Initiierung: IT-Sicherheitsbeauftragter, Leiter IT

Verantwortlich für Umsetzung: Administrator

Innerhalb von Mehrbenutzerumgebungen, wie sie Terminalserver-Systeme darstellen, ist die Abschottung der Anwender gegeneinander sowie gegenüber riskanten Systemfunktionen von erheblicher Bedeutung. Zur Gewährleistung eines störungsfreien Betriebs und zum Schutz der Vertraulichkeit, der innerhalb einzelner Benutzersitzungen verarbeiteten Daten, müssen die Rechte restriktiv vergeben werden.

Der Terminalserver-Dienst beispielsweise unter Microsoft Windows Server 2003 bietet hierzu bereits während der Installation Auswahlmöglichkeiten an, um diverse Schutzmaßnahmen im Betriebssystem zu etablieren. Diese Einstellungen wirken ebenfalls, wenn Citrix Presentation Server als Terminalserver-Lösung eingesetzt wird.

Die sicherere Basisinstallation ist dabei stets als Ausgangspunkt für weitere Schutzmaßnahmen zu verwenden. Sie wird durch die Option Full-Security anstatt Relaxed-Security ausgewählt. Relaxed-Security ist in diesem Zusammenhang als Kompatibilitätsmodus zu verstehen, der den Betrieb von Anwendungen ermöglicht, die nicht für aktuelle Terminalserver-Umgebungen entwickelt wurden. Die Verwendung dieses Modus führt jedoch zu sicherheitskritischen Dateiberechtigungen in Systemverzeichnissen und weitreichenden Zugriffsmöglichkeiten auf die Registrierungsdatenbank (Windows Registry).

Der Einsatz des Modus "Relaxed-Security" sollte daher nur in begründeten Ausnahmefällen und nach einer genauen Bewertung der individuellen Gefährdungslage in Betracht gezogen werden. In jedem Fall sind die Rechte für Applikationen und deren Benutzer nachträglich auf das unbedingt notwendige Maß zu reduzieren. Diesbezüglich können beispielsweise Werkzeuge herangezogen werden, die Dateioperationen der Software überwachen und Zugriffe auf die Registrierungsdatenbank protokollieren.

Es sollte zudem, neben der Anwendung, die diesen unsicheren Modus benötigt, keine weitere Applikation auf dem gleichen Terminalserver bereitgestellt werden.

Anwendungen auf Terminalservern können auf verschiedenen Wegen genutzt werden. Neben dem Zugriff mittels Terminalsoftware auf eine vollständige Benutzeroberfläche (Desktop), besteht die Möglichkeit der Übermittlung einer Liste autorisierter Anwendungen. Nur diese stehen dann für den Benutzer innerhalb des Terminalserver-Clients oder auf einem Webserver zur Verfügung.

Dieser Publikationsmechanismus beugt Fehlbedienungen vor und erleichtert den Benutzern die Erledigung ihrer Aufgaben, verhindert jedoch vorsätzliche Zugriffe auf Programme außerhalb der Freigabeliste nicht. So können ohne besondere Vorkehrungen unter Umständen über Benutzerdialoge in erlaubten Anwendungen nicht autorisierte Applikationen ausgeführt werden.

Um Terminalserver-Systeme erfolgreich abzusichern, sind daher weitere Punkte zu beachten. Terminalserver-Systeme sind auf dedizierten, gegebenenfalls virtualisierten, Systemen zu installieren, um die Komplexität der Zugangs- und Zugriffsmöglichkeiten auf andere Dienste zu begrenzen. So ist es etwa notwendig, Benutzern von Terminalservern unter Microsoft Windows Server 2003 lokale Anmelderechte zu geben. Dies führt bei gleichzeitiger Verwendung des Terminalservers als Domänencontroller zu einer Rechteausweitung der Benutzer auf alle Verwaltungsserver, auch auf solche Maschinen, die keine Terminalserver sind. In der Standardkonfiguration installierte und nicht benötigte Dienste sollten folglich deaktiviert werden. Dies betrifft auch etwaig vorhandene Routing-Funktionalitäten.

Neu aufgesetzte Applikationsserver sind vor der Inbetriebnahme auf den jeweils neuesten Softwarestand zu bringen und es wird dringend empfohlen, diese vorher vom Netz zu isolieren. Überdies sind nicht benötigte Benutzerkonten und Gruppen zu entfernen oder zu deaktivieren.

Auf allen Terminalserver-Systemen sollten Anti-Viren-Produkte installiert werden.

Anwendungen mit unterschiedlichen Schutz- und Sicherheitsniveaus sollten auf unterschiedlichen Terminalservern bereitgestellt werden. Ist dies aus organisatorischen Gründen nicht möglich oder sinnvoll, sind alle Applikationen wie die installierte Software mit dem höchsten Schutzbedarf zu behandeln.

Es ist ein Dateisystem zu verwenden, das Zugriffsrechte auf Benutzerebene differenziert, wiez. B.:

Mit einer Sitzungsspiegelung, auch Shadowing genannt, ist das Betrachten einer fremden Benutzersitzung gemeint. Die Bildschirmausgabe des Benutzers wird auf einem oder mehreren weiteren Clients angezeigt, eventuell kann auch die Steuerung der Eingabegeräte übernommen werden. Vorwiegend bei Schulungen oder zu Administrationszwecken wird dieses Verfahren eingesetzt. Ohne Kenntnisnahme oder Zustimmung des Anwenders darf eine Sitzungsspiegelung nicht vorgenommen werden. Dies ist in der Konfiguration des Terminalservers administrativ zu erzwingen.

Zum Schutz von nachgelagerten Systemen, wie etwa Systemen zur Datenhaltung oder weiteren verarbeitenden Systemen, sind weitere Maßnahmen mit dem Fokus auf die Kommunikation der Applikationen zu ihren Backends zu verwirklichen.

Die Applikationsszenarien spezialisierte Anwendungen und allgemeine Anwendungen sollen dies verdeutlichen.

Abschottung nachgelagerter Dienste

Abbildung: Abschottung nachgelagerter Dienste

Spezialisierte Anwendungen

Spezialisierte Anwendungen sind hier als Software ohne frei konfigurierbares Backend definiert.

Das Programm kann weder dazu benutzt werden, mit einem nicht vorgesehenen nachgelagerten System zu kommunizieren, noch ist es für den Benutzer möglich, über einen autorisierten Dienst, Zugang zu einem anderen nicht erlaubten Backend zu bekommen.

In diesem Fall genügen die bereits vorgestellten Methoden zum Absicherung der Umgebung.

Ein Beispiel wäre eine Anwendung, die Zugriff auf eine fest definierte Datenbank hat. Des Weiteren verfügt der Benutzer über keine Eingabemöglichkeiten der Zugangsparameter, außer den Anmeldedaten zu der Vordergrundapplikation (Frontend).

Allgemeine Anwendungen

Nicht spezialisierte, also allgemeine Anwendungen wie SQL-Konsolen oder Browser sind hierbei wesentlich sicherheitskritischer. Das trifft insbesondere deshalb auf Terminalserver-Umgebungen zu, da die Terminalserver Zugang zu all den Backends haben müssen, die aufgrund der Anforderungen der Benutzer notwendig sind.

Eine Möglichkeit dieses Problem zu umgehen, besteht darin, solche Programme auf getrennten Terminalservern zu betreiben und diese durch individuelle demilitarisierte Zonen von den verbotenen Hintergrundsystemen zu isolieren.

Bei einer sehr großen Zahl an bereitzustellenden Applikationen wird diese Herangehensweise sehr schnell komplex, unübersichtlich und unwirtschaftlich. Zudem schwinden rasch die Vorteile einer zentralisierten Architektur gegenüber der klassischen Client-Server-Anbindung.

Alternativ kann gegebenenfalls ein Sicherheitsgateway zwischen Terminalserver und dem nachgelagerten Dienst eingesetzt werden, das Kommunikationsbeziehungen auf der Basis von Regeln ermöglicht, welche die Benutzeranmeldung, Anwendung und Backend verknüpfen.

Die Abbildung Abschottung nachgelagerter Dienste verdeutlicht diese Vorgehensweise. Dem Benutzer wird hier nur über das Programm Prog-A Zugriff auf das Backend A gewährt und der Zugriff auf Backend B unterbunden.

Prüffragen: