Apache zugriff auf Dateien verbieten

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache zugriff auf Dateien verbieten

Postby rstorm » 07. August 2016 19:51

Hallo Liebe Gemeinde,

bitte bitte nicht Steinigen, ich bin neu in der Materie mit dem Apache Server und hab ein kleines Problem. Ich habe zwar schon Google gequält aber keine Infos bekommen. Auch weiss ich nicht genau unter welchen Begriffen ich in der Suche suchen soll. Habe zwar schon versucht, aber ohne erfolg.

so jetzt mal zu meinen Problem:
Ich habe einen Apache Laufen und über die Option "Options -Indexes" den Zugriff auf die Dateiebene verboten. Rufe ich jetzt z.B. eine Datei direkt auf in einem Verzeichnis (z.B. www.servername.de/config/config.xml) kann ich diese Datei öffnen. Rufe ich nur den Pfad auf www.servername.de/config kommt "Forbidden You don't have permission to access /config/ on this server.".

Wie kann ich den Server jetzt dazu bringen das er mir auch die Dateien bei direkten Zugriff nicht anzeigt. Oder zumindest nur in dem Config Verzeichnis?

Danke schon mal

Grüsse Rudolf
rstorm
 
Posts: 2
Joined: 07. August 2016 19:36
XAMPP version: -
Operating System: Ubuntu

Re: Apache zugriff auf Dateien verbieten

Postby Nobbie » 08. August 2016 10:50

Da gibt es die unterschiedlichsten Möglichkeiten, die primitivsten zu erst:

a) das gewünschte Verzeichnis erst gar nicht unter DocumentRoot (bzw. htdocs Ordner) legen.

b) den Dateien im Verzeichnis kryptische Namen geben (wer nicht weiß, dass eine Datei "popolopo" heißt, wird auch nicht darauf kommen, so etwas einzugeben)

c) mit Apache Konfiguration.
1) "alter" Apache (vor Apache 2.3): mit der "Allow From ...." Direktive
2) neuerer Apache: mit der "Require ...." Klausel

Jeweils nach "Apache Allow From" und/oder "Apache Require" googlen, da gibt es nicht nur die Originaldoku von https://httpd.apache.org/doc sondern auch tonnenweise Artikel und Tutorial

d) mit Betriebssystemmitteln die Dateirechte der Dateien oder des ganzen Ordner so verbiegen, dass Apache (der von einem bestimmten User ausgeführt wird) keine Leserechte besitzt.

Je nachdem, für welche Option man sich entscheidet, ist natürlich zu beachten, dass ggf. eine bestimmte Software nicht mehr läuft, weil sie darauf angewiesen ist, bestimmte Dateien zu lesen.

Die Konfiguration und der Betrieb von Apache ist ein sehr komplexes und umfangreiches Thema, das kann man nicht mal eben in ein paar Fragen in einem Forum abklären. Ich würde Dir empfehlen, intensiv Tutorials und Dokumentationen durchzuarbeiten, das Internet ist voll davon. Die Standardfloskel "ich habe schon Google gequält, aber keine Infos bekommen" halte ich für frei erfunden, wenn ich schon einfach nur den Betreff eingebe "Apache zugriff auf Dateien verbieten", bekomme ich ca. 30500(!) Treffer und schon auf der ersten Seite ist kein einziger dabei, der sich nicht genau mit dieser Materie beschäftigt. Infos satt und satter!
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Re: Apache zugriff auf Dateien verbieten

Postby rstorm » 08. August 2016 15:00

Hallo Nobbie,

danke für deine Antwort. Ja ich gebe dir Recht, das mit der Suche. Hab zwar mit Google gesucht, aber dann aber eher die Ergebnisse (Überschriften der Themen) überflogen und nicht richtig gelesen.

Habe es aber jetzt hinbekommen (über Google suche und genauerem lesen :D ) über einen Eintrag in der "/etc/apache2/apache2.conf" habe dort einen neuen Eintrag gemacht:
(<Files > ... </Files> )

Code: Select all
<Directory /pfad/zum/config/ordner>
        Options -Indexes +FollowSymLinks
        AllowOverride None
        Require all granted

        <Files *.xml>
            Order deny,allow
            Deny from all
        </Files>

</Directory>


Dir noch mal danke für deine Antwort.

Gruesse
rstorm
 
Posts: 2
Joined: 07. August 2016 19:36
XAMPP version: -
Operating System: Ubuntu

Re: Apache zugriff auf Dateien verbieten

Postby Nobbie » 08. August 2016 18:37

Diese "Lösung" ist querständig, Apache versteht entweder "Require all granted" oder "Deny from All".

Beides zusammen sieht nur scheinbar wie eine Lösung aus, die notwendigen Rechte oder Verbote kommen offensichtlich von darüberliegenden Ordnern (sie pflanzen sich automatisch nach unten fort). Je nach Apache Version versteht er eben nur Require oder nur Deny (bzw. Allow). Das ist also sehr unsauber und zufällig, dass es passt. Du solltest die Apache Version herausfinden und dementsprechend die Klauseln anpassen.
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests