Konfigurationsdateien im Apache sperren

Alle Dateien die nicht von Apache bzw. PHP verarbeitet werden, werden im Klartext im Browser des Besuchers angezeigt. Dateien, die sensible Informationen wie Kennwörter enthalten, können so auch eingesehen werden.

Ein übliches Vorgehen ist es solche Dateien erst gar nicht in das root Verzeichnis abzulegen, sondern auf gleicher Ebene parallel zum htdocs-Ordner. Da dies mitunter nicht möglich ist, werden Dateien mit der Endung .inc in einem Unterordner abgelegt und sind so für Besucher einsehbar.

Um dies zu vermeiden hilft die folgende Einstellung die man im jeweiligen vhost von Apache hinterlegt:

<Files ~ “\.inc$”>
Order allow,deny
Deny from all
</Files>

Ruft ein Besucher nun diese Datei auf, so erhält er eine Fehlermeldung statt dem Inhalt der Datei. Von PHP aus ist der Zugriff auf die Datei weiterhin möglich um z.B. Kennwörter zur Datenbank auszulesen.

Wie kann ich mein Datenbankpasswort gegen Spionage sichern?

Author: admirableadmin

Hello World! Ich bin Andreas Peichert und entwickle und programmiere Software seit 2000. Zurzeit arbeite ich als Senior Solution Architect.

One thought on “Konfigurationsdateien im Apache sperren”

  1. Ich fürchte, solche Ratschläge sind ein Grund, warum über PHP noch immer als “unsichere Kiddie-Sprache” etc. gilt. Die einzige Dateiendung für PHP-Dateien ist “.php”, auch wenn sie irgendwo inkludiert werden!

    Passwörter durch falsche Dateiendungen öffentlich zu machen ist eine Katastrophe und sollte nicht noch als Best Practice weiterverbreitet werden! Solch eine “Sicherung” setzt viel zu spät an und ist äußerst labil; spätestens bei Umzug oder Weitergabe des Codes ist der Mist wieder akut.

    Die Konstellation mit vorhandenem Zugriff auf die Konfiguration des vHosts, jedoch ohne Einfluss auf DocumentRoot kommt mir übrigens ein wenig konstruiert vor.

Leave a Reply

Your email address will not be published. Required fields are marked *