Rezension: Linux Server-Sicherheit - Werkzeuge und Praxistipps für sichere Rechner

Cover

Michael D. Bauer

Das Buch im O'Reilly Katalog
Deutsche Übersetzung von Andreas Heck
2. Auflage Juni 2005
ISBN 3-89721-413-X
589 Seiten
EUR 44.00
Englischsprachige Ausgabe: Linux Server Security

Inhalt

Das Buch beginnt mit den folgenden Sätzen:

Computer-Sicherheit kann entmutigen, aber auch befreien. Wenn Sie erst einmal Ihr Entsetzen über die Vergeblichkeit dieser Mühen überwunden haben - ein Gefühl, das mit dem junger Waldhornspieler zu vergleichen ist, wenn sie feststellen, dass ihr Instrument sie regelmäßig demütigen wird, ganz egal, wie viel sie üben - werden Sie bemerken, dass es nur besser werden kann. sie können nämlich die Wahrscheinlichkeit, dass Ihr System angegriffen wird, enorm reduzieren, wenn sie an das Thema Systemsicherheit mit folgenden Voraussetzungen herangehen:
  • Genügend Neugier zu erfahren, worin die Risiken besten.
  • Ausreichend Energie zum Identifizieren und Einleiten der Schritte, die notwendig sind, um das Risiko zu reduzieren (und es somit auf intelligente Weise vorauszusagen).
  • Dem nötigen Maß an Bescheidenheit und Vorstellungsvermögen, um Pläne für das mögliche Versagen selbst Ihrer ausgeklügelten Sicherheitsmaßnahmen zu treffen.
Es ist aber mindestens genauso wichtig, dass Sie im Fall eines erfolgreichen Angriffs die Dauer und Auswirkungen dieses Angriffs eingrenzen können. Dieses Buch unterstützt Sie bei beidem.

Diese Einleitung macht mehrerlei positive Aspekte deutlich, die auch für das komplette restliche Buch gelten:

  • Der Autor versucht gar nicht erst, den Eindruck zu vermitteln dass es eine absolute Sicherheit gibt. Vor dem Hintergrund kontinuierlicher Weiterentwicklung -- einerseits bei der Software, andererseits bei der Kreativität möglicher Angreifer -- ist eine absolute Sicherheit illusorisch. Dies ist wahrscheinlich auch der Grund für die Umbenennung des Buches, das in der ersten Auflage noch den Titel 'Sichere Server mit Linux' trug.
  • Das Buch weckt die angesprochene Neugier, sich mit den Risiken zu beschäftigen.
  • Und nicht zuletzt: Das Buch ist wirklich lesbar, stellenweise sogar unterhaltsam geschrieben.

Die beiden letzten Punkte machen ein ohnehin schon gutes zu einem hervorragenden Buch, der erste Punkt wird jedem einleuchten, der sich schon mal mit dem Thema beschäftigt hat. Es ist nicht selbstverständlich, daß ein Buch zu diesem Thema gar nicht erst den Anspruch erhebt das Aufsetzen eines unangreifbaren Systems zu ermöglichen.

