Product SiteDocumentation Site

5.4. Zugriff auf das X-Window-System absichern

Heutzutage werden X-Terminals in immer mehr Unternehmen benutzt, wo ein Server fr viele Arbeitspltze bentigt wird. Dies kann gefhrlich sein, weil Sie dem Datei-Server erlauben mssen, sich mit den X-Clients zu verbinden (X-Server aus Sicht von X. X vertauscht die Definition von Client und Server). Wenn Sie dem (sehr schlechten) Vorschlag von vielen Dokumentationen folgen, geben Sie auf Ihrer Maschine xhost + ein. Dies erlaubt jedem X-Client, sich mit Ihrem System zu verbinden. Fr etwas bessere Sicherheit knnen Sie stattdessen das Kommando xhost +Rechnername verwenden, um den Zugriff auf bestimmte Rechner zu begrenzen.
Allerdings ist es eine viel sicherere Lsung, SSH zu benutzen, um X zu tunneln und die gesamte Sitzung zu verschlsseln. Dies geschieht automatisch, wenn Sie sich an einer anderen Maschine via ssh anmelden. Damit dies funktioniert, mssen Sie den ssh-Client und den ssh-Server konfigurieren. Auf dem ssh-Client muss ForwardX11 in /etc/ssh/ssh_config auf yes gesetzt sein. Auf dem ssh-Server muss X11Forwarding in /etc/ssh/sshd_config auf yes gesetzt sein und das Paket xbase-clients muss installiert sein. Dies liegt daran, dass der SSH-Server /usr/X11R6/bin/xauth (bei Debian-Unstable (/usr/bin/xauth) verwendet, wenn er das Pseudo-X-Display aufsetzt. In den Zeiten von SSH sollten Sie die xhost-basierte Zugriffskontrolle komplett ber Bord werfen.
Wenn Sie keinen X-Zugriff von anderen Maschinen bentigen, ist es fr die Sicherheit am besten, die Bindung auf dem TCP-Port 6000 abzuschalten, indem Sie einfach Folgendes eingeben:
$ startx -- -nolisten tcp
Dies ist das Standard-Verhalten unter XFree 4.1.0 (dem Xserver aus Debian 3.0 und 3.1). Wenn Sie XFree 3.3.6 laufen lassen (d.h. wenn Sie Debian 2.2 benutzen), knnen Sie /etc/X11/xinit/xserverrc editieren, damit Sie etwas erhalten wie:
#!/bin/sh
exec /usr/bin/X11/X -dpi 100 -nolisten tcp
Wenn Sie XDM benutzen, setzen Sie /etc/X11/xdm/Xservers auf :0 local /usr/bin/X11/X vt7 -dpi 100 -nolisten tcp. Wenn Sie GDM benutzen, stellen Sie sicher, dass die Option DisallowTCP=true in /etc/gdm/gdm.conf eingetragen ist (was standardmig unter Debian der Fall ist). Dies wird grundstzlich an jede X-Befehlszeile -nolisten tcp anhngen [44].
Sie knnen auerdem eine standardmige Zeitgrenze fr die xscreensaver-Bildschirmsperre setzen. Auch wenn der Benutzer sie aufheben kann, sollten Sie die Konfigurationsdatei /etc/X11/app-defaults/XScreenSaver editieren und die lock-Zeile von
*lock:                  False
(das ist der Standardwert unter Debian) auf Folgendes ndern:
*lock:                  True
FIXME: Add information on how to disable the screensavers which show the user desktop (which might have sensitive information).
Lesen Sie mehr zur Sicherheit von X Window in http://www.tldp.org/HOWTO/XWindow-User-HOWTO.html (/usr/share/doc/HOWTO/en-txt/XWindow-User-HOWTO.txt.gz).
FIXME: Add info on thread of debian-security on how to change config files of XFree 3.3.6 to do this.

5.4.1. berprfen Ihres Display-Managers

Wenn Sie einen Display-Manager lediglich zur lokalen Nutzung (fr ein schnes graphisches Anmeldefenster) haben wollen, gehen Sie sicher, dass der XDMCP (X Display Manager Control Protocol) Krempel abgeschaltet ist. Unter XDM knnen Sie dies mit der folgenden Zeile in /etc/X11/xdm/xdm-config erreichen:
DisplayManager.requestPort:     0
Fr GDM mssen Sie in Ihre gdm.conf Folgendes eintragen:
[xdmcp]
Enable=false
Normalerweise sind unter Debian alle Display-Manager so konfiguriert, dass sie standardmig keine XDMCP-Dienste starten.


[44] GDM wird -nolisten tcp nicht anhngen, wenn es -query oder -indirect in der Befehlszeile findet, da sonst die Anfrage nicht funktionieren wrde.