X-Session
Netzwerktransparenz

Sicherheitsaspekte

X11 über das Netzwerk


Angenommen, auf Ihrem Desktop läuft eine X-Session mit einem Xterm, etwa wie im vorhergehenden Kapitel beschreiben. Sie sind mit einem Linux-Server verbunden, auf dem Sie einen X-Applikaition starten wollen, z.B. xload , um die Last auf dem Server zu beobachten.

Netzwerk-Zugriff Freischalten

Zunächst muss der X-Server so konfiguriert werden, dass er Verbindungen von der Server-Maschine über das Netzwerk überhaupt akzeptiert; in der Regel ist der aus Sicherheitsgründen per Default gegenüber anderen Servern und Usern abgeschottet. Mit dem Kommando

xhost +servername   oder    xhost +ip-adresse

wird die Server-Maschine in die Access Control List des X-Servers aufgenommen.

Startmethoden

Nun gilt es, eine X-Applikation auf einem anderen Rechner zu starten und der X-Applikation mitzuteilen, welchen X-Server sie ansprechen soll. Zum Starten einzelner X-Applikationen eignen sich alle Protokolle, die auf entfernten Rechnern Kommandos ausführen können, also rsh, rlogin, rexec oder telnet. Telnet ist in der Regel freigeschaltet, deshalb das erste Beispiel mit Telnet. Nach Login in dem remote-rechner mit

    telnet remote-rechner

in einem xterm, kvt, konsole o.ä kann endlich die "entfernte X-Applikation" gestartet werden, z.B.

    /usr/X11/bin/xterm -ls -display lokale_ip_adresse:0 &

Es sollte ein weiteres xterm am Bildschirm erscheinen, das aber auf dem remote-rechner läuft. Mit der Angabe "-display lokale_ip_adresse:0" wird xterm angewiesen, den X-Server mit dieser , also den auf Ihrer Maschine laufenden X-Server zu verwenden.
Diese Syntax -display Display-ID funktioniert bei fast allen X-Applikationen, ist aber umständlich, wenn mehrere entfernte X-Clients aufgerufen werden sollen. Alle X-Clients lesen allerdings - falls gesetzt - aus der Umgebungsvariable DISPLAY die Display-ID des gewünschten X-Servers aus. Je nach verwendeter Shell setzt man also
    DISPLAY=ip_adresse:0
    export DISPLAY
für bash, ksh  oder
    setenv DISPLAY ip_adresse:0

Oft wird die richtige Display-ID bereits von telnet automatisch gesetzt, zu überprüfen durch
    echo $DISPLAY

Wenn die DISPLAY-Variable richtig gesetzt ist, können einfach weitere X-Clients gestartet werden:  xcalc &   xclock &   xload &   ...

Alle auf dieser Seite beschriebenen Methoden haben allerdings einen schwerwiegenden Nachteil: Jeder, der Zugriff auf das Netzwerk hat und über genügend Know-How verfügt, kann die gesamte X-Session mitlesen, schlimmer noch, den Inhalt des X-Server abfragen und beeinflussen. Daher sind an dieser Stelle Überlegungen zu Sicherheitsaspekten vollkommen angebracht.
X-Session
     ©2005, 2007 Andreas Gottwald
Sicherheitaspekte