Frage

Ich frage mich, ob ein Web-Verzeichnis mit einer .htaccess-Datei zu schützen (mit der .htpasswd Datei außerhalb der öffentlichen Apache Webroot) eine sichere Art und Weise ist ein Verzeichnis (und dessen Inhalt) zu schützen.

Könnte jemand die das erklären und Don'ts dieser Art von Schutz?

War es hilfreich?

Lösung

Die Authentifizierung wird über das Netz ungeschützt weitergegeben werden, wenn Sie das Standard-HTTP-Protokoll verwenden. Dies ist nicht als sicher angesehen, als könnte jemand das Passwort schnuppern.

Wenn Sie Zugang beschränken auf https es ziemlich sicher ist. Dies würde bedeuten, das Apache-Modul für die SSL-verschlüsselten HTTP-Verkehr installieren und aktivieren (Port 433, https: // in der Adresszeile des Browsers) und deaktivieren Sie den Standard-HTTP-Datenverkehr für dieses Verzeichnis auf Port 80. Benutzername und Passwort seines ssl verschlüsselt. Achten Sie darauf, ein gutes Passwort wählen (lang und komplex genug, nicht möglich zu erraten oder Brute-Force).

Apache-Konfiguration kann tückisch sein, so viel Pflege nimmt es einfach und Test gegen mögliche Fehler zu halten.

Es kann eine gute Idee sein, die Zugriffsbeschränkung Konfiguration aus der .htaccess-Datei in die Haupt Apache-Konfigurationsdatei zu verschieben, wenn Sie Wissen und die Kontrolle über sie haben. Könnte auch einfacher für Sie, es in der .htaccess-Datei zu halten. Und „easy“ kann sicherer sein. Machen Sie es wie es sich anfühlt einfach und sicher und einfach zu warten und denken Sie daran für Sie.

Dies ist eine einfache Einrichtung zur Erhöhung der Sicherheit und zum Schutz gegen Unfälle:

Wenn Sie PHP und E-Mail auf dem Computer konfiguriert haben, wo das geschützte Verzeichnis ist, dass Sie einen einfachen Alarm Skript schreiben können. Nur eine PHP-Datei „alarm.php“ mit einer einzigen Zeile mit der PHP-Mail-Funktion, die Ihnen eine E-Mail sendet, können Sie diese .htaccess Schutz zu sagen funktioniert nicht.

Wenn Sie Ihre Domain und Verzeichnispfad ist „ http://mybox.example.com/secretdir /alarm.php “können Sie dies in einem Browser auf einem anderen Computer eingeben und Sie sollten so lange, dass die E-Mail erhalten, wie .htaccess‚geöffnet‘ist. Wenn es geschützt ist, können Sie den Benutzernamen und das Passwort eingeben und Sie werden auch die E-Mail erhalten.

Um einen automatischen Alarm macht dies aus Sie einen anderen Unix-Rechner verwenden könnten, dass diese URL alle 15 Minuten oder so zu bekommen versucht. Die Linie für die crontab:

* / 15 * * * * benutzer1 wget http://mybox.example.com/ secretdir / alarm.php

user1 ist ein Benutzer auf dieser Maschine, die erlaubt ist wget zu laufen, und wget muss installiert sein.

Sie können den .htaccess-Schutz als Test deaktivieren und der Mail alle 15 Minuten.

Aus meiner Erfahrung ist es eine gemeinsame Sicherheitslücke, die ein Verzeichnis, das Sie denken, geschützt sein Schutz verliert, wenn Sie etwas ändern, und Sie sind sich nicht bewusst, auf diese Weise Sie die E-Mail erhalten, die Sie warnt.

Andere Tipps

Soweit ich weiß, htaccess ist einfach zu hacken, wenn sie abgefangen hat (F. E. Sie sind von einem Internet-Café mit einem Netzwerk-Sniffer Laufe Anmeldung). Soweit ich weiß , Digest-Authentifizierung über dieses Problem zu erhalten hilft.

.htaccess ist ziemlich Standard Art und Weise, wie pro-Verzeichnis Konfigurationsänderungen für Ressourcen, die von Apache HTTPD in Fällen, in denen Sie auf nicht hat Zugriff zur Hauptkonfigurationsdatei / nicht mit Root-Zugriff serviert zu machen.

Wenn Sie Zugriff auf Hauptkonfiguration haben, ist es viel einfacher, die gesamte Konfiguration haben (einschließlich Authentifizierung) an einer zentralen Stelle platziert (auch wenn es in mehrere Dateien aufgeteilt wird), wo es ist nicht so leicht zu übersehen. Ich kann aus meiner Erfahrung sagen, es ist nur eine Frage der Zeit, bevor Sie Ihre .htaccess Dateien vergessen.

Offizielle Dokumentation wird mehrfach erwähnt, dass die .htaccess Dateien verwenden soll, wenn möglich, vermieden werden.

Wenn die Verwendung von .htaccess Ihre einzige Wahl ist, stellen Sie sicher, dass Sie folgen allgemeine Sicherheitsvorkehrungen wie bei Haupt HTTPD Config, dh verhindern unbefugte Benutzer sie zu lesen, Dateien sind lesbar Server, stellen Sie sicher, dass Sie bekam Verzeichnisliste deaktiviert, immer darauf achten, Kennwort werden verschlüsselt / gehasht Format gespeichert, etc.

Für mehr Informationen, bitte prüfen Apache htaccess Tutorial

Eine .htaccess-Datei ist recht praktisch, aber ... das wird Sie nicht von jemand ausnutzt Ihr Code zu schützen und zu lesen jede Datei, die er will. Wenn Ihre Website (auch nur ein kleines Skript) wird ausgenutzt, noch .htaccess noch andere Lösungen schützen Sie, wie der Hacker Rechte des Benutzers gewinnen wird das Skript ausgeführt wird (in der Regel www-data).

Dies ist besonders schmerzhaft in CGI, aber andere Skripte auch gehackt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top