Apache-Server gegen Attacken schützen

Workshop - Linux-Webserver richtig abschotten

17.11.2011
Von Thomas Hümmler

Sicherheitsrisiko .htaccess

Viele Anwender meinen, man müsse und solle mithilfe der sogenannten .htaccess-Dateien die Benutzerauthentisierung regeln. "This is simply not the case", schreiben die Entwickler in der Apache-Dokumentation. Die .htaccess-Dateien sollte man nur dann nutzen, wenn die Webserverkonfiguration nicht häufig geändert werden soll und die Nutzer die Änderungen selbst durchführen - etwa bei Hostern.

Prinzipiell empfehlen die Apache-Entwickler, auf .htaccess-Dateien zu verzichten. Die Direktive

<Directory />

AllowOverride None

</Directory>

in der Serverkonfiguration lässt keine .htaccess-Dateien zu, außer in Verzeichnissen, die gesondert angegeben sind. Ohne diese Direktive leidet die Geschwindigkeit. Denn mit "AllowOverride" durchsucht der Apache jedes seiner Verzeichnisse nach diesen Dateien, auch wenn dort keine stehen. Zusätzlich wird jedes Mal, wenn im Browser ein Dokument angefordert wird, auch die .htaccess-Datei geladen. Und um alles komplett zu machen: Der Webserver sieht auch noch in jedem darüberliegenden Verzeichnis nach .htaccess-Dateien, um ja keine darin stehende Direktive zu übersehen.

Außer dem Geschwindigkeitsnachteil sehen die Entwickler noch ein Sicherheitsproblem: "AllowOverride" erlaubt es den Nutzern, die Serverkonfiguration zu ändern. Dann hat der Administrator eventuell keine Kontrolle mehr über den Rechner.

Wann und wie einsetzen? Das Apache-Tutorial erklärt den sinnvollen Einsatz von .htaccess-Dateien.
Wann und wie einsetzen? Das Apache-Tutorial erklärt den sinnvollen Einsatz von .htaccess-Dateien.

Wollen Sie .htaccess-Dateien vermeiden, können Sie die Einträge stattdessen in einem <Directory>-Bereich definieren. Das sieht kaum anders aus. Ein .htaccess-Eintrag wie "AddType text/plain .txt" würde in einem <Directory>-Bereich zum Beispiel so aussehen:

<Directory /www/htdocs/texte>AddType text/plain .txt</Directory>