Rezension von Linux Server Security


Dirk Geschke

Buchinformationen


Linux Server Security
Autor: Michael Bauer
ISBN: 0-596-00670-5
2. Auflage Februar 2005
542 Seiten
Preis: 43 Euro

Rezension

Das Buch Linux Server Security ist die 2. Auflage von ''Building Secure Servers with Linux'' und widmet sich der Sicherheit von Server Diensten auf Linux Systemen. Allerdings gibt der Autor im Vorwort schon zu, daß dies kein vollständiges Buch zum Thema Sicherheit sein kann. Sein ursprünglicher Arbeitstitel war auch

Attempting to Enhance Certain Elements of Linux System Security in the Face of Overwhelming Odds: Yo Arms Too Short to Box with God

Das Buch gliedert sich grob in vier Teile, der Netzwerksicherheit, der Verschlüsselung von Verbindungen, den Serverdiensten und der Einbruchserkennung.

Erster Teil - Netzwerksicherheit und Härtung von Linux

Die ersten Kapitel widmen sich allgemein dem Thema Sicherheit, wie kann eine Bedrohung aussehen, was ist gefährdet, wie muß die Situation realistisch eingeschätzt werden. Anschließend werden die Netzwerkgrenzen analysiert. Dabei geht es um die Frage wie ein Netzwerk aufgebaut werden sollte um mithilfe von Firewalls eine optimale Absicherung zu erreichen.

Ferner werden Ratschläge für effektive Filterregeln anhand von Iptables diskutiert. Ein großer Abschnitt dient der Absicherung des Betriebssystem als solches mit Betrachtungen welche Dienste auf einem Server wirklich notwendig sind und welche nicht. Es wird darauf eingegangen wie diverse Dienste effektiv bei verschiedenen Distributionen deaktiviert werden.

Den Abschluß des ersten Abschnittes bildet den Test des eigenen Servers mit den Programmen nmap und Nessus sowie der Option den Server mit Bastille Linux zu härten.

Zweiter Teil - Verschlüsselung

Der zweite Teil beginnt mit der Frage wie ein Server am Besten remote administriert wird. In der heutigen Zeit sind Werkzeuge wie telnet oder der Berkeley r-tools nicht wirklich noch ratsam. Stattdessen sollte auf die Verwendung von SSH zurückgegriffen werden. Damit ist zum Einen eine sichere Authentisierung anhand von public-key Verfahren möglich und die Netzwerkverbindung ist verschlüsselt. Wie dies effektiv eingerichtet und mit gearbeitet wird zeigt der Autor am Beispiel von OpenSSH. Dabei werden auch Themen wie das Port-Forwarding von SSH besprochen. Damit können auch unverschlüsselte Dienste über einen sicheren Kanal betrieben werden.

Auf eine Alternative zum verschlüsseln unsicherer Verbindungen geht der Autor in Form von stunnel ein. Da dies Programm auf SSL aufsetzt wird auch dies ausführlich am Beispiel von OpenSSL erklärt. Dabei werden auch schwierige Themen wie der Aufbau einer CA (Certificate Authority)

Dritter Teil - Absichern von Serverdiensten

Dieser Abschnitt befaßt sich damit worauf zu achten ist um Serverdienste sicher aufzusetzen.

Den Anfang, nach einer kurzen Einführung in das DNS, bildet dabei DNS. Hier geht der Autor ausführlich auf BIND ein welches derzeit den Quasi-Standart bildet.

Als Alternativdienst für DNS betrachtet der Autor auch djbdns, ein alternatives DNS System von Daniel J. Bernstein.

Es werden die Stärken und Schwächen der beiden Programmpakete verglichen, so daß man leicht zu einer Entscheidung finden kann welches Paket besser für einen geeignet ist. Dabei wird auch darauf hingewiesen, daß BIND vollständiger ist und einige DNS Konzepte bei dbjdns fehlen.

Die Authentisierung mit Hilfe von LDAP ist Bestandteil des nächsten Kapitels. Dies ist ein schwieriges Thema welches der Autor gut bewältigt

Das Kapitel Database Security beschränkt sich leider rein auf MySQL, der einzige kurze Lichtblick ist die letzte Seite. Diese führt kurz in die Problematik von SQL injection ein. Das Kapitel hätte sich der Autor auch sparen können.

Dafür ist das nächste Kapitel wieder deutlich besser, es handelt von E-Mail Sicherheit.

Den Anfang bildet ein kurzer Überblick über die wichtigsten SMTP Kommandos und wie man einen Mail-Server via telnet testen kann. Anschließend werden die beiden wichtigsten MTA's besprochen, sendmail und postfix.

Als MTA wird leider nur der IMAP-Server von Cyrus sowie die Verwendung von SASL besprochen. Hier hätte man durchaus auch Alternativen betrachten können.

