Ordner aus der Verzeichnisliste in Apache2 ausschließen

Ordner aus der Verzeichnisliste in Apache2 ausschließen

Ich weiß, dass ich Verzeichniseinträge deaktivieren kann mit

Options -Indexes

in einem <Location>oder <Directory>, aber ich möchte, dass die Auflistung erfolgt. Das Problem ist, dass ich Dateien auf meinem Server hoste. Aber ich habe dort auch eine Weboberfläche für Pihole laufen. Also habe ich eine Regel eingerichtet, die den Zugriff auf /adminund /piholeverbietet, außer vom lokalen Netzwerk aus:

<Location ~ "/(pihole|admin)">
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        Allow from 192.168.1
</Location>

Dadurch werden auch die Einträge aus der Verzeichnisliste entfernt. Allerdings wird jedes Mal, wenn error.logjemand die Verzeichnisliste von einem Remote-Zugriff aus aufruft, ein Eintrag mit der Meldung „Zugriff verweigert“ erzeugt:

[Fri Jan 24 18:13:00.582417 2020] [access_compat:error] [pid 1633] [client XX.XX.XX.XX:60484] AH01797: client denied by server configuration: /var/www/html/pihole/

Dies wiederum bringt fail2ban durcheinander und führt dazu, dass Leute gesperrt werden, nur weil sie sich die Liste ansehen, die sie eigentlich sehen dürfen.

Wie kann ich das also beheben?

Meine Idee war, die beiden Einträge einfach von vornherein aus der Liste auszuschließen. Aber ich weiß nicht, wie das geht.
Ich habe versucht

<Location ~ "/(pihole|admin)">
    Options -Indexes
</Location>

Es werden jedoch weiterhin Protokolleinträge für verweigerten Zugriff generiert und ich werde nach fünf Versuchen gesperrt.

Antwort1

Ich habe das Problem behoben, indem ich zwei virtuelle Hosts eingerichtet habe. Einen für das Dateihosting und einen für Pihole. Ich halte sie mit zwei verschiedenen DNS-Einträgen voneinander getrennt. Das ist ein Workaround für die Frage und beantwortet sie nicht wirklich, aber es ist eine Lösung, mit der ich zufriedener bin als mit der, nach der ich gefragt habe.

verwandte Informationen