Sichere File-Upload Felder anlegen
Konfiguration sicherer Felder vom Typ “File Upload” in Visforms
Sie können in Visforms Felder vom Typ “File Upload” definieren. Damit ermöglichen Sie dem Webseitenbenutzer, mit dem Formular Dateien auf Ihren Server hochzuladen. Dies stellt eine vielfach einsetzbare Funktionalität für ein Formular dar.
Achtung: Sie müssen sich aber bewusst sein, dass ein Dateiupload durch einen Nutzer immer mit einem gewissen Sicherheitsrisiko verbunden ist. Es handelt sich dabei um ein potenzielles Tor für Hacker Angriffe. Visforms bietet Ihnen größtmögliche Sicherheit bei der Verwendung von Upload Feldern. Sie sollten allerdings einige Dinge beachten, wenn Sie einen sicheren Dateiupload anbieten wollen.
Warum können Dateiuploads gefährlich sein?
Es gibt verschiedene Wege, auf denen Hacker versuchen in eine Webseite einzubrechen. Ein Mechanismus besteht darin, Dateien mit ausführbarer bösartige Software auf den Server hochzuladen und diese letztlich auch zur Ausführung zu bringen.
Dies ist ein langer Weg, aber schlecht geschützte Datei-Uploads sind hier der erste Schritt zum Erfolg des Hackens. Deshalb wird seitens der Hacker-Scene gezielt gesucht nach Sicherheitsmängel in Programmen, die einen Datei-Upload ermöglichen. Und wenn solche in weit verbreiteten Programmen gefunden werden, kommt es oft dazu, dass eine große Anzahl von Webseiten gehackt wird.
Warum ist Visforms sehr sicher?
Visforms verwendet alle Sicherheitsmechanismen und Verfahren des Joomla Frameworks, um den Datei Upload möglichst sicher zumachen. Alles Wissen der erfahrenen Joomla Sicherheitsexperten macht auch Visforms sicher.
Visforms bietet Ihnen viele Optionen zur Steuerung des Datei-Uploads, mit denen Sie Uploads zusätzlich absichern können. Denn damit ein Angriff auf Ihre Webseite auf diesem Weg zu Schaden führen kann, müssen eine ganze Menge Dinge zusammenkommen. Dagegen kann man sich sehr wohl schützen.
Legen Sie genau fest, welche Art von Datei hochgeladen werden darf
In der Sicht Formular bearbeiten legen Sie unter dem Reiter Erweitert über die Auflistung in Erlaubte Dateiendungen fest, welche Art von Datei hochgeladen werden darf. Überlegen Sie sich genau, welche Datei-Erweiterungen Sie zulassen und begrenzen Sie die Liste auf genau jene Werte.
Alle Datei-Erweiterungen werden als komma-separierte Liste eingegeben. Setzen Sie keine sogenannten “ausführbaren” Dateien wie .php oder .exe auf die Liste. Wenn Sie wollen, können Sie auch in der Feldkonfiguration auf Feld-Ebenen eine abweichende Liste erlaubter Datei-Erweiterungen festlegen. Diese Einstellung für dieses spezifische Feld überschreibt den Default aus der Formularkonfiguration.
Informationen über hochgeladene Dateien sind wertvoll
Wird eine Datei mit Visforms hochgeladen, so wird diese in einem Verzeichnis Ihrer Wahl abgelegt und anschließend umbenannt. Hierdurch wird verhindert, dass ein bösartiger Benutzer die hochgeladene Datei direkt über den Browser aufrufen und gegebenenfalls die Ausführung von Schadsoftware starten kann. Denn Name der Datei und das Ablage-Verzeichnis sind für ihn unbekannt.
Wollen Sie diesen Schutzmechanismen nutzen, dann legen Sie am besten ein Verzeichnis mit einem nicht leicht zu erratenden Namen als Upload-Verzeichnis an. Legen dieses Verzeichnis in der Formular-Option Verzeichnis für File-Upload als Upload-Verzeichnis fest.
Beachten Sie auch, dass jedes Verzeichnis eine “leere” index.html Datei enthalten sollte. Sie können z.B. die index.html Datei aus dem images-Verzeichnis Ihrer Joomla installation kopieren. Diese Datei verhindert, dass durch einen simplen Browser-Aufruf des Verzeichnisses, eine Liste der darin enthaltenen Dateien angezeigt wird. Auf diese Weise bleiben einem Hacker die Namen der Dateien, insbesondere die von ausführbaren Programm-Dateien verborgen.
Sie können dem Nutzer Ihrer Webseite in der E-Mail für den Webseitennutzer auch die übertragenen Formulardaten übermitteln. Für diese E-Mail können Sie In der Formular-Konfiguration unter dem Reiter “E-Mail Konfiguration” die beiden Optionen Download link zeigen und File Upload Dateien auf “nein” setzen. In der E-Mail wird dann nur der ursprüngliche Dateiname vor der Umbenennung angezeigt.
Bitte beachten Sie, dass es die Option “File Upload Dateien” sowohl für die Ergebnismail als auch für die Benutzermail gibt. Passen Sie also bitte auf, dass Sie die richtige Option einstellen.
Vorsicht: Falls sie die Option Download link zeigen auf "ja" setzen, erhält der Nutzer einen direkten Link zur hochgeladenen Datei. Überlegen Sie sich sehr genau, ob das wirklich nötig ist und wem Sie das erlauben!
Wenn Sie die Option File Upload Dateien für die E-Mail für den Webseitennutzer auf “ja” setzen, wird die hochgeladene Datei an die E-Mail für den Webseitennutzer angehängt. Ein Webseitennutzer erhält hiermit auch den Dateinamen nach dem Hochladen, also den Namen der umbenannten Datei.
Hinweis: Die Option Download link zeigen wird gleichzeitig zur Steuerung der Ergebnis-Mail (an Sie) und zur Steuerung der Mail für den Webseitennutzer verwendet. Sie können aber die Option File Upload Dateien für die Ergebnis Mail auf "ja" setzen. Dann erhalten Sie die hochgeladene Datei als Anhang der E-Mail und haben so einen einfachen Zugriff auf die Datei.
Visforms bietet die Möglichkeit übermittelte Daten zu speichern und später im Frontend anzuzeigen. Eine ausführliche Anleitung finden Sie im Artikel über das Speichern von Formulardaten: Daten speichern und nutzen. Wichtig im Zusammenhang mit der Sicherheit von Upload-Feldern ist hierbei, dass Sie für jedes Formularfeld in der Sicht Feld bearbeiten unter dem Reiter Erweitert individuell festlegen können, ob es im Frontend angezeigt werden soll oder nicht.
Bei Feldern vom Typ File Upload gibt es zusätzlich im Reiter Grundeinstellungen die Option Im Frontend Link anzeigen die als Default abgewählt ist. Sie sollten sich der Sicherheitsrisiken bewusst sein, wenn Sie Upload-Felder im Frontend anzeigen und/oder diese Option aktivieren.
Allgemeine Regeln zu Schutz Ihrer Webseite
Vielleicht hat diese etwas längere Ausführung ihre Aufmerksamkeit auf die Frage der Sicherheit Ihrer Joomla Webseite gerichtet und Sie möchten mehr zu diesem Thema erfahren.
Joomla gilt als eines der sichersten CMS überhaupt. Das spiegelt sich auch darin wider, dass es viel gute Literatur zu diesem Thema gibt. Aber das allein reicht nicht aus. Um Ihre Webseite sicherzumachen, müssen Sie:
- die Risiken verstehen,
- die grundsätzlichen Sicherheitsregeln beachten und
- pro-aktiv handeln.
Die folgenden Webseiten haben mir hierbei sehr weitergeholfen.
Es gibt eine eigene sehr umfangreiche und gute deutschsprachige Webseite, die sich ausschließlich mit Fragen zur Joomla Security beschäftigt: Joomla Security.
Insbesondere der deutsche Artikel darüber eine Joomla Webseite mit htaccess zu schützen, ist sehr interessant: htaccess-Einstellungen in Joomla.
Selbstverständlich gibt es auch in der englischsprachigen Documentation sehr gute Informationen zum Thema: Joomla Security Guide.
Zuletzt möchte ich Sie noch auf die immer sehr aktuelle Liste der bekannten “Vulnerable Extensions” aufmerksam machen: Vulnerable Extensions.
Ganz unten auf dieser Seite haben Sie die Möglichkeit sich in einen E-Mail Verteiler aufnehmen zu lassen. Über diesen Verteiler werden Sie sofort informiert, wenn bekannt wird, dass eine Joomla! Erweiterung Sicherheitslücken bekommen hat. Es wird selbstverständlich auch darüber informiert, wenn Lücken geschlossen wurden.
Diese Informationen sind sehr wertvoll. Wenn Hacker ein größeres Loch gefunden haben, erhalten Sie innerhalb kurzer Zeit eine ganze Menge an Mails. Ansonsten ist es oft monatelang sehr ruhig. Ein interessanter Effekt dabei ist auch, dass Sie anhand der “gelöst” Mails erkennen können, welche Erweiterungen intensiv gepflegt werden und welche eben nicht.