Ratgeber

So sichern Sie Ihr Linux-System ab

20.06.2008
Von Johannes Plötner und Steffen Wendzel

Nicht alle Netzwerkdienste sind sinnvoll

Bei einem schlüssigen Sicherheitskonzept spielen die installierten Netzwerkdienste ebenfalls eine große Rolle. Besonders wichtig ist es, keine unnötigen Services laufen zu lassen und sich stets für die sicherere Variante zu entscheiden. So ist etwa die Nutzung des SSH-Dienstes, der Verschlüsselungsalgorithmen nutzt, dem Einsatz des betagten Telnet-Services vorzuziehen. Auf vielen Systemen finden sich die folgenden Dienste, obwohl sie in der Praxis auf Serversystemen kaum eine Rolle spielen.

  • famd: Der file alteration monitor daemon überwacht die Veränderung von Dateien. Löschen Sie etwa auf der Konsole eine Datei, sorgt famd dafür, dass die Ansicht im Dateimanager unter KDE aktualisiert wird. Allerdings gibt es nur wenige Serverdienste, die diesen Dienst auch wirklich benötigen, so dass der Service de-installiert werden kann.

  • portmap: Setzten Sie auf dem Server weder NFS noch famd ein, können Sie portmap komplett de-installieren. Alternativ dazu ist es aber auch möglich, den Dienst so zu konfigurieren, dass er nur das Loopback-Device überwacht.

  • identd: Mittels dieses Dienstes lässt sich herausfinden, unter welchen Benutzerrechten ein Prozess läuft, der eine bestimmte TCP-Verbindung geöffnet hat. Ein großes Sicherheitsrisiko, das keinesfalls als Service laufen darf.

  • fingerd: Über fingerd kann man bekanntermaßen herausfinden, welche Benutzer gerade am System eingeloggt sind. Diese Information ist zwar nicht geheim, sollte dennoch nicht auf einem öffentlichen Server zur Verfügung gestellt werden.

Neben den vier exemplarisch vorgestellten Netzwerkdiensten gibt es eine Reihe weiterer Services, die Sie aus Sicherheitsgründen nicht installieren sollten.

Interessante Security-Funktionen

Firewall und Intrusion Detection sind beileibe nicht die einzigen Schutzmechanismen, die Linux Ihnen bietet. Auch mittels Restricted Shels und chroot können Sie die Sicherheit erhöhen.

  • Restricted Shell: Eine Restricted Shell ist eine Shell, die die Tätigkeiten eines Benutzers stark einschränkt. Solch eine Shell kann eingesetzt werden, wenn nicht allzu vertrauenswürdige Benutzer Zugriff auf ein System bekommen sollen. Eine Restricted Shell schränkt die Aktionen des Benutzers wie folgt ein: Das Arbeitsverzeichnis kann nicht gewechselt werden. Die Shellvariablen $SHELL, $ENV und $PATH können nicht geändert werden. Programmnamen können nicht über relative oder absolute Pfade gestartet werden, sie müssen sich im $PATH befinden. Die Ausgabeumlenkung kann nicht verwendet werden.

  • Chroot: Im Normalfall hat ein Angreifer nach einem erfolgreichen Overflow-Angriff auf einen Dienst, der unter dem Benutzer root ausgeführt wird, vollen Zugriff auf das System. Unter Unix gibt es allerdings einen Syscall, mit dem das Wurzelverzeichnis eines Programmes gewechselt werden kann. Wird ein Programm in einer solchen chroot-Umgebung gestartet, kann das Wurzelverzeichnis beispielsweise von / auf /secure geändert werden. Dadurch kann der Zugriff auf die Dateien im /etc-Verzeichnis und auf Dateien anderer Dienste oder Benutzer des Systems unterbunden werden.