0251 / 590 837 15

Apache: Sicherheit und Performance

Damit der Apache vor allem Sicher im Internet läuft ist es natürlich wichtig auf einige Dinge zu achten. Dort wären zum Beispiel die Physikalische Sicherheit und auch wozu der Serverrechner noch genutzt wird. Weiterhin ist natürlich ein schlankes Betriebssystem erheblich von Vorteil wenn es um die Geschwindigkeit des Servers geht.

Sicherheit des Webservers

Wenn von der Sicherheit eines Netzwerke s oder eines Servers gesprochen wird, ist meistens nur die Softwaresicherheit gemeint. Wir fangen aber erst einmal bei der grundlegenden Sicherheit des Servers an. Damit ist gemeint, dass der Server physikalisch, also räumlich, geschützt wird. Was nützt die beste Firewall wenn der ganze Server mitgenommen wird? Dazu sollten eigentlich alle Server mit sensiblen Daten gesondert aufgestellt werden (Serverraum). Damit kann dann auch eine einfache ausfallsichere Stromversorgung realisiert werden. Wenn dies gewährleistet ist kann der Zugriff vom und zum Netzwerk zum Beispiel mit einer Firewall geschützt werden. Außerdem braucht auf einem Webserver nicht jeder User im Unternehmen ein Login.
Nun kann sich dem Betriebssystem selbst gewidmet werden. Der Webserverprozess als solches sollte z.B. nicht mit vollen Administrator- oder Rootrechten laufen. Bei einem Einbruch über den Webserver hat der Angreifer dann nämlich auch dessen Rechte und kann entsprechend leichter einen größeren Schaden anrichten. Weiterhin sollten nur wirklich benötigte Dienste laufen und die überflüssigen abgeschaltet werden.
Wichtig ist auch die Möglichkeit eines Backups welches nach einem Servercrash oder ähnlichem wieder genutzt werden kann um die aktuellen Daten wieder herzustellen. Das beste Sicherheitssystem ist sinnlos wenn nach einem "Unfall" die Daten weg sind.
Zusammengefasst, die grundlegenden Sicherheitsmaßnehmen die in jedem Fall getroffen werden sollten:

  • Räumliche Sicherheit
  • Netzwerksicherheit (Firewall)
  • Beschränkter Zugriff übers Netzwerk
  • Beschränkter Zugriff am System
  • Dienst nicht mit Administrator-/Rootrechten laufen lassen.
  • Nur benötigte Dienste auf dem Server aktivieren
  • Backups halten für eine schnelle Systemwiederherstellung

Performance

Die Performance des Apache Webservers hängt in erste Linie von der Hardware und dem eingesetzten Betriebssystem ab. Auf eine aktuelle CPU, ausreichend Arbeitsspeicher und eine schnelle Anbindung des Netzwerke s und der Festplatte sollte nach Möglichkeit geachtet werden. Für eine statische Intranetseite für ca. 100 User ist sicherlich eine nicht ganz so schnelle CPU nötigt wie für eine Internetportal mit mehreren tausend Usern. Egal welches Betriebssystem dabei eingesetzt wird, es sollten bei der Installation nur die benötigten Dienste und Einstellungen getätigt werden. Auf einem Webserver braucht nicht unbedingt ein E-Mailserver installiert sein. Unsere Empfehlung wäre für solch einen Server ein Unix/Linux Betriebssystem. Unter diesem kann mit den mitgelieferten Entwicklungswerkzeugen ein Apache Server übersetzt werden der den Bedürfnissen entspricht.
Wenn der Apache Webserver selbst übersetzt wird gibt es zwei Möglichkeiten die Module einzubinden. Erstens: Das Modul wird fest in den Webserver einkompiliert. Zweitens: Der Apache wird mit der Möglichkeit übersetzt das Modul dynamisch hinzuzuladen. Um einen schnelleren Apache zu erhalten sollten die Module fest einkompiliert werden, dadurch erhöht sich nicht nur die Startzeit des Servers sondern auch seine Geschwindigkeit zur Laufzeit. Weiterhin kann ein Modul das nicht vorhanden ist auch keine Ressourcen verlangen.
Zusammengefasst, die grundlegenden Performancemaßnehmen die in jedem Fall getroffen werden sollten:

  • Hardware an den Zweck angepasst
  • Klare Zielsetzung der Serverdienste
  • Klarer Aufgabenbereich und Umfang des Servers
  • Fest einkompilierte Module auf Produktivsystemen, dynamische Module zum testen