htaccess/htpsswd - Frage
benidikt
- webserver
Hallo,
ich bin bei SelfHTML auf einen Artikel über den Verzeichnisschutz mit einer .htaccess-File gestoßen.
Darin steht folgendes:
"Im Interesse der Sicherheit ist es günstiger, die Datei mit den Namen der Benutzer und ihren Passwörtern außerhalb des Web-Projekts auf dem Server abzulegen. Aber bei kaum einem Hosting-Angebot können Sie auf Systemverzeichnisse des Server-Rechners außerhalb des eigenen Web-Projekts zugreifen"
(http://de.selfhtml.org/servercgi/server/htaccess.htm#verzeichnisschutz)
Könnte mir das jemand erläutern? Wenn ich meine .htpsswd-Datei in dasselbe Verzeichnis wie die .htaccess-Datei stelle, kann doch eigentlich nichts passieren, denn das gesamte Verzeichnis (also auch die Passwortdatei) sind für HTTP-Zugriffe ohne Berechtigung sowieso gesperrt?
Sorry für diese wahrscheinlich absolute Anfängerfrage ;-)
Danke,
bene
Hallo bene,
Könnte mir das jemand erläutern? Wenn ich meine .htpsswd-Datei in dasselbe Verzeichnis wie die .htaccess-Datei stelle, kann doch eigentlich nichts passieren, denn das gesamte Verzeichnis (also auch die Passwortdatei) sind für HTTP-Zugriffe ohne Berechtigung sowieso gesperrt?
Eigentlich - ja.
Normalerweise sollten alle Dateien mit dem Präfix ".ht" per Config geschützt sein, und .htaccess sollte als AccessFileName gesetzt sein. Der folgende Config-Auszug veranlasst dies:
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
Nur: Wenn aus irgendeinem blöden Grund die Files-Direktive fehlt (oder inaktiv geschaltet wird), beispielsweise durch einen Fehler in der Config, dann kann plötzlich jeder Benutzer aus .htpasswd die gesamte .htpasswd lesen (in der Regel sind hier ja mehrere Benutzer definiert - ein Benutzer kann so also auch an die Passwörter der anderen Benutzer kommen).
Wenn nun noch .htaccess-Dateien nicht als AccessFileName gesetzt sind, sondern andere, kann plötzlich jeder alle Passwörter einlesen.
Dies sind natürlich alles Fälle, die nicht passieren sollten - möglich sind sie dennoch.
Der Sicherheit halber sollte man - falls man kann - die .htpasswd-Dateien an einem für Benutzer unzugänglichen Ort aufbewahren.
Grüße
Marc Reichelt || http://www.marcreichelt.de/