Springe zum Hauptinhalt
Universitäts­rechen­zentrum
Schreiben im Webspace: Risiken und Schutz

Für den Web­server schreib­bare Verzeich­nisse: Risiken und Schutz­maßnahmen

Normalerweise darf der Webserver Dateien und Verzeichnisse im Webspace nur lesen. Für manche Webanwendungen, z. B. Blogs oder Datei-Uploads, kann es erforderlich sein, dass dem Webserver der schreibende Zugriff auf ein Verzeichnis erlaubt werden muss. Damit sind erhebliche Risiken verbunden, für die es nur zum Teil technische Schutzmöglichkeiten gibt.

Solche Risiken sind z. B.:
  • Abgelegte Dateien können Schadsoftware enthalten (z. B. Viren).
  • Prinzipiell kann jedes auf dem Webserver laufende Programm in dieses Verzeichnis Daten schreiben (oder bei vorliegenden Rechten löschen und verändern). Das kann z. B. unbeabsichtigt passieren, aber auch böswillig durch Schadsoftware.
  • Werden abgelegte „Hacker-Scripte“ (PHP oder CGI) vom Webserver ausgeführt, kann weiterer Schaden entstehen (z. B. Datenmanipulation, Einbau von Datenschutz verletzendem JavaScript in HTML-Dateien).

Da der Webspace der zentralen Webserver im AFS-Dateisystem liegt, gelten hier besondere Bedingungen:

  • Vergebene Berechtigungen werden pro Verzeichnis erteilt und gelten dann für alle Dateien in diesem Verzeichnis.
  • Neu erzeugte Unterverzeichnisse „erben“ die Rechte des übergeordneten Verzeichnisses. D.h. wenn man in einem für den Webserver schreibbaren Verzeichnis weitere Verzeichnisse anlegt, sind diese wiederum schreibbar, wenn man die Rechte nicht nachträglich anpasst.
  • Unix-Rechte spielen (fast) keine Rolle.
  • Zur Einstellung der Zugriffsrechte siehe Zugriffsschutz auf Webdokumente im AFS-Dateisystem

Als Webautor haben Sie eine große Verantwortung mit solchen schreibbaren Verzeichnissen:

  • Planung: Welche Berechtigung ist im Dateisystem nötig, welcher Zugriffsschutz ist für den Webserver einzustellen?
  • Risikoabschätzung: Trotz technischer Maßnahmen bleibt oft ein Restrisiko. Für sensible Daten muss ggf. eine andere Lösung gesucht werden.
  • Korrekte Einstellung der Berechtigungen
  • Anmeldung des schreibbaren Verzeichnisses:
    • Um irrtümlich vergeben Rechte auszuschließen, werden die Schreibberechtigungen im Webspace täglich geprüft.
    • Für nicht angemeldete Verzeichnisse mit Schreibrecht werden die Rechte auf „Nur Lesen“ zurückgesetzt.
  • Regelmäßige Kontrollen der Berechtigungen für Ihre Verzeichnisse im Webspace und der Dateien, die sich in einem schreibbaren Verzeichnis befinden.

Bei all diesen Punkten unterstützen wir Sie gern: Kontaktieren Sie uns per E-Mail an .

Die folgende Übersicht zeigt Anwendungsbeispiele und Risiken sowie Schutzmaßnahmen für schreibbare Verzeichnisse. Dabei ist es unerheblich, ob die entsprechende Webanwendung bzw. das Upload-Script nur wenigen Personen zur Verfügung steht oder öffentlich ist.

1. Dateien im Upload-Verzeichnis können via Web nicht gelesen werden

Anwendungsbeispiele:
  • Schreiben von Log-Dateien
  • Einreichen von Papers für Tagungen zur Begutachtung
Missbrauchsrisiko
ohne Schutz:
gering
  • Dateien werden von Berechtigten übers Dateisystem „abgeholt“.
  • Diese müssen auf Virenbefall geprüft werden.
AFS-Rechte für das
Upload-Verzeichnis:
Upload-Verzeichnis sollte außerhalb vom Webspace sein, z.B. in einem Projektverzeichnis.
  • Dateien dürfen nur angelegt, aber nicht gelesen oder modifiziert werden:
    Auflisten / Betreten + neue Dateien ip:www-server li
  • Existierende Dateien dürfen nur modifiziert werden (funktioniert häufig mit PHP nicht):
    Auflisten / Betreten + Ändern, kein Lesen, keine neuen Dateien, kein Löschen ip:www-server lw
  • Dateien dürfen angelegt und modifiziert werden:
    Auflisten / Betreten + Ändern + neue Dateien, kein Lesen, kein Löschen ip:www-server liw
Einstellung .htaccess
im Uploadverzeichnis:
keine, da Webserver nicht lesen darf. Zur doppelten Sicherheit:
# Direkten Zugriff auf alle Dateien unterbinden
Require all denied
Restrisiko: Hochgeladene Dateien können Schadsoftware enthalten → Virenchecker verwenden.

 

2. Dateien im Upload-Verzeichnis sind im Web nur eingeschränkt lesbar (autorisierte Nutzer)

Anwendungsbeispiele:
  • Austausch von Dateien in geschlossener Nutzergruppe (ohne Begutachtung)
Missbrauchsrisiko
ohne Schutz:
hoch für die Zugriffsberechtigten, insb.
  • Gefahr durch von Fremden eingebrachte Scripte (PHP, CGI) mit schädlichem Code (z.B. zur Datenmanipulation)
  • Dateien können Schadsoftware enthalten.
AFS-Rechte für das
Upload-Verzeichnis:
Stellen Sie nur die Rechte ein, die unbedingt nötig sind. Das Risko steigt, je mehr Rechte eingeräumt werden:
  • Dateien dürfen nur modifiziert und gelesen werden:
    Lesen + Ändern, kein Löschen, keine neuen Dateien ip:www-server rlw
  • Dateien dürfen nur angelegt und gelesen werden:
    Lesen + neue Dateien, kein Ändern, kein Löschen ip:www-server rli
  • Dateien dürfen zusätzlich modifiziert werden:
    Lesen + Ändern + neue Dateien, kein Löschen ip:www-server rliw
  • Dateien dürfen zusätzlich gelöscht werden:
    Lesen + Ändern + neue Dateien + Löschen ip:www-server rlidw
Einstellung .htaccess
im Uploadverzeichnis:
siehe Einstellung der Zugriffskontrolle.
# Einstellung Zugriffsrechte, z.B.
AuthType shibboleth
ShibRequestSetting requireSession 1
Require shib-attr idmgroup urz:chemie_studenten

# Ausführung von PHP unterbinden
php_flag engine off

# Abschalten: cgi, SSI, Auflisten von Inhalten
Options -ExecCGI -Includes -Indexes

# Nur Dateien *.pdf und *.doc erlaubt
Require all denied
<Files ~ ".+\.(pdf|doc)$">
  Require all granted
</Files>
Restrisiko:
  • Hochgeladene Dateien können Schadsoftware enthalten → Virenchecker verwenden.
  • HTML-Dateien können Schadcode enthalten (JavaScript).

 

3. Dateien im Upload-Verzeichnis sind im Web öffentlich lesbar

Anwendungsbeispiele:
  • Hochladen von Dokumenten und Bildern, die sofort für alle sichtbar werden.
    Damit kein öffentlicher unkontrollierter Datenaustauschplatz geboten wird, muss das Upload-Script unbedingt mit Zugriffsschutz versehen sein (das allein reicht aber nicht aus)!
Missbrauchsrisiko
ohne Schutz:
sehr hoch
  • Rufschädigung durch fremd eingebrachte Dateien mit entsprechenden Inhalten
  • Gefahr durch von Fremden eingebrachte Scripte (PHP, CGI) mit schädlichem Code (z.B. zur Datenmanipulation)
  • Dateien können Schadsoftware enthalten.
AFS-Rechte für das
Upload-Verzeichnis:
Stellen Sie nur die Rechte ein, die unbedingt nötig sind. Das Risko steigt, je mehr Rechte eingeräumt werden:
  • Dateien dürfen nur modifiziert und gelesen werden:
    Lesen + Ändern, kein Löschen, keine neuen Dateien ip:www-server rlw
  • Dateien dürfen nur angelegt und gelesen werden:
    Lesen + neue Dateien, kein Ändern, kein Löschen ip:www-server rli
  • Dateien dürfen zusätzlich modifiziert werden:
    Lesen + Ändern + neue Dateien, kein Löschen ip:www-server rliw
  • Dateien dürfen zusätzlich gelöscht werden:
    Lesen + Ändern + neue Dateien + Löschen ip:www-server rlidw
Einstellung .htaccess
im Uploadverzeichnis:
# Ausführung von PHP unterbinden
php_flag engine off

# Abschalten: cgi, SSI, Auflisten von Inhalten
Options -ExecCGI -Includes -Indexes

# Ausliefern von .php, .php3 und .cgi - Dateien unterbinden
<Files ~ "\.(php3?|cgi)$">
  Require all denied
</Files>

# Nur Bild-Dateien: *.jpg, *.png, *.gif sind erlaubt,
# alle anderen sind nicht lesbar
Require all denied
<Files ~ ".+\.(jpg|png|gif)$">
 Require all granted
</Files>
Restrisiko:
  • Hochgeladene Dateien können Schadsoftware enthalten. Da alle die Dateien lesen können, ist die Verbreitung nicht kontrollierbar.
  • HTML-Dateien können Schadcode enthalten (JavaScript).
  • Infolgedessen können ganze Bereiche des Webservers gesperrt werden.

4. Software für Web-Anwendungen verlangt Schreibrechte

Setzt man ein Softwareprodukt für eine Webanwendung ein, z.B. für eine Webumfrage oder ein Content-Management-System, dann haben diese Pakete oft Forderungen, dass bestimmte Verzeichnisse schreibbar sein müssen. Welche Möglichkeiten hat man hier?

4.1. wenige definierte Verzeichnisse

  • z.B. für temporäre Dateien, Cache oder Upload
  • Prüfen Sie, ob eines der obigen Szenarios zutrifft, stellen Sie entsprechende Zugriffsrechte (AFS, .htaccess) ein, melden Sie die Verzeichnisse entsprechend an.
  • Wenn keines der Szenarien passt → 4.2

4.2 viele oder unbestimmbare Verzeichnis-Hierarchien

  • z.B. für das automatische Update oder Einspielen von Plug-ins
  • Diese Software ist nicht zum Betrieb auf den zentralen Web-Servern geeignet, weil das Sicherheitsrisiko zu hoch ist!
  • Hierfür empfehlen wir den Betrieb eines eigenen virtuellen Servers.

Sie sehen also auch hier, dass Sicherheit ihren Preis hat – die Konfiguration ist ziemlich komplex. Deshalb beraten wir Sie gern bei der Planung Ihrer Webprojekte. Ein nachträgliches Ändern bestehender Projekte zur Erhöhung der Sicherheit ist dagegen meist sehr schwierig und aufwändig.

Übrigens: Wenn Sie eine Upload-Fähigkeit für Ihr HOME-Verzeichnis brauchen (oder für andere Verzeichnisse, für die Sie eine Schreibberechtigung haben), können Sie auf eine fertige Lösung zurückgreifen: Benutzen Sie den Web-basierten Datei-Manager WFM des Login-Servers: https://wfm.hrz.tu-chemnitz.de/wfm/