Preiswert und schnell: Apache 2 als Webserver

Grundlagen zur Sicherheit

Ursache dafür sind die sehr restriktiven Einstellungen, die per Default für die Informationsseiten des Servers eingerichtet sind. So finden sich sowohl in der für die Informationsseite zuständigen Datei /etc/apache2/mod_info.conf als auch in dem Pendant für die Statusanzeige /etc/apache2/mod_status.conf folgende Einstellungen:

Order deny,allow
Deny from all
Allow from localhost

Diese Einstellung macht nicht ganz das, was man auf den ersten Blick vermuten würde. Entgegen der eigentlichen Erwartung schaltet der Befehl Order deny,allow den Zugriff prinzipiell frei. Nur abrufende Systeme, die den hinter dem Schlüsselwort Deny spezifizierten Kriterien entsprechen, werden abgewiesen. Wer nicht in diese Gruppe fällt oder in der Parameterliste der Anweisung Allow erwähnt ist, erhält Zugriff. Umgekehrt arbeitet dann die BefehlsfolgeOrder allow,deny. Hier ist der Zugriff prinzipiell verwehrt, es sei denn, das aufrufende System ist explizit in der Allow-Liste aufgeführt. Die wirklich sichere Variante wäre also, anstelle von Order deny,allow die entgegengesetzte Option Oder allow,deny zu verwenden. Wer das nicht glaubt, darf es gerne selbst ausprobieren.

Um nun zum Beispiel in einem lokalen Netz mit dem privaten IP-Adressbereich 192.168.1.0 bis 192.168.1.255 von jedem Rechner aus auf die Statusinformationen Zugriff zu haben, wären die Parameter wie folgt zu ändern:

Order allow,deny
Allow from 192.168.1.0/24

Diese Einstellung erlaubt den Zugriff von einer beliebigen IP-Adresse aus dem Subnetz 192.168.1.x. Soll nur bestimmten Rechnern der Zugriff erlaubt sein - etwa der Admin-Workstation mit der Adresse 192.168.1.10 und dem Server selbst - dann sähen die Einstellungen so aus:

Order allow,deny
Allow from 192.168.1.10/32 localhost

Wie zu sehen ist, können die Angaben auf einer Zeile erfolgen. Es ist aber auch erlaubt, mehrere Zeilen zu verwenden, und das Mischen beider Varianten ist ebenfalls möglich.