Autorisierung

Die Netzwerk-Transparenz des X Window Systems birgt besondere Risiken. So kann zum Beispiel der Inhalt eines beliebigen Fensters ausgelesen werden, wenn nur der X Window Server angesprochen werden kann. Spezielle Sicherheitsmaßnahmen sollen den Zugang zu einem X Window Server einschränken. Der Zugang kann auf zwei Arten kontrolliert werden:

Nur X Window Clients, die auf bestimmten Maschinen ausgeführt werden, sind berechtigt (Host Access Control). Der X Window Server überprüft die Netzwerkadresse.

Der X Window Server überprüft einen Schlüssel, den der X Window Client beim Aufbau der Verbindung überträgt (zum Beispiel nach dem MIT-MAGIC-COOKIE-1-Mechanismus). In der Regel wird der Schlüssel in einer Datei gespeichert, die nur vom Benutzer geändert oder gelesen werden kann (meist $HOME/.Xauthority).

Der XmetaX Proxy unterstützt beide Verfahren transparent. Allerdings ist die Autorisierung auf zwei Ebenen zu betrachten:

einerseits die Autorisierung der X Window Clients durch den XmetaX-Proxy

und andererseits die Autorisierung des XmetaX-Proxys durch die X Window Server.

Autorisierung der X Window Clients durch den XmetaX-Proxy

Der XmetaX-Proxy autorisiert seine Clients wie ein X Window Server.

Bei der (Re-)Initialisierung liest das xmetax-Programm die Namen der durch Host Access Control berechtigten Maschinen aus der Datei /etc/XDisplay-Nummer.hosts. Dabei entspricht die Display-Nummer der Client-Verbindung (X Window Client-Verbindung), ist also in der Regel 0. Lokale Verbindungen werden generell erlaubt. Später können mit Hilfe des Programms xhost Maschinen hinzugefügt oder entfernt werden.

Zur Autorisierung über Schlüssel (der XmetaX-Proxy unterstützt MIT-MAGIC-COOKIE-1 und XDM-AUTHORIZATION-1) wird mit der Anweisung

authorization Dateiname|none

eine Autorisierungsdatei spezifiziert, die der XmetaX-Proxy zur Autorisierung von X Window Clients verwendet.

Wird dagegen mit der Anweisung serverCommand (X Window Server) durch das Argument -auth eine Autorisierungsdatei angegeben, wird diese auch vom XmetaX-Proxy verwendet. Das Argument -auth wird in der Regel von Displaymanagern automatisch angefügt (Mit Displaymanager).

Ein Displaymanager kann den Autorisierungsschlüssel auch über das X Display Manager Control Protocol an das xmetax-Programm übermitteln (X Display Manager Control Protocol).

Die Anweisung

accessControl on|off

schaltet die Autorisierung von Clients generell ein (Voreinstellung) oder aus.

Autorisierung des XmetaX-Proxys durch die X Window Server

Der XmetaX-Proxy muß sich bei den X Window Servern wie ein normaler Client autorisieren. Werden die eigentlichen X Window Server nicht geschützt, ist die Zugangsbeschränkung via XmetaX wertlos.

Zur Autorisierung über Host Access Control muß der Name der Maschine, auf der das xmetax-Programm ausgeführt wird, in der Berechtigungsdatei, normalerweise /etc/XDisplay-Nummer.hosts, stehen, sofern das xmetax-Programm und der X Window Server auf verschiedenen Maschine laufen. Dabei entspricht die Display-Nummer der Display-Nummer des X Window Servers (X Window Server), ist also mit dem Proxy meist 1, sonst in der Regel 0. Der Maschinenname kann auch bei bereits laufendem X Window Server mit Hilfe des Programms xhost hinzugefügt werden.

Zur Autorisierung über Schlüssel (der XmetaX-Proxy unterstützt MIT-MAGIC-COOKIE-1 und XDM-AUTHORIZATION-1) sind die Datei $HOME/.Xauthority und die Umgebungsvariable $XAUTHORITY maßgeblich. Dies kann geändert werden mit der Anweisung

serverAuthorization Dateiname|own|none

die eine Autorisierungsdatei definiert, die der XmetaX-Proxy ausschließlich zur Autorisierung bei den X Window Servern verwendet, die vom Proxy selbst gestartet werden, also über die serverCommand-Anweisung (X Window Server) oder als Ressourcemanager (Ressourcemanager) bei Verwendung einer der Optionen InWindow oder DynamicServer.

Der Parameter own bewirkt, daß der XmetaX-Proxy selbständig einen zufälligen Autorisierungsschlüssel generiert und diesen zur Autorisierung bei den X Window Servern verwendet.

Wird die Server-seitige Autorisierung nicht konfiguriert, versucht das xmetax-Programm, einen passenden Schlüssel auf der Client-Seite zu finden (Autorisierung der X Window Clients durch den XmetaX-Proxy). Dies gelingt sicher, wenn der Displaymanager mit dem Argument -auth eine Autorisierungsdatei konfiguriert (Mit Displaymanager).

Copyright © 2018 X-Software GmbH
info@x-software.com