Sollten Plugin-Ordner eine leere index.php-Datei enthalten?


16

WordPress selbst enthält im wp-contentOrdner eine leere PHP-Datei, die so aussieht.

<?php
// Silence is golden.
?>

Sollten Plugins auch eine leere Datei wie diese enthalten, um die Anzeige des Inhalts eines Verzeichnisses zu stoppen? Was ist mit zusätzlichen Ordnern in Themen - wie einem includesVerzeichnis?


1
Ja, das ist wahrscheinlich eine gute Idee. Nie verstanden, warum WP nicht Options –Indexesin der gebündelten htaccess hat, so dass diese Dateien nicht erforderlich wären ...
onetrickpony

Antworten:


17

Nein, das sollten sie nicht. Wenn ein Plugin Sicherheitslücken aufweist, nur weil jemand seine Verzeichnisstruktur sieht, ist es defekt. Diese Fehler sollten behoben sein.
Sicherheit durch Dunkelheit ist ein Fehler für sich.

Es ist Sache des Websitebesitzers, das Durchsuchen von Verzeichnissen zuzulassen oder zu verbieten.

Ein zweites Problem ist die Leistung: WordPress durchsucht alle PHP-Dateien im Stammverzeichnis eines Plugins nach Plugin-Headern. Auf diese Weise können Sie mehrere Plugins in demselben Verzeichnis haben, z /wp-content/plugins/wpse-examples/.

Es bedeutet auch, dass nicht verwendete PHP-Dateien in diesem Verzeichnis Zeit und Speicher verschwenden, wenn WordPress nach Plugins sucht. Eine Datei wird nicht viel Schaden anrichten, aber stellen Sie sich vor, dass dies allgemein üblich ist. Sie erstellen ein echtes Problem, um ein fiktives Problem zu beheben.


2
Msgstr "Es ist Sache des Site - Inhabers, das Durchsuchen von Verzeichnissen zuzulassen oder zu verbieten." Das ist wahrscheinlich der entscheidende Punkt.
Chrisguitarguy

und meine Hauptfrage ist, warum nicht die Haupt-Plugin-Dateien nicht geschrieben index.php? Das könnte eine optimale
Lösung sein

10

Ich werde JA sagen. Sicherheit durch Dunkelheit funktioniert, wenn Sie dunkler sind als Ihre Nachbarn.

Die Realität ist, dass die Bots / Scanner jetzt die Plugin-Listen direkt von wordpress.org kompilieren und die Plugin-URL direkt crawlen, Versionen für bekannte Exploits abtasten und die Informationen als Referenz in einer Datenbank aufbewahren.

Welches möchten Sie haben? Ein Bot kann keine Informationen zu Ihrer Installation sammeln oder überlässt es dem Autor des Plugins, um sicherzustellen, dass Sie sicher sind. Wie wäre es mit beidem?

ps. Nebenbei bemerkt gab es im letzten Jahr 186 gemeldete Exploits von wordpress.org-Plugins (* gemeldet ..).


1
Exploit-Scanner testen nicht, ob das Plugin vorhanden ist. Sie versuchen, den Exploit bei der ersten Anforderung auszuführen. Eine leere index.phpwürde nichts schützen, Sie würden nur ein falsches Gefühl der Sicherheit bekommen.
fuxia

Sie scannen jedoch (einen von vielen) Fingerabdrücke von mehr als 2200 Plug-ins und verwenden angemessene Fingerabdrücke, um Versionen zu erkennen (Dateigröße, Dateizusätze usw.).
Wyck

Ich habe Dutzende von gehackten WordPress-Sites aufgeräumt. Fast immer war die erste Anfrage ein echter Angriff. Das ist nur zumutbar: Warum Zeit mit einem detaillierten Scan verschwenden, wenn Sie die Sicherheitsanfälligkeit in der ersten Anforderung testen können? Verfolgen Sie Ihre 404s , um es zu sehen. :)
fuxia

1
Ich bin damit einverstanden, dass dies dem Endbenutzer und nicht dem Autor überlassen bleibt. Aber ich glaube auch nicht, dass es weh tut. Ich wollte nur einen Kontrapunkt hinzufügen, da Sie "nein" sagten.
Wyck

1
markierte diesen als akzeptiert wegen der Kommentardebatte!
Chrisguitarguy

1

Da WordPress Core dies tut, ist es sinnvoll, dass Plugins diesem Beispiel folgen. Obwohl all dies mit verschiedenen serverseitigen Einstellungen geschützt werden kann, schadet es nicht, einen Standard zu haben (wahrscheinlich, warum WordPress Core dies tut).


0

Wie Fuxia betonte, ist es ein Leistungsmangel, eine zusätzliche .phpDatei zu haben, die von WordPress nach Plugins durchsucht werden kann . Eine index.htmlwäre wahrscheinlich eine bessere Option. Die beste Option wäre natürlich, das Durchsuchen des Verzeichnisses über den Webserver zu verbieten.

Und Sicherheit durch Dunkelheit ist auch nicht gut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.