Den Abschluß bildet eine kurze Einführung in die Verschlüsselung von E-Mails. Da dies ein Problem zwischen zwei Clients darstellt gehört dies nicht in den Rahmen des Buches. Auf der anderen Seite sollte auch auf diese Möglichkeit hingewiesen werden. Daher ist diese kurze Einführung durchaus gerechtfertigt.

Das Kapitel über Webserver dient eher um einem die Sicherheitsproblematik nahezubringen. Angesichts der Komplexität von Webservern ist dies anders auch nicht zu bewerkstelligen. Der erste Abschnitt widmet sich der Installation und Konfiguration des Webservers Apache. Danach wird auf die Problematik des dynamischen Inhalts von Seiten mit z.B. SSI und CGI-Programmen eingegangen. Hierbei wird auch der Unterschied zwischen GET- und POST-Requests eingegangen.

Die folgenden Webapplikationen beschränken sich auf die Verwendung von perl und PHP.

Der Abschnitt der Authentisierung und Zugriffskontrolle ist wieder allgemeiner Natur auch wenn es sich auf den Apache beschränkt.

Zum Abschluß weißt der Autor noch auf die Problematik des Dateiuploads zum Webserver hin. Dies sollte tunlichst nicht via CGI-Skript erledigt werden.

Das letzte Kapitel dieses Abschnitts befaßt sich mit der Problematik des Dateitransfers. Zwar weist er oft daraufhin, daß dies sicher mit sftp oder scp bzw. mit rsync und ssh erfolgen kann dennoch ist FTP oft noch notwendig und erwünscht.

Ein wichtiger Punkt für die Verwendung von FTP stellt der anonymous Zugang dar. Da hier keine sensitiven Daten übertragen werden, kann hierfür durchaus FTP verwendet werden. Allerdings muß auch ein solcher Server gegen Mißbrauch geschützt werden.

Das klassische FTP-Server Paket WU-FTPD hatte sich in den letzten Jahren als immer wieder mit Sicherheitsproblemen behaftet dargestellt. Nach einer generellen Betrachtung wie man den anonymen FTP Zugang absichern soll betrachtet der Autor zwei andere FTP Pakete: ProFTPD und vsftpd.

ProFTPD ist ein modulares Programmpaket mit einer Konfigurationssyntax ähnlich zu Apache. Es ist sehr umfangreich und bietet sehr viele Optionen.

vsftd hingegen ist weniger optionslastig hat aber Sicherheit als primäres Ziel, daher auch der Name Very Secure FTP. Dieses Programm gehört zurecht zu den Favoriten des Autors.

Einbruchserkennung

Der letzte Abschnitt beschäftigt sich mit der Auswertung und Überwachung von Logdateien, der Integrität der installierten Programme sowie der Einbruchserkennung am Beispiel von snort, einem netzwerkbasierten Intrusion Detection Systems.

Neben der Konfiguration des klassischen syslog-Daemons wird auch auf die Verwendung von syslog-ng eingegangen. Dieses Programm hat deutlich mehr Filtermöglichkeiten als die klassische Variante. Demzufolge wird diesem Daemon ein größerer Abschnitt gegönnt.

Den Abschluß des Kapitels bildet die Verwendung von swatch zur automatischen Überwachung von Logdateien. Dennoch weißt der Autor darauf hin, daß die Verwendung von swatch nicht bedeutet, daß Logdateien nicht mehr beachtet werden müssen.

Das letzte Kapitel beschreibt wie tripwire dazu verwendet werden kann um die Integrität der installierten Dateien zu überprüfen. Den Abschluß bildet dann eine Einführung in die Verwendung von snort als NIDS. Diese Passage hätte aber auch durchaus weggelassen werden können. Dies hat nur indirekt mit Serversicherheit zu tun. Demzufolge wird das Thema auch nur sehr kurz beleuchtet.

Zusammenfassung

Das Buch Linux Server Security ist ein durchaus empfehlenswertes Buch. Es macht deutlich auf was zu achten ist und welche Programme zur Verfügung stehen. In vielen Bereichen ist das Buch aber nicht vollständig, das ist aufgrund der Thematik auch nicht machbar. Dazu zählen z.B. die Sicherheit von Datenbanken oder Webserver.

Dennoch ist es ein gut lesbares Buch, der Autor hat einen verständlichen Schreibstil. Ein wenig überflüssig ist die Beschreibung wie Software installiert wird, hier geht der Autor oft auf die verschiedenen Distributionen ein. Wer ein solches Buch liest, der sollte wissen wie der Software installiert. Dies bezieht sich auch auf selbstcompilierte Programme. Sofern hier nichts besonderes zu beachten ist kann man diese Passagen auch weglassen.

Dirk Geschke



This document was generated using AFT v5.095