Szenario
Ich erstelle ein WordPress-Plugin für meine eigenen Sites, das Zugriff auf die Hauptdatei der Site benötigt .htaccess
.
Über ein Installationsskript kann ich das „ .htaccess
Von 644
“ ändern 664
, sodass mein Server (Apache2) direkt dorthin schreiben kann .htaccess
.
Frage
Was mir Sorgen bereitet, ist die eingeschränkte Sicherheit. Setze ich mich hier einer Flut potenzieller Angriffe aus? Wenn ja, was ist ein besserer Vorschlag, um mein .htaccess
Dokument für WordPress, d. h. Apache, beschreibbar zu machen?
BEARBEITEN
Der Benutzer apache2 befindet sich www-data
auf einem Server, ist aber auf einem anderen Server, je nach den Einstellungen des Hosts, ein anderer Benutzer. Darauf muss ich vorbereitet sein.
Antwort1
Dies ist eine alte Frage, daher bin ich nicht sicher, ob sie noch relevant ist, aber hier ist meine Meinung dazu.
Ich glaube nicht, dass Sie zu viel darüber nachdenken, denn die Datei ist tatsächlich beschreibbar. Wenn also irgendetwas Verdächtiges auf dem Server passiert – z. B. ein Angriff, der auf dem Ändern/Erstellen von Dateien auf dem Server basiert –, ist es für einen Angreifer einfacher, den Server zu kompromittieren oder bestimmte Einstellungen anzupassen, die mit .htaccess angepasst werden können.
Sie können beispielsweise auch PHP-Einstellungen ändern – etwa die maximale Datei-Uploadgröße und Ausführungszeiten sowie eine Reihe anderer Konfigurationseinstellungen, die ein Angreifer doch nicht ändern soll, oder? ;)
Ich würde es also auf 440 setzen und in einer Produktionsumgebung immer manuell bearbeiten, da es dort ohnehin nicht so oft geändert werden sollte (wenn Sie neue Sachen bereitstellen, ändern Sie es einmal auf das gewünschte Setup und das war’s).
In einer Beta-/Entwicklungsumgebung möchten Sie Ihren Entwicklern jedoch möglicherweise das Leben leichter machen, indem Sie den Wert für Entwicklungszwecke einfach bei 660 belassen, nachdem Sie andere Sicherheitsrisiken sorgfältig geprüft haben, z. B. was sich sonst noch auf demselben Server befindet (gibt es andere Sites mit vertraulichen Daten usw.).
Vertrauen Sie darauf, dass das Sinn ergibt. OP hat dieses Problem wahrscheinlich schon längst überwunden, aber ich hoffe, es hilft anderen, die über diese Frage stolpern.
Antwort2
Was auch immer Sie tun, um die Datei für Apache beschreibbar zu machen, wird dafür sorgen, dass die Datei für Apache beschreibbar bleibt.
Wenn Sie nur eine begrenzte Anzahl von Optionen wünschen, die Apache ändern kann, können Sie ein Setuid-Programm erstellen, das diese Änderungen basierend auf einer Eingabe vornimmt, die vom Programm überprüft wird. Das Programm sollte nicht auf root gesetzt sein, sondern auf einen Benutzer, der nur Eigentümer der Datei ist.