Apache-Server gegen Attacken schützen

Workshop - Linux-Webserver richtig abschotten

17.11.2011
Von Thomas Hümmler

Schotten dicht

Wenn Sie den Webserver nur auf dem eigenen Rechner einsetzen wollen, schalten Sie den externen Zugriff einfach aus. Das geschieht mithilfe der Listendirektive in der Serverkonfiguration. Mit dieser Anweisung werden IP-Adressen und Port-Nummern festgelegt, auf denen der Webserver auf Anfragen wartet. In Debian und Ubuntu steht die Listendirektive in der Datei /etc/apache2/ports.conf (wo die Konfigurationsdaten in anderen Distributionen und Betriebssystemen zu finden sind, steht im bereits eingangs erwähnten Wiki):

NameVirtualHost *:80Listen 80

Um das Tor zur Außenwelt zu schließen, ändern Sie diesen Eintrag in:

Listen 127.0.0.1:80

Mein Webserver: Mit der Direktive "Listen 127.0.0.1:80" sind nur Zugriffe von Localhost erlaubt.
Mein Webserver: Mit der Direktive "Listen 127.0.0.1:80" sind nur Zugriffe von Localhost erlaubt.

Nach dem Sichern der Konfiguration und einem Neustart beantwortet der Webserver nur noch die Anfragen des Localhosts. Wollen Sie stattdessen den Apache in einem lokalen Netzwerk oder Subnetz einsetzen, hilft die Direktive "Allow from" aus dem Apache-Modul mod_authz_host, das es seit der Version 2.1 gibt. "Allow from" können Sie in den Konfigurationsbereichen <Directory>, <Files> und <Location> verwenden, etwa so:

<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from 147.10 192.168.0 RedirectMatch ^/$ /apache2-default/ </Directory>

Nach einem Neustart des Webservers haben nur Rechner aus dem IP-Adressbereich 147.10.* und 192.168.0.* Zugriff auf das Webserververzeichnis. Falls Sie lieber mit Realnamen arbeiten, können Sie statt des IP-Adressbereichs auch den Domain-Namen angeben:

Allow from intern.net