Bundesamt für Sicherheit in der Informationstechnik

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, wie z. B. :

  • Schreib- und Lesezugriffe auf nicht benötigte Dateien müssen dabei verhindert werden (z. B. durch einfaches Löschen der obsoleten Datei oder durch das Setzen von entsprechenden Berechtigungen).
  • Auf die Verwendung von Verweisen innerhalb des Dateisystems (z. B. symbolische Links, NTFS -Joins etc.) sollte, wenn möglich, verzichtet werden.
  • Administrationswerkzeuge dürfen nur von autorisierten Administratoren ausgeführt werden können.
  • Die Berechtigung, nachträglich Software zu installieren, darf allein den Administratoren obliegen.
  • In Terminalserver-Umgebungen sollte die Möglichkeit zur Ausführung von Software in einem fremden Benutzerkontext, etwa durch Befehle wie "runas" oder "sudo" deaktiviert werden.
  • Speziell auf Systemen mit hohem Schutzbedarf sollten autorisierte Programme in einer Positivliste geführt werden. Nur Software die dort freigegeben ist, wird vom Betriebssystem dann ausgeführt. Realisiert werden kann dies bei Windows Betriebssystemen beispielsweise mit Appsec. Für Linux können Erweiterungen wie SELinux und AppArmor und für Solaris-Systeme RBAC (Role based access control) und Privileges genutzt werden. Es existieren darüber hinaus einige weitere Lösungen von Drittanbietern, die über den Funktionsumfang der Betriebssystemmittel teilweise hinausgehen.

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.

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:

  • Werden die Zugriffsrechte der Benutzer auf Ressourcen der Terminalserver restriktiv vergeben?

  • Werden die Zugriffsrechte der Benutzer von Terminalservern auf nachgelagerte Dienste (Backends) restriktiv vergeben?

  • Wird bei Terminalservern, die im unsicheren "Relaxed-Security" Modus betrieben werden, nur eine Applikation auf einem Terminalserver bereitgestellt?

  • Werden Terminalserver-Dienste nur auf dedizierten, gegebenenfalls virtualisierten, Systemen installiert?

  • Wurden alle in der Standardkonfiguration installierten und nicht benötigten Dienste, Benutzerkonten und Gruppen auf Terminalservern entfernt oder deaktiviert?

  • Wurden auf allen Terminalserver-Systemen Anti-Viren-Produkte installiert?

Stand: 12. EL Stand 2011

Hinweis zur Verwendung von Cookies

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen hierzu erhalten Sie in unserer Datenschutzerklärung.

OK