Zum Inhalt springen

Apache2.4/18 Sicherheit/Server-Umgebung

Aus Foxwiki

18.1 Sicherheit der Server-Umgebung

Sicherheitskonzepte, die nichts mit dem Betrieb von Apache selbst zu tun haben, würden den Rahmen dieses Buches sprengen. Selbstverständlich sollten Sie aber folgende zusätzliche Sicherheitsmaßnahmen in Erwägung ziehen:

  • Eine Firewall

Natürlich können Sie einen Webserver, dessen Aufgabe die Veröffentlichung von Informationen für den allgemeinen, anonymen Zugriff ist, nicht vollständig hinter einer Firewall verbergen. Vielmehr sollten Sie über eine intelligente Verteilung der betroffenen Rechner im Netzwerk nachdenken. Möglicherweise können Sie Proxy-Dienste verwenden, um eine Firewall zwischen dem eigentlichen Webserver und den Backend-Servern, etwa für Anwendungen oder Datenbanken, zu überbrücken. Übrigens sollten Sie neben einer netzwerkweiten Firewall auch auf dem Webserver-Host selbst eine Software einrichten, die Zugriffe auf bestimmte Ports unterbindet oder spezielle Pakete zurückweist. Wenn Sie Linux verwenden, ist die Firewall in Form von Netfilter (konfigurierbar über das Kommando iptables) bereits im Kernel enthalten. Ein Ersatz für eine netzwerkweite Firewall-Lösung ist dies zwar nicht, aber immerhin eine zusätzliche Absicherung.

  • Ein Intrusion Detection System (IDS)

Angriffe oder Angriffsversuche sind nicht immer leicht zu erkennen. Am besten ist es, Sie installieren eine Software, die unerwünschte Änderungen erkennt und Alarm schlägt. Eine gute Wahl für Linux ist beispielsweise das Integritätsprüfungs-Tool tripwire. Sie finden dieses Open-Source-Programm auf der DVD zum Buch. Weiter unten wird zudem mod_security vorgestellt – es handelt sich um die Verwirklichung eines IDS (und weiterer Sicherheitsmaßnahmen) als Apache-Modul.

  • chroot-Umgebung

Auf UNIX-Systemen gibt es noch eine weitere interessante Sicherheitsmaßnahme: Sie können ein Programm in einen chroot-»Käfig« sperren. Das bedeutet, dass der Software vorgegaukelt wird, ihr lokales Unterverzeichnis sei das Wurzelverzeichnis des Dateisystems. Beachten Sie allerdings, dass auch dies keine absolute Sicherheit gewährleistet – es gibt immer wieder Sicherheitslücken in den eingesperrten Programmen oder in den chroot-Implementierungen, die es einem Angreifer ermöglichen, aus der chroot-Umgebung zu entkommen. Die Einrichtung einer solchen Umgebung ist vor allem deshalb nicht ganz einfach, weil Sie herausfinden müssen, welche Verzeichnisse und Dateien Apache außer seinem eigenen Installationsumfang benötigt, um ausgeführt werden zu können. Die genaue Konfiguration hängt stark von Ihrem konkreten System ab. Auf der Website zum Buch finden Sie Links zu Informationen für diverse Linux- und UNIX-Versionen. In Apache 2.2.10 wurde die Direktive ChrootDir hinzugefügt, die nach dem Start von Apache, aber vor dem Akzeptieren von Anfragen ein chroot in das angegebene Verzeichnis durchführt. Sie wird in Abschnitt 17.2.2 beschrieben.

  • »Cracker-Tools«

Im ersten Moment hört es sich vielleicht merkwürdig an, aber eine der besten Schutzmaßnahmen vor Angriffen besteht darin, die Werkzeuge der potenziellen Angreifer zu benutzen, um Sicherheitslücken zu erkennen und nach Möglichkeit zu schließen. Eines der wertvollsten Tools in dieser Sparte ist Nessus.1 Dieses freie Programm funktioniert unter zahlreichen UNIX-Varianten; für Windows ist ein Port namens NeWT verfügbar. Sie finden beide Versionen auf der DVD.

  • Geschulte Mitarbeiter!

Die beste technische Sicherheitsmaßnahme nützt nichts, wenn die User nicht darüber Bescheid wissen. Menschliches Versagen ist immer die größte Sicherheitslücke; einige der erfolgreichsten Cracker haben nicht nur durch ausgeklügelte technische Maßnahmen Zugriff auf geschützte Systeme erlangt, sondern vor allem durch »Social Engineering« – siehe beispielsweise [MITN 2003]. Besonders der vernünftige Umgang mit Passwörtern ist weithin unbekannt. Weisen Sie Ihre Mitarbeiter deshalb besonders auf folgende Punkte hin:

1 Damit will ich nicht gesagt haben, die Intention der Nessus-Entwickler sei die Unterstützung von Crackern!

  • Passwörter dürfen niemals sinnvolle Wörter sein, sondern sollten möglichst wirre Kombinationen aus Groß- und Kleinbuchstaben, Ziffern und

Sonderzeichen sein.

  • Passwörter müssen regelmäßig gewechselt werden. Wenn Ihr Betriebssystem eine Möglichkeit bietet, die Benutzer nach einer bestimmten Zeit zur

Änderung zu zwingen, sollten Sie diese nutzen.

  • Ein Passwort wird niemals aufgeschrieben! Ein sicheres Passwort, das man

sich dennoch leicht merken kann, ergibt sich am einfachsten aus den Anfangsbuchstaben eines möglichst sinnlosen Satzes; einige Zeichen sollten allerdings keine Buchstaben sein.

  • Administratoren, Mitarbeiter von Internet-Providern, Polizisten oder

Staatsbeamte fragen niemals nach dem Passwort. Wer auch immer Sie also danach fragt, ist ein Betrüger.

  • Passwörter sind erst der Anfang – die vorgestellten Maßnahmen zur Passwortsicherheit sind wichtig. Für sich allein sind sie aber noch lange keine

ausreichende Absicherung; das sollten sowohl Sie als auch die restlichen Benutzer wissen.