Historisch begann dieses Buch als eine Art Zusammenfassung der Kolumne 'Paranoid Penguin', die der Autor im Linux Journal Magazine veröffentlicht. Für die Veröffentlichung in Buchform wurden die Themen komplett überarbeitet und durch weitere Kapitel ergänzt. Im einzelnen beschäftigt sich das Buch mit den folgenden Themen, die im Wesentlichen Distributionsübergreifend (auf Red Hat / Fedora, SuSE 9 / SLES und Debian 3 wird explizit eingegangen, Benutzer anderer Distributionen können entsprechend ableiten) behandelt werden:

  • Gefahrenanalyse und Risiko-Management
    Hier werden theoretische Grundlagen geschaffen, und Fragen wie die folgenden diskutiert: Wovor will sich der Betreiber eines Systems schützen? Worin liegen die Gefahren im Falle eines Angriffs und wie kann man sich allgemein dagegen schützen, bzw. die Auswirkungen minimieren?
  • Planung von Perimeter-Netzwerken
    Nach einer allgemeinen Klärung von Begriffen wird hier der Sinnvolle Aufbau der von außen erreichbaren Teile eines Netzwerkes beschrieben. Neben der Architektur einer demilitarisierten Zone (DMZ) wird auch auf Einsatz und Auswahl von Firewalls eingegangen.
  • Linux härten und iptables verwenden
    Dieses recht umfangreiche Kapitel erläutert Grundlagen und zeigt an praktischen Beispielen, wie man die verschiedenen Distributionen gegen Angriffe abhärtet. Die Maßnahmen reichen von der Deinstallation nicht benötigter Software über Methoden zur Aktualisierung des Systems bis zum Einsatz von Werkzeugen wie sudo oder Bastille. Nach einer Beschreibung der Einrichtung eines Paketfiltersn wird der Einsatz von Tools wie Nessus oder nmap gezeigt, mit denen der Erfolg der Bemühungen auf die Probe gestellt werden kann.
  • Sichere Remote-Administration
    Unerläßlich für die Administration von entfernten Systemen ist der Einsatz von SSH, SCP und Konsorten. Dieses Kapitel behandelt sowohl die Grundlagen, als auch fortgeschrittene Einsätze wie Public-Key-Kryptographie und TCP-Port-Forwarding.
  • Tunnel graben
    Mit Werkzeugen wie OpenSSL oder Stunnel können an sich unsichere Protokolle in einen veschlüsselten Tunnel verpackt werden, um sie vor unberechtigtem Ausspähen zu schützen.
  • Domain Name Services (DNS) absichern
    Nach einer Erklärung von DNS-Grundlagen und Funktionsweise wird ausführlich auf die Einrichtung und Absicherung von bind eingegangen. Außerdem wird die 'überschaubarere' Alternative wie djbdns vorgestellt.
  • Authentifizierung mit LDAP
    Um nicht für jeden Mailbenutzer einen eigenen Shell-Account einrichten zu müssen, und um in der Datenhaltung der Accounts flexibler zu sein sollte man ein zentrales Verzeichnis wie OpenLDAP einsetzen. Hier wird der Betrieb und die Absicherung beschrieben.
  • Datenbank-Sicherheit
    Einerseits die Grundlage der meisten Serverdienste, andererseits eines der für Angreifer lohnenswertesten Ziele sind Datenbanken. Am Beispiel von MySQL wird in diesem Kapitel gezeigt, was beim Einsatz von Datenbanken auf öffentlich zugänglichen Servern zu beachten ist.
  • Absichern von E-Mail-Diensten
    Ein weiteres Hauptziel sind Mail-Dienste. Nicht nur weil die verwalteten Accounts häufig geldwerte Informationen wie Paßwörter enthalten, sondern auch um digitalen Abfall wie Spam, Hoaxes und Viren unter das Volk zu bringen. Dieser Abschnitt zeigt Installation und Absicherung von Sendmail und Postfix, die Einrichtung von Cyrus IMAP samt seiner Authentifizierung gegen ein LDAP-Verzeichnis, sowie einige Grundlagen zur Verschlüsselung mit PGP/GPG und S/MIME.
  • Absichern von Webservern
    Hier werden nicht nur die Einrichtung eines Apache beschrieben, sondern auch ausführlich die Gefahren, die von dynamischen Web-Inhalten wie PHP- oder CGI-Skripten ausgehen.
  • Absichern von Dateidiensten
    Zwar sollte man für den transport von Dateien heutzutage verschlüsselten Protokollen wie SCP den Vorzug geben, aus vielen Bereichen im Netz läßt sich trotzdem FTP nur schwer wegdenken. Neben dem ausgewachsenen ProFTPD wird hier auch der kleinere vsftpd vorgestellt. Außerdem wird ausführlich rsync beschrieben.
  • Systemprotokolle und -überwachung
    Die naheliegendste Methode um Angriffe zu erkennen dürfte der Einsatz und die Auswertung von Logdateien sein. Dieses Kapitel liefert eine ausführliche Beschreibung von Syslog und Syslog-NG, sowie eine Beschreibung von Logrotate und dem Logfile-Überwacher Swatch.
  • Techniken zur Intrusion Detection
    Ist der Angreifer erst einmal im System, hat er unter Umständen auch die Möglichkeit Logfiles zu manipulieren. Um ihm dennoch auf die Schliche zu kommen helfen dann nur noch Intrusion Detection Systeme. Mit Tripwire und Snort werden in diesem Abschnitt sowohl ein Host- als auch sein Network-IDS gezeigt.

In einem Anhang wird noch ein exemplarisches Startskript für iptables mitgeliefert.

Explizit läßt das Buch Anwendungen außen vor, die nicht für den Einsatz auf einem öffentlich erreichbaren Server geeignet sind. Dazu gehören zum Beispiel die Dateifreigabedienste Samba oder NFS. Auch das sehr komplexe Einzelthema Firewall wird nur zum Teil behandelt, für die Einrichtung eines dedizierten Firewall-Systems sollte man also ein dediziertes Buch anschaffen.

Fazit

Alles in allem - und ich glaube, das macht dieser Text auch ohne den Hinweis deutlich - halte ich 'Linux Server-Sicherheit' für ein sehr gelungenes Buch. Jeder, der einen öffentlich zugänglichen Server betreibt sollte die eine oder andere Stunde damit verbracht haben, um sich vor der Einrichtung eines Dienstes über die damit verbundenen Gefahren zu informieren.

Probekapitel im PDF-Format