Sicherheitsoptimierte Uploads in WordPress

WordPress bietet mit der Mediathek standardmäßig ein halbwegs flexibles System für den Upload von Dateien wie Bildern, Videos und Dokumenten. Mit ein paar Anpassungen können wir ihre Installation unter WordPress, egal ob Standard oder Multisite, nicht nur effizienter, sondern auch sicherer gestalten. In diesem Artikel zeigen wir auf, wie sich bestimmte Dateitypen in geschützten Ordnern speichern lassen, um dann den Zugriff auf diese Dateien mithilfe von weiteren Regeln bzw. Skripten besser sichern können.

Individuell die Pfade für Uploads anpassen

Die Pfade für den Upload von Dateien müssen entsprechend angepasst werden, in einer Multisite dynamisch für jeden Blog. Wir setzten zunächst unser Verzeichnis und weisen dann, abhängig von der Dateiendung, diesen den entsprechenden Ordner zu.

Das Zielverzeichnis bestimmen wir basierend auf der Dateiendung und verschieben die Datei beim Upload in die Mediathek im letzten Schritt. Zum Beispiel bewirken wir damit, dass alle Videos im Ordner protected/media gespeichert werden. Falls Zielordner noch nicht existieren sollten, werden diese automatisch erstellt.

Sicherheit erhöhen

Nachdem die Dateien nun an geschützten Speicherorten, unter voller Beibehaltung der Funktionalität der Mediathek in WordPress, abgelegt werden, können wir den Zugriff weiter einschränken. Entsprechende Regeln stellen sicher, dass im weitesten Sinne nur autorisierte Nutzer Zugriff auf die geschützten Dateien haben.

Diese Art von Einträgen bewirken, dass die Dateien nur angezeigt werden, wenn unsere eigene Domain die entsprechende (letzte) Verweisseite ist. Selbst wenn jemandem der direkte Link zur Datei bekannt ist, wird man jetzt auf eine andere Seite (z. B. Homepage oder Login statt zur eigentlichen Datei) umgeleitet, selbst wenn man in einem Mitgliedersystem angemeldet sein sollte.

Mitgliedermanagement

Zugriffe auf sensible Daten, gerade bei Plugins für Mitglieder auf bestimmte geschützte Dateien, können weiter eingeschränkt werden, indem nur angemeldeten Besucher:innen der Zugriff ermöglicht wird. Dies wird mit benutzerdefinierten Skripten und Funktionen, die uns WordPress von Haus aus mitliefert, umgesetzt.

Die bereits oben definierten Verzeichnisse, die nur für eingeloggte Benutzer zugänglich sein sollen, werden zunächst blockiert, sodass statt direktem Zugriff ein Aufruf nur noch über Skripte Zugriff haben.

Dieses überprüft als erstes, ob die angeforderte Datei existiert und sich im geschützten Verzeichnis befindet. Danach stellt es sicher, dass der Benutzer eingeloggt ist, bevor er Zugriff auf die Datei erhält bzw. verweigert den Zugriff, wenn Nutzer nicht eingeloggt sind und leitet diese zum Login um. Um insbesondere bei Dokumenten die Datei direkt im Browser anzuzeigen, anstatt einen Download zu starten, wird ein entsprechender Header gesetzt.

Da in der Mediathek standardmäßig direkte Links zu Dateien angezeigt werden, wurden diese durch einen Filter so angepasst, dass sie automatisch umgeleitet werden, wenn das File in einem geschützten Verzeichnis liegt. Die Anpassung funktioniert sowohl im Backend als auch im Frontend, sodass man immer den richtigen Link zur Datei erhält und nur auf diese zugreifen kann, wenn man eingeloggt ist.

Case Study

Indem Sie sensible Dateien in geschützte Ordner beim Hochladen in die Mediathek verschieben und deren Zugriff einschränken, verhindern Sie unautorisierte Downloads und verbessern die Datensicherheit der Website. Geeignet auch für geschlossene Mitgliedersysteme, wo diese Dateien weder öffentlich zugänglich noch durch Suchdienste erfasst werden sollen. Videos und Dokumente genießen nun besonderen Schutz, während Bilder allgemein zugänglich und durch Suchmaschinen indizierbar sind.

Die skriptbasierte Lösung, die hier zum Einsatz kommt, mag etwas komplizierter sein, schützt aber nicht nur die Dateien besser vor unbefugtem Zugriff, sondern ist darüber hinaus besonders nützlich für geschützte Dokumente oder Medieninhalte, die nur autorisierten Benutzer:innen zugänglich gemacht werden sollen.

Die Code- und Fallbeispiele sind nur für angemeldete Besucher:innen sichtbar.
Bitte loggen Sie sich hierfür mit Benutzername oder E-Mail und Passwort ein.

Log in

Diese Beispiele sollen zeigen, dass es sehr wohl möglich ist, sensible Dateien in der Mediathek besser zu schützen und unberechtigte Zugriffe zu reduzieren. Menschliches Fehlverhalten durch Download und Weitergabe bleibt jedoch davon unberührt. Falls weitere Fragen zu diesem Thema bestehen, hinterlasse als Mitglied gerne einen Kommentar auf dieser Seite oder kontaktiere uns direkt!

Druck nur für Mitglieder nach Anmeldung möglich.

Mitglied
 